agentops/app/deploy/test_secret_fix.py

53 lines
2.1 KiB
Python

#!/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!")