Skip to content

Commit 1877215

Browse files
Enhanced Interfaces: Add account-related fields
1 parent cf04ca6 commit 1877215

File tree

5 files changed

+37
-3
lines changed

5 files changed

+37
-3
lines changed

linode_api4/objects/account.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ class AccountSettings(Base):
197197
),
198198
"object_storage": Property(),
199199
"backups_enabled": Property(mutable=True),
200+
"interfaces_for_new_linodes": Property(mutable=True),
200201
}
201202

202203

test/fixtures/account.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"Linodes",
1717
"NodeBalancers",
1818
"Block Storage",
19-
"Object Storage"
19+
"Object Storage",
20+
"Linode Interfaces"
2021
],
2122
"active_promotions": [
2223
{

test/fixtures/account_settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33
"managed": false,
44
"network_helper": false,
55
"object_storage": "active",
6-
"backups_enabled": true
6+
"backups_enabled": true,
7+
"interfaces_for_new_linodes": "linode_default_but_legacy_config_allowed"
78
}

test/unit/linode_client_test.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,13 @@ def test_get_account(self):
4444
self.assertEqual(a.balance, 0)
4545
self.assertEqual(
4646
a.capabilities,
47-
["Linodes", "NodeBalancers", "Block Storage", "Object Storage"],
47+
[
48+
"Linodes",
49+
"NodeBalancers",
50+
"Block Storage",
51+
"Object Storage",
52+
"Linode Interfaces",
53+
],
4854
)
4955

5056
def test_get_regions(self):

test/unit/objects/account_test.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ def test_get_account(self):
9797
self.assertEqual(account.balance_uninvoiced, 145)
9898
self.assertEqual(account.billing_source, "akamai")
9999
self.assertEqual(account.euuid, "E1AF5EEC-526F-487D-B317EBEB34C87D71")
100+
self.assertIn("Linode Interfaces", account.capabilities)
100101

101102
def test_get_login(self):
102103
"""
@@ -121,6 +122,30 @@ def test_get_account_settings(self):
121122
self.assertEqual(settings.network_helper, False)
122123
self.assertEqual(settings.object_storage, "active")
123124
self.assertEqual(settings.backups_enabled, True)
125+
self.assertEqual(
126+
settings.interfaces_for_new_linodes,
127+
"linode_default_but_legacy_config_allowed",
128+
)
129+
130+
def test_post_account_settings(self):
131+
"""
132+
Tests that account settings can be updated successfully
133+
"""
134+
settings = self.client.account.settings()
135+
print(settings._raw_json)
136+
137+
settings.network_helper = True
138+
settings.backups_enabled = False
139+
settings.interfaces_for_new_linodes = "linode_only"
140+
141+
with self.mock_put("/account/settings") as m:
142+
settings.save()
143+
144+
assert m.call_data == {
145+
"network_helper": True,
146+
"backups_enabled": False,
147+
"interfaces_for_new_linodes": "linode_only",
148+
}
124149

125150
def test_get_event(self):
126151
"""

0 commit comments

Comments
 (0)