test_azure_security_service.py 5.7 KB

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