test_region_service.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import itertools
  2. from cloudbridge.cloud.interfaces import Region
  3. from test.helpers import ProviderTestBase
  4. class CloudRegionServiceTestCase(ProviderTestBase):
  5. def __init__(self, methodName, provider):
  6. super(CloudRegionServiceTestCase, self).__init__(
  7. methodName=methodName, provider=provider)
  8. def test_get_and_list_regions(self):
  9. """
  10. Test whether the region listing methods work,
  11. and whether zones are returned appropriately.
  12. """
  13. regions = self.provider.compute.regions.list()
  14. # check iteration
  15. iter_regions = list(itertools.islice(
  16. self.provider.compute.regions,
  17. len(regions)))
  18. self.assertListEqual(iter_regions, regions)
  19. for region in regions:
  20. self.assertIsInstance(
  21. region,
  22. Region,
  23. "regions.list() should return a cloudbridge Region")
  24. self.assertTrue(
  25. region.name,
  26. "Region name should be a non-empty string")
  27. region = self.provider.compute.regions.get(regions[0].id)
  28. self.assertEqual(
  29. region,
  30. regions[0],
  31. "List and get methods should return the same regions")
  32. self.assertTrue(
  33. region.id in repr(region),
  34. "repr(obj) should contain the object id so that the object"
  35. " can be reconstructed, but does not.")