summaryrefslogtreecommitdiff
path: root/tests/test_cloudflare_api.py
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2025-07-18 15:45:46 +0200
committerYuval Adam <_@yuv.al>2025-07-18 15:45:46 +0200
commitdd49c94bd313b3e77385bcdb9e911f7f2989a5ff (patch)
tree484e113a561adc3c946f31a3745e61adecac4317 /tests/test_cloudflare_api.py
parentd0c73a92f27a652eaf925d880625a05ae211211d (diff)
migrate to pytest
Diffstat (limited to 'tests/test_cloudflare_api.py')
-rwxr-xr-xtests/test_cloudflare_api.py106
1 files changed, 0 insertions, 106 deletions
diff --git a/tests/test_cloudflare_api.py b/tests/test_cloudflare_api.py
deleted file mode 100755
index 97c19b3..0000000
--- a/tests/test_cloudflare_api.py
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env python3
-
-import sys
-import os
-sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-
-from config import Config
-from cloudflare_api import CloudflareAPI
-
-def test_cloudflare_api():
- """Test Cloudflare API integration with non-mutating calls"""
- print("="*50)
- print("CLOUDFLARE API INTEGRATION TESTS")
- print("="*50)
-
- # Load configuration
- config = Config.from_env()
-
- # Check if API credentials are available
- if not config.cloudflare_api_token or config.cloudflare_api_token == "your_cloudflare_api_token":
- print("❌ Cloudflare API token not found. Please set CLOUDFLARE_API_TOKEN in .env file.")
- return False
-
- print(f"✓ API credentials loaded")
- print(f" - API Token: {'*' * (len(config.cloudflare_api_token) - 8)}{config.cloudflare_api_token[-8:]}")
- print(f" - Token length: {len(config.cloudflare_api_token)} chars")
-
- # Initialize API
- api = CloudflareAPI(config)
-
- # Test 1: List existing zones (non-mutating)
- print(f"\n1. Testing zones listing...")
- try:
- zones = api.list_zones()
- print(f" ✓ Zone listing successful")
- print(f" - Found {len(zones)} zones in account")
-
- if zones:
- print(f" - Example zones:")
- for i, zone in enumerate(zones[:3]): # Show first 3 zones
- print(f" • {zone.get('name', 'Unknown')} (ID: {zone.get('id', 'Unknown')[:8]}...)")
- if i >= 2: # Limit to 3 zones
- break
- except Exception as e:
- print(f" ❌ Zone listing failed: {e}")
- return False
-
- # Test 2: Get zone info for an existing zone (if any)
- if zones:
- print(f"\n2. Testing zone info retrieval...")
- try:
- first_zone = zones[0]
- zone_name = first_zone.get('name')
- zone_info = api.get_zone_info(zone_name)
-
- if zone_info:
- print(f" ✓ Zone info retrieved successfully")
- print(f" - Zone: {zone_info.get('name')}")
- print(f" - Status: {zone_info.get('status')}")
- print(f" - ID: {zone_info.get('id')[:8]}...")
-
- # Test 3: Get nameservers for the zone
- print(f"\n3. Testing nameserver retrieval...")
- try:
- nameservers = api.get_zone_nameservers(zone_info['id'])
- print(f" ✓ Nameservers retrieved successfully")
- print(f" - Nameservers for {zone_name}:")
- for ns in nameservers:
- print(f" • {ns}")
- except Exception as e:
- print(f" ❌ Nameserver retrieval failed: {e}")
- return False
-
- # Test 4: Get DNS records for the zone (non-mutating)
- print(f"\n4. Testing DNS records retrieval...")
- try:
- dns_records = api.get_zone_dns_records(zone_info['id'])
- print(f" ✓ DNS records retrieved successfully")
- print(f" - Found {len(dns_records)} DNS records")
-
- if dns_records:
- print(f" - Example records:")
- for i, record in enumerate(dns_records[:3]): # Show first 3 records
- print(f" • {record.get('type', 'Unknown')} {record.get('name', 'Unknown')} -> {record.get('content', 'Unknown')}")
- if i >= 2: # Limit to 3 records
- break
- except Exception as e:
- print(f" ❌ DNS records retrieval failed: {e}")
- return False
- else:
- print(f" ❌ Zone info retrieval failed: No zone info returned")
- return False
- except Exception as e:
- print(f" ❌ Zone info retrieval failed: {e}")
- return False
- else:
- print(f"\n2. Skipping zone-specific tests (no zones found)")
- print(f"3. Skipping nameserver tests (no zones found)")
- print(f"4. Skipping DNS records tests (no zones found)")
-
- print(f"\n✅ All Cloudflare API tests passed!")
- return True
-
-if __name__ == "__main__":
- success = test_cloudflare_api()
- sys.exit(0 if success else 1) \ No newline at end of file