test_azure_security_service.py 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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 AzureSecurityServiceTestCase(ProviderTestBase):
  8. def __init__(self, methodName, provider):
  9. super(AzureSecurityServiceTestCase, self).__init__(
  10. methodName=methodName, provider=provider)
  11. with self.assertRaises(NotImplementedError):
  12. self.key_pairs = self.provider.security.key_pairs
  13. self.security_groups = self.provider.security.security_groups
  14. @helpers.skipIfNoService(['security.security_groups'])
  15. def test_azure_security_group_create(self):
  16. name = "testCreateSecGroup3"
  17. sg = self.security_groups.create(
  18. name=name, description=name, network_id="")
  19. print("Create( " + "Name-" + sg.name + " Id-" + sg.id + " Rules - " + str(sg.rules) + " )")
  20. self.assertEqual(name, sg.name)
  21. @helpers.skipIfNoService(['security.security_groups'])
  22. def test_azure_security_group_find_exists(self):
  23. sgl = self.provider.security.security_groups.find("sg")
  24. for sg in sgl:
  25. self.assertTrue("sg" in sg.name)
  26. self.assertTrue(sgl.total_results > 0)
  27. @helpers.skipIfNoService(['security.security_groups'])
  28. def test_azure_security_group_find_not_exists(self):
  29. sgl = self.provider.security.security_groups.find('dontfindme')
  30. self.assertTrue(sgl.total_results == 0)
  31. @helpers.skipIfNoService(['security.security_groups'])
  32. def test_azure_security_group_list(self):
  33. sgl = self.security_groups.list()
  34. found_sg = [g.name for g in sgl]
  35. for group in sgl:
  36. print("List( " + "Name-" + group.name + " Id-" + group.id + " Rules - " + " )")
  37. self.assertTrue(
  38. len(sgl) == 3,
  39. "Count should be 3")
  40. @helpers.skipIfNoService(['security.security_groups'])
  41. def test_azure_security_group_get_found(self):
  42. sgl = self.security_groups.get(
  43. "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg3")
  44. print("Get ( " + "Name - " + sgl.name + " Id - " + sgl.id + " )")
  45. self.assertTrue(
  46. sgl.name == "sg3",
  47. "SG name should be sg3")
  48. @helpers.skipIfNoService(['security.security_groups'])
  49. def test_azure_security_group_get_not_found(self):
  50. sgl = self.security_groups.get(
  51. "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg4")
  52. print(str(sgl))
  53. self.assertTrue(
  54. sgl == None,
  55. "Security group does not exist. Should return None.")
  56. @helpers.skipIfNoService(['security.security_groups'])
  57. def test_azure_security_group_delete_IdExists(self):
  58. sg = self.security_groups.delete(
  59. "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg2")
  60. print("Delete - ")
  61. self.assertEqual(sg, True)
  62. @helpers.skipIfNoService(['security.security_groups'])
  63. def test_azure_security_group_delete_IdNotExist(self):
  64. sg = self.security_groups.delete(
  65. "/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96/resourceGroups/CloudBridge-Azure/providers/Microsoft.Network/networkSecurityGroups/sg5")
  66. self.assertEqual(sg, False)
  67. @helpers.skipIfNoService(['security.security_groups'])
  68. def test_azure_security_group_rule_create(self):
  69. list = self.security_groups.list()
  70. cb = list.data[0]
  71. rules = cb.rules
  72. for rule in rules:
  73. print(str(rule))
  74. print("Before creating Rule - " + str(rules[0]) + " length - " + str(len(rules)))
  75. cb.add_rule('*', '25', '100', '*')
  76. rules = cb.rules
  77. print("After creating Rule - " + str(rules[0]) + " length - " + str(len(rules)))
  78. self.assertEqual(len(rules), 3)
  79. @helpers.skipIfNoService(['security.security_groups'])
  80. def test_azure_security_group_rule_delete(self):
  81. list = self.security_groups.list()
  82. cb = list.data[0]
  83. rules = cb.rules
  84. print("Before deleting Rule - " + str(rules[0]) + " length - " + str(len(rules)))
  85. rules[1].delete()
  86. rules = cb.rules
  87. print("After deleting Rule - " + str(rules[0]) + " length - " + str(len(rules)))
  88. self.assertEqual(len(rules), 2)
  89. @helpers.skipIfNoService(['security.security_groups'])
  90. def test_azure_security_group_rule_delete_Default(self):
  91. list = self.security_groups.list()
  92. cb = list.data[0]
  93. rules = cb.rules
  94. print("Before deleting Rule - " + str(rules[0]) + " length - " + str(len(rules)))
  95. with self.assertRaises(Exception):
  96. rules[0].delete()
  97. @helpers.skipIfNoService(['security.security_groups'])
  98. def test_azure_security_group_rule_get_exist(self):
  99. list = self.security_groups.list()
  100. cb = list.data[0]
  101. rule = cb.get_rule('*', '25', '1', '100')
  102. print("Get Rule - " + str(rule))
  103. self.assertEqual(str(rule), "<CBSecurityGroupRule: IP: *; from: 25; to: 1; grp: None>")
  104. @helpers.skipIfNoService(['security.security_groups'])
  105. def test_azure_security_group_rule_get_notExist(self):
  106. list = self.security_groups.list()
  107. cb = list.data[0]
  108. rule = cb.get_rule('*', '25', '1', '1')
  109. print("Get Rule - " + str(rule))
  110. self.assertEqual(str(rule), 'None')
  111. @helpers.skipIfNoService(['security.security_groups'])
  112. def test_azure_security_group_to_json(self):
  113. list = self.security_groups.list()
  114. cb = list.data[0]
  115. rule = cb.to_json()
  116. print("Get Rule - " + str(rule))
  117. self.assertEqual(rule[2:4], "id")
  118. @helpers.skipIfNoService(['security.security_groups'])
  119. def test_azure_security_group_rule_to_json(self):
  120. list = self.security_groups.list()
  121. cb = list.data[0]
  122. rules = cb.rules
  123. rule = rules[0]
  124. json = rule.to_json()
  125. print("Get Rule - " + str(json))
  126. self.assertEqual(json[2:9], "cidr_ip")