Skip to content

Commit 52759a1

Browse files
progress
1 parent c52d469 commit 52759a1

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

test/unit/objects/firewall_test.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from test.unit.base import ClientBaseCase
22

3+
from linode_api4 import MappedObject
34
from linode_api4.objects import Firewall, FirewallDevice
45

56

@@ -81,3 +82,51 @@ def test_get_device(self):
8182
self.assertEqual(device.entity.url, "/v4/linode/instances/123")
8283

8384
self.assertEqual(device._populated, True)
85+
86+
87+
class FirewallTemplatesTest(ClientBaseCase):
88+
def _assert_rules(self, rules: MappedObject):
89+
assert rules.outbound_policy == "DROP"
90+
assert len(rules.outbound) == 1
91+
92+
assert rules.inbound_policy == "DROP"
93+
assert len(rules.inbound) == 1
94+
95+
outbound_rule = rules.outbound[0]
96+
assert outbound_rule.action == "ACCEPT"
97+
assert outbound_rule.addresses.ipv4[0] == "192.0.2.0/24"
98+
assert outbound_rule.addresses.ipv4[0] == "198.51.100.2/32"
99+
assert outbound_rule.addresses.ipv6[0] == "2001::DB8::/128"
100+
assert outbound_rule.description == "test"
101+
assert outbound_rule.label == "test-rule"
102+
assert outbound_rule.ports == "22-24, 80, 443"
103+
assert outbound_rule.protocol == "TCP"
104+
105+
inbound_rule = rules.outbound[0]
106+
assert inbound_rule.action == "ACCEPT"
107+
assert inbound_rule.addresses.ipv4[0] == "192.0.2.0/24"
108+
assert inbound_rule.addresses.ipv4[0] == "198.51.100.2/32"
109+
assert inbound_rule.addresses.ipv6[0] == "2001::DB8::/128"
110+
assert inbound_rule.description == "test"
111+
assert inbound_rule.label == "test-rule"
112+
assert inbound_rule.ports == "22-24, 80, 443"
113+
assert inbound_rule.protocol == "TCP"
114+
115+
def test_get_templates(self):
116+
templates = self.client.networking.firewall_templates()
117+
118+
assert templates[0].slug == "public"
119+
self._assert_rules(templates[0].rules)
120+
121+
assert templates[1].slug == "vpc"
122+
self._assert_rules(templates[1].rules)
123+
124+
def test_get_template_public(self):
125+
template = self.client.load(FirewallTemplate, "public")
126+
assert template.slug == "public"
127+
self._assert_rules(template.rules)
128+
129+
def test_get_template_vpc(self):
130+
template = self.client.load(FirewallTemplate, "vpc")
131+
assert template.slug == "vpc"
132+
self._assert_rules(template.rules)

0 commit comments

Comments
 (0)