version v2
This commit is contained in:
55
test_version_api.py
Normal file
55
test_version_api.py
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script for the new version API endpoint.
|
||||
This verifies that the database-only version tracking works correctly.
|
||||
"""
|
||||
|
||||
import os
|
||||
import requests
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
def test_version_api():
|
||||
"""Test the version API endpoint"""
|
||||
|
||||
# Set test environment variables
|
||||
os.environ['APP_VERSION'] = 'v1.2.3'
|
||||
os.environ['GIT_COMMIT'] = 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0'
|
||||
os.environ['GIT_BRANCH'] = 'main'
|
||||
os.environ['DEPLOYED_AT'] = datetime.utcnow().isoformat()
|
||||
|
||||
print("Testing version API endpoint...")
|
||||
print(f"APP_VERSION: {os.environ['APP_VERSION']}")
|
||||
print(f"GIT_COMMIT: {os.environ['GIT_COMMIT']}")
|
||||
print(f"GIT_BRANCH: {os.environ['GIT_BRANCH']}")
|
||||
print(f"DEPLOYED_AT: {os.environ['DEPLOYED_AT']}")
|
||||
|
||||
try:
|
||||
# Test the API endpoint (assuming it's running on localhost:5000)
|
||||
response = requests.get('http://localhost:5000/api/version')
|
||||
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
print("\n✅ Version API test successful!")
|
||||
print("Response:")
|
||||
print(json.dumps(data, indent=2))
|
||||
|
||||
# Verify the response matches our environment variables
|
||||
assert data['version'] == os.environ['APP_VERSION'], f"Version mismatch: {data['version']} != {os.environ['APP_VERSION']}"
|
||||
assert data['commit'] == os.environ['GIT_COMMIT'], f"Commit mismatch: {data['commit']} != {os.environ['GIT_COMMIT']}"
|
||||
assert data['branch'] == os.environ['GIT_BRANCH'], f"Branch mismatch: {data['branch']} != {os.environ['GIT_BRANCH']}"
|
||||
assert data['deployed_at'] == os.environ['DEPLOYED_AT'], f"Deployed at mismatch: {data['deployed_at']} != {os.environ['DEPLOYED_AT']}"
|
||||
|
||||
print("\n✅ All version information matches environment variables!")
|
||||
|
||||
else:
|
||||
print(f"\n❌ Version API test failed with status code: {response.status_code}")
|
||||
print(f"Response: {response.text}")
|
||||
|
||||
except requests.exceptions.ConnectionError:
|
||||
print("\n❌ Could not connect to the API. Make sure the application is running on localhost:5000")
|
||||
except Exception as e:
|
||||
print(f"\n❌ Test failed with error: {str(e)}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_version_api()
|
||||
Reference in New Issue
Block a user