test_provider_dnspod_com.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. # coding=utf-8
  2. """
  3. Unit tests for DnspodComProvider
  4. @author: GitHub Copilot
  5. """
  6. from base_test import BaseProviderTestCase, unittest
  7. from ddns.provider.dnspod_com import DnspodComProvider
  8. class TestDnspodComProvider(BaseProviderTestCase):
  9. """Test cases for DnspodComProvider"""
  10. def setUp(self):
  11. """Set up test fixtures"""
  12. super(TestDnspodComProvider, self).setUp()
  13. self.id = "[email protected]"
  14. self.token = "test_token"
  15. def test_class_constants(self):
  16. """Test DnspodComProvider class constants"""
  17. self.assertEqual(DnspodComProvider.endpoint, "https://api.dnspod.com")
  18. self.assertEqual(DnspodComProvider.DefaultLine, "default")
  19. def test_init_with_basic_config(self):
  20. """Test DnspodComProvider initialization with basic configuration"""
  21. provider = DnspodComProvider(self.id, self.token)
  22. self.assertEqual(provider.id, self.id)
  23. self.assertEqual(provider.token, self.token)
  24. self.assertEqual(provider.endpoint, "https://api.dnspod.com")
  25. def test_inheritance_from_dnspod(self):
  26. """Test that DnspodComProvider properly inherits from DnspodProvider"""
  27. from ddns.provider.dnspod import DnspodProvider
  28. provider = DnspodComProvider(self.id, self.token)
  29. self.assertIsInstance(provider, DnspodProvider)
  30. # Should have inherited methods from parent
  31. self.assertTrue(hasattr(provider, "_request"))
  32. self.assertTrue(hasattr(provider, "_query_zone_id"))
  33. self.assertTrue(hasattr(provider, "_query_record"))
  34. self.assertTrue(hasattr(provider, "_create_record"))
  35. self.assertTrue(hasattr(provider, "_update_record"))
  36. class TestDnspodComProviderIntegration(BaseProviderTestCase):
  37. """Integration test cases for DnspodComProvider"""
  38. def setUp(self):
  39. """Set up test fixtures"""
  40. super(TestDnspodComProviderIntegration, self).setUp()
  41. self.id = "[email protected]"
  42. self.token = "test_token"
  43. def test_api_endpoint_difference(self):
  44. """Test that DnspodComProvider uses different API endpoint than DnspodProvider"""
  45. from ddns.provider.dnspod import DnspodProvider
  46. dnspod_provider = DnspodProvider(self.id, self.token)
  47. dnspod_com_provider = DnspodComProvider(self.id, self.token)
  48. # Should use different API endpoints
  49. self.assertNotEqual(dnspod_provider.endpoint, dnspod_com_provider.endpoint)
  50. self.assertEqual(dnspod_com_provider.endpoint, "https://api.dnspod.com")
  51. def test_default_line_setting(self):
  52. """Test that DnspodComProvider uses correct default line"""
  53. provider = DnspodComProvider(self.id, self.token)
  54. self.assertEqual(provider.DefaultLine, "default")
  55. if __name__ == "__main__":
  56. unittest.main()