Skip to content

Commit 1feb792

Browse files
progress
1 parent 8ae0ebf commit 1feb792

File tree

4 files changed

+17
-9
lines changed

4 files changed

+17
-9
lines changed

linode_api4/objects/networking.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ class VLAN(Base):
176176
}
177177

178178

179+
@dataclass
179180
class FirewallCreateDevicesOptions(JSONObject):
180181
"""
181182
Represents devices to create created alongside a Linode Firewall.
@@ -186,6 +187,7 @@ class FirewallCreateDevicesOptions(JSONObject):
186187
interfaces: List[int] = field(default_factory=list)
187188

188189

190+
@dataclass
189191
class FirewallSettingsDefaultFirewallIDs(JSONObject):
190192
"""
191193
Contains the IDs of Linode Firewalls that should be used by default
@@ -207,8 +209,8 @@ class FirewallSettings(Base):
207209

208210
api_endpoint = "/networking/firewalls/settings"
209211

210-
# NOTE: This isn't used but is necessary when deriving from Base
211-
id_attributes = "default_firewall_ids"
212+
# # NOTE: This isn't used but is necessary when deriving from Base
213+
# id_attributes = "default_firewall_ids"
212214

213215
properties = {
214216
"default_firewall_ids": Property(

test/fixtures/networking_firewalls_123_devices.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,5 @@
2525
],
2626
"page": 1,
2727
"pages": 1,
28-
"results": 1
28+
"results": 2
2929
}

test/unit/linode_client_test.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from datetime import datetime
22
from test.unit.base import ClientBaseCase
33

4-
from linode_api4 import LongviewSubscription
4+
from linode_api4 import FirewallCreateDevicesOptions, LongviewSubscription
55
from linode_api4.objects.beta import BetaProgram
66
from linode_api4.objects.linode import Instance
77
from linode_api4.objects.networking import IPAddress
@@ -63,12 +63,18 @@ def test_get_regions(self):
6363
"NodeBalancers",
6464
"Block Storage",
6565
"Object Storage",
66+
"Enhanced Interfaces",
6667
],
6768
)
6869
else:
6970
self.assertEqual(
7071
region.capabilities,
71-
["Linodes", "NodeBalancers", "Block Storage"],
72+
[
73+
"Linodes",
74+
"NodeBalancers",
75+
"Block Storage",
76+
"Enhanced Interfaces",
77+
],
7278
)
7379
self.assertEqual(region.status, "ok")
7480
self.assertIsNotNone(region.resolvers)
@@ -1187,7 +1193,7 @@ def test_firewall_create(self):
11871193
f = self.client.networking.firewall_create(
11881194
"test-firewall-1",
11891195
rules,
1190-
devices=FirewallDevicesOptions(
1196+
devices=FirewallCreateDevicesOptions(
11911197
linodes=[123], nodebalancers=[456], interfaces=[789]
11921198
),
11931199
status="enabled",
@@ -1208,7 +1214,7 @@ def test_firewall_create(self):
12081214
"devices": {
12091215
"linodes": [123],
12101216
"nodebalancers": [456],
1211-
"interface": [789],
1217+
"interfaces": [789],
12121218
},
12131219
},
12141220
)

test/unit/objects/firewall_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ def test_create_device(self):
6161

6262
firewall = Firewall(self.client, 123)
6363

64-
with self.mock_post("networking/firewalls/123/devices") as m:
64+
with self.mock_post("networking/firewalls/123/devices/123") as m:
6565
firewall.device_create(123, "linode")
6666
assert m.call_data == {"id": 123, "type": "linode"}
6767

68-
with self.mock_post("networking/firewalls/123/devices") as m:
68+
with self.mock_post("networking/firewalls/123/devices/456") as m:
6969
firewall.device_create(123, "interface")
7070
assert m.call_data == {"id": 123, "type": "interface"}
7171

0 commit comments

Comments
 (0)