//! Namespace operations test //! //! This script tests namespace creation and management operations. print("=== Namespace Operations Test ==="); // Test 1: Create manager print("Test 1: Creating KubernetesManager..."); let km = kubernetes_manager_new("default"); print("✓ Manager created for namespace: " + namespace(km)); // Test 2: Namespace existence checks print("\nTest 2: Testing namespace existence..."); try { // Test that default namespace exists let default_exists = namespace_exists(km, "default"); print("✓ Default namespace exists: " + default_exists); assert(default_exists, "Default namespace should exist"); // Test non-existent namespace let fake_exists = namespace_exists(km, "definitely-does-not-exist-12345"); print("✓ Non-existent namespace check: " + fake_exists); assert(!fake_exists, "Non-existent namespace should not exist"); } catch(e) { print("Note: Namespace existence tests failed (likely no cluster): " + e); } // Test 3: Namespace creation (if cluster is available) print("\nTest 3: Testing namespace creation..."); let test_namespaces = [ "rhai-test-namespace-1", "rhai-test-namespace-2" ]; for test_ns in test_namespaces { try { print("Creating namespace: " + test_ns); namespace_create(km, test_ns); print("✓ Created namespace: " + test_ns); // Verify it exists let exists = namespace_exists(km, test_ns); print("✓ Verified namespace exists: " + exists); // Test idempotent creation namespace_create(km, test_ns); print("✓ Idempotent creation successful for: " + test_ns); } catch(e) { print("Note: Namespace creation failed for " + test_ns + " (likely no cluster or permissions): " + e); } } // Test 4: List all namespaces print("\nTest 4: Listing all namespaces..."); try { let all_namespaces = namespaces_list(km); print("✓ Found " + all_namespaces.len() + " total namespaces"); // Check for our test namespaces for test_ns in test_namespaces { let found = false; for ns in all_namespaces { if ns == test_ns { found = true; break; } } if found { print("✓ Found test namespace in list: " + test_ns); } } } catch(e) { print("Note: Namespace listing failed (likely no cluster): " + e); } print("\n--- Cleanup Instructions ---"); print("To clean up test namespaces, run:"); for test_ns in test_namespaces { print(" kubectl delete namespace " + test_ns); } print("\n=== Namespace operations test completed! ===");