test_azure_object_store_service.py 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. import json
  2. import unittest
  3. import uuid
  4. from cloudbridge.cloud.interfaces import TestMockHelperMixin
  5. from test.helpers import ProviderTestBase
  6. import test.helpers as helpers
  7. class AzureObjectStoreServiceTestCase(ProviderTestBase):
  8. def __init__(self, methodName, provider):
  9. super(AzureObjectStoreServiceTestCase, self).__init__(
  10. methodName=methodName, provider=provider)
  11. @helpers.skipIfNoService(['object_store'])
  12. def test_azure_bucket_create(self):
  13. container = self.provider.object_store.create("container3")
  14. print("Create - " + str(container))
  15. self.assertEqual(
  16. str(container) , "<CB-AzureBucket: container3>")
  17. @helpers.skipIfNoService(['object_store'])
  18. def test_azure_bucket_list(self):
  19. containerList = self.provider.object_store.list()
  20. print("List Container - " + str(containerList))
  21. self.assertEqual(
  22. len(containerList), 1)
  23. @helpers.skipIfNoService(['object_store'])
  24. def test_azure_bucket_find_Exist(self):
  25. container = self.provider.object_store.find("container")
  26. print("Find Exist - " + str(container))
  27. self.assertEqual(
  28. len(container) ,1)
  29. @helpers.skipIfNoService(['object_store'])
  30. def test_azure_bucket_find_NotExist(self):
  31. ## For testing the case when container does not exist
  32. container = self.provider.object_store.find("container23")
  33. print("Find Not Exist - " + str(container))
  34. self.assertEqual(
  35. len(container), 0)
  36. @helpers.skipIfNoService(['object_store'])
  37. def test_azure_bucket_get_Exist(self):
  38. container = self.provider.object_store.get("container2")
  39. print("Get Exist - " + str(container))
  40. self.assertTrue(
  41. str(container) == "<CB-AzureBucket: container2>",
  42. "Object find returned value should be container3")
  43. @helpers.skipIfNoService(['object_store'])
  44. def test_azure_bucket_get_NotExist(self):
  45. container = self.provider.object_store.get("container3")
  46. print("Get Not Exist - " + str(container))
  47. self.assertEqual(
  48. str(container) , 'None')
  49. @helpers.skipIfNoService(['object_store'])
  50. def test_azure_bucket_delete(self):
  51. containers = self.provider.object_store.find("container1")
  52. cont = containers[0]
  53. contDel = cont.delete()
  54. print("Bucket delete - " + str(contDel))
  55. self.assertEqual(
  56. contDel, None)
  57. @helpers.skipIfNoService(['object_store'])
  58. def test_azure_bucket_create_object(self):
  59. containers = self.provider.object_store.find("container1")
  60. cont = containers[0]
  61. contDel = cont.create_object("block1")
  62. print("Create object - " + str(contDel))
  63. self.assertEqual(
  64. str(contDel), '<CB-AzureBucketObject: block1>')
  65. @helpers.skipIfNoService(['object_store'])
  66. def test_azure_bucket_object_exists__internalE(self):
  67. containers = self.provider.object_store.find("container2")
  68. cont = containers[0]
  69. contDel = cont.exists("block2")
  70. print("List object - " + str(contDel))
  71. self.assertEqual(
  72. str(contDel), 'True')
  73. @helpers.skipIfNoService(['object_store'])
  74. def test_azure_bucket_object_exists__internalNE(self):
  75. containers = self.provider.object_store.find("container2")
  76. cont = containers[0]
  77. contDel = cont.exists("blob3")
  78. print("List object - " + str(contDel))
  79. self.assertEqual(
  80. str(contDel), 'False')
  81. @helpers.skipIfNoService(['object_store'])
  82. def test_azure_bucket_object_list(self):
  83. containers = self.provider.object_store.find("container2")
  84. cont = containers[0]
  85. contDel = cont.list()
  86. print("List object - " + str(contDel))
  87. self.assertEqual(
  88. len(contDel), 2)
  89. @helpers.skipIfNoService(['object_store'])
  90. def test_azure_bucket_object_get(self):
  91. containers = self.provider.object_store.find("container2")
  92. cont = containers[0]
  93. contDel = cont.get("block2")
  94. print("List object - " + str(contDel))
  95. self.assertEqual(
  96. str(contDel), "<CB-AzureBucketObject: block2>")
  97. @helpers.skipIfNoService(['object_store'])
  98. def test_azure_bucket_object_iter_content(self):
  99. containers = self.provider.object_store.find("container2")
  100. cont = containers[0]
  101. blocks = cont.list()
  102. block = blocks[0]
  103. content = block.iter_content()
  104. print("Iter content - " + str(content))
  105. self.assertEqual(
  106. str(content),'blob2Content' )
  107. @helpers.skipIfNoService(['object_store'])
  108. def test_azure_bucket_object_iter_content_ifBlobNotExists(self):
  109. containers = self.provider.object_store.find("container2")
  110. cont = containers[0]
  111. block = cont.get('block3')
  112. content = block.iter_content()
  113. self.assertEqual(
  114. content, None, 'content should be None')
  115. @helpers.skipIfNoService(['object_store'])
  116. def test_azure_bucket_object_upload(self):
  117. containers = self.provider.object_store.find("container2")
  118. cont = containers[0]
  119. blocks = cont.list()
  120. block = blocks[0]
  121. block.upload('blob1Content')
  122. self.assertEqual(
  123. block.iter_content(), 'blob1Content')
  124. @helpers.skipIfNoService(['object_store'])
  125. def test_azure_bucket_object_delete(self):
  126. containers = self.provider.object_store.find("container2")
  127. cont = containers[0]
  128. blocks = cont.list()
  129. block = blocks[0]
  130. block.delete()
  131. self.assertEqual(
  132. len(cont.list()), 2)
  133. @helpers.skipIfNoService(['object_store'])
  134. def test_azure_bucket_object_upload_from_file(self):
  135. containers = self.provider.object_store.find("container2")
  136. cont = containers[0]
  137. blocks = cont.list()
  138. block = blocks[0]
  139. block.upload_from_file('blob2Content')
  140. self.assertEqual(
  141. block.iter_content(), 'blob2Content')
  142. @helpers.skipIfNoService(['object_store'])
  143. def test_azure_bucket_object_generate_url(self):
  144. containers = self.provider.object_store.find("container2")
  145. cont = containers[0]
  146. blocks = cont.list()
  147. block = blocks[0]
  148. url = block.generate_url()
  149. print(str(url))
  150. self.assertEqual(
  151. str(url), 'https://cloudbridgeazure.blob.core.windows.net/vhds/block1')