Initial commit: Kivy database interface application with search, add/update, delete functionality and Windows build support
This commit is contained in:
101
test_database.py
Normal file
101
test_database.py
Normal file
@@ -0,0 +1,101 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script for the MariaDB Database Manager
|
||||
This script tests the basic functionality without the GUI
|
||||
"""
|
||||
|
||||
from database_manager import DatabaseManager
|
||||
|
||||
def test_database_operations():
|
||||
print("Testing MariaDB Database Manager...")
|
||||
print("-" * 40)
|
||||
|
||||
# Initialize database
|
||||
db = DatabaseManager()
|
||||
|
||||
# Test 1: Add some initial data
|
||||
print("1. Adding initial test data...")
|
||||
test_data = [
|
||||
("SYS001", 125.5),
|
||||
("SYS002", 89.7),
|
||||
("SYS003", 234.1)
|
||||
]
|
||||
|
||||
for record_id, mass in test_data:
|
||||
success = db.add_or_update_record(record_id, mass)
|
||||
print(f" Added {record_id}: {'✓' if success else '✗'}")
|
||||
|
||||
print()
|
||||
|
||||
# Test 2: Read all data
|
||||
print("2. Reading all data...")
|
||||
records = db.read_all_data()
|
||||
for record in records:
|
||||
print(f" ID: {record[0]}, Mass: {record[1]}")
|
||||
print(f" Total records: {len(records)}")
|
||||
print()
|
||||
|
||||
# Test 3: Search for existing record
|
||||
print("3. Searching for existing record 'SYS001'...")
|
||||
result = db.search_by_id("SYS001")
|
||||
if result:
|
||||
print(f" Found: {result[0]} = {result[1]}")
|
||||
else:
|
||||
print(" Not found")
|
||||
print()
|
||||
|
||||
# Test 4: Search for non-existing record
|
||||
print("4. Searching for non-existing record 'SYS999'...")
|
||||
result = db.search_by_id("SYS999")
|
||||
if result:
|
||||
print(f" Found: {result[0]} = {result[1]}")
|
||||
else:
|
||||
print(" Not found - this is expected!")
|
||||
print()
|
||||
|
||||
# Test 5: Add the missing record
|
||||
print("5. Adding the missing record 'SYS999'...")
|
||||
success = db.add_or_update_record("SYS999", 456.8)
|
||||
print(f" Added SYS999: {'✓' if success else '✗'}")
|
||||
|
||||
# Verify it was added
|
||||
result = db.search_by_id("SYS999")
|
||||
if result:
|
||||
print(f" Verification: Found {result[0]} = {result[1]}")
|
||||
print()
|
||||
|
||||
# Test 6: Update existing record
|
||||
print("6. Updating existing record 'SYS001'...")
|
||||
success = db.add_or_update_record("SYS001", 150.0)
|
||||
print(f" Updated SYS001: {'✓' if success else '✗'}")
|
||||
|
||||
result = db.search_by_id("SYS001")
|
||||
if result:
|
||||
print(f" New value: {result[0]} = {result[1]}")
|
||||
print()
|
||||
|
||||
# Test 7: Final count
|
||||
print("7. Final database state...")
|
||||
records = db.read_all_data()
|
||||
print(f" Total records: {len(records)}")
|
||||
for record in records:
|
||||
print(f" {record[0]} = {record[1]}")
|
||||
print()
|
||||
|
||||
# Test 8: Delete a record
|
||||
print("8. Testing delete functionality...")
|
||||
success = db.delete_record("SYS999")
|
||||
print(f" Deleted SYS999: {'✓' if success else '✗'}")
|
||||
|
||||
final_records = db.read_all_data()
|
||||
print(f" Final record count: {len(final_records)}")
|
||||
print()
|
||||
|
||||
# Close connection
|
||||
db.close_connection()
|
||||
|
||||
print("✓ All tests completed successfully!")
|
||||
print("Note: Test records remain in the MariaDB database.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_database_operations()
|
||||
Reference in New Issue
Block a user