|
1 | 1 | from test.unit.base import ClientBaseCase
|
2 | 2 |
|
| 3 | +from linode_api4 import FirewallTemplate, MappedObject |
3 | 4 | from linode_api4.objects import Firewall, FirewallDevice
|
4 | 5 |
|
5 | 6 |
|
@@ -81,3 +82,43 @@ def test_get_device(self):
|
81 | 82 | self.assertEqual(device.entity.url, "/v4/linode/instances/123")
|
82 | 83 |
|
83 | 84 | self.assertEqual(device._populated, True)
|
| 85 | + |
| 86 | + |
| 87 | +class FirewallTemplatesTest(ClientBaseCase): |
| 88 | + @staticmethod |
| 89 | + def assert_rules(rules: MappedObject): |
| 90 | + assert rules.outbound_policy == "DROP" |
| 91 | + assert len(rules.outbound) == 1 |
| 92 | + |
| 93 | + assert rules.inbound_policy == "DROP" |
| 94 | + assert len(rules.inbound) == 1 |
| 95 | + |
| 96 | + outbound_rule = rules.outbound[0] |
| 97 | + assert outbound_rule.action == "ACCEPT" |
| 98 | + assert outbound_rule.addresses.ipv4[0] == "192.0.2.0/24" |
| 99 | + assert outbound_rule.addresses.ipv4[1] == "198.51.100.2/32" |
| 100 | + assert outbound_rule.addresses.ipv6[0] == "2001:DB8::/128" |
| 101 | + assert outbound_rule.description == "test" |
| 102 | + assert outbound_rule.label == "test-rule" |
| 103 | + assert outbound_rule.ports == "22-24, 80, 443" |
| 104 | + assert outbound_rule.protocol == "TCP" |
| 105 | + |
| 106 | + inbound_rule = rules.outbound[0] |
| 107 | + assert inbound_rule.action == "ACCEPT" |
| 108 | + assert inbound_rule.addresses.ipv4[0] == "192.0.2.0/24" |
| 109 | + assert inbound_rule.addresses.ipv4[1] == "198.51.100.2/32" |
| 110 | + assert inbound_rule.addresses.ipv6[0] == "2001:DB8::/128" |
| 111 | + assert inbound_rule.description == "test" |
| 112 | + assert inbound_rule.label == "test-rule" |
| 113 | + assert inbound_rule.ports == "22-24, 80, 443" |
| 114 | + assert inbound_rule.protocol == "TCP" |
| 115 | + |
| 116 | + def test_get_public(self): |
| 117 | + template = self.client.load(FirewallTemplate, "public") |
| 118 | + assert template.slug == "public" |
| 119 | + self.assert_rules(template.rules) |
| 120 | + |
| 121 | + def test_get_vpc(self): |
| 122 | + template = self.client.load(FirewallTemplate, "vpc") |
| 123 | + assert template.slug == "vpc" |
| 124 | + self.assert_rules(template.rules) |
0 commit comments