#!/usr/bin/env python3 """Test script to verify secret environment variable naming fix.""" from jockey.backend.models.secret import SecretRef def test_secret_ref_transformations(): """Test that SecretRef properly transforms between formats.""" # Test case 1: Creating from lowercase secret name secret_ref = SecretRef(key="agentops-api-key") print(f"Input key: {secret_ref.key}") print(f"Safe name (k8s secret): {secret_ref.safe_name}") print(f"Env name (env var): {secret_ref.env_name}") # Generate the env var env_var = secret_ref.to_env_var() print(f"\nGenerated env var:") print(f" name: {env_var.name}") print(f" secret_name: {env_var.value_from.secret_key_ref.name}") print(f" secret_key: {env_var.value_from.secret_key_ref.key}") assert env_var.name == "AGENTOPS_API_KEY", f"Expected AGENTOPS_API_KEY, got {env_var.name}" assert env_var.value_from.secret_key_ref.name == "agentops-api-key" assert env_var.value_from.secret_key_ref.key == "AGENTOPS_API_KEY" print("\nāœ“ Test case 1 passed!") # Test case 2: Creating with explicit env var name secret_ref2 = SecretRef(key="my-secret", env_var_name="CUSTOM_ENV_NAME") env_var2 = secret_ref2.to_env_var() print(f"\nTest case 2:") print(f" env var name: {env_var2.name}") assert env_var2.name == "CUSTOM_ENV_NAME" print("āœ“ Test case 2 passed!") # Test case 3: Test create_secret function from jockey.deploy import create_secret print("\n\nTesting create_secret function:") print("Input: key='agentops-api-key', value='test-value'") # This would normally create the secret in k8s, but we'll just check the data structure from jockey.backend.models.secret import Secret # Simulate what create_secret does key = "agentops-api-key" data_key = key.upper().replace('-', '_') print(f"Data key in secret: {data_key}") assert data_key == "AGENTOPS_API_KEY" print("āœ“ create_secret transforms key correctly!") if __name__ == "__main__": test_secret_ref_transformations() print("\nāœ… All tests passed!")