test_azure_security_service.py 6.1 KB

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