Skip to content

Commit 8beedeb

Browse files
Add setting enum
1 parent 1877215 commit 8beedeb

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

linode_api4/objects/account.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from linode_api4.objects.networking import Firewall
1717
from linode_api4.objects.nodebalancer import NodeBalancer
1818
from linode_api4.objects.profile import PersonalAccessToken
19+
from linode_api4.objects.serializable import StrEnum
1920
from linode_api4.objects.support import SupportTicket
2021
from linode_api4.objects.volume import Volume
2122
from linode_api4.objects.vpc import VPC
@@ -179,6 +180,22 @@ class Login(Base):
179180
}
180181

181182

183+
class AccountSettingsInterfacesForNewLinodes(StrEnum):
184+
"""
185+
A string enum corresponding to valid values
186+
for the AccountSettings(...).interfaces_for_new_linodes field.
187+
"""
188+
189+
legacy_config_only = "legacy_config_only"
190+
legacy_config_default_but_linode_allowed = (
191+
"legacy_config_default_but_linode_allowed"
192+
)
193+
linode_default_but_legacy_config_allowed = (
194+
"linode_default_but_legacy_config_allowed"
195+
)
196+
linode_only = "linode_only"
197+
198+
182199
class AccountSettings(Base):
183200
"""
184201
Information related to your Account settings.

test/integration/models/account/test_account.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def test_get_account_settings(test_linode_client):
5959
assert "longview_subscription" in str(account_settings._raw_json)
6060
assert "backups_enabled" in str(account_settings._raw_json)
6161
assert "object_storage" in str(account_settings._raw_json)
62+
assert isinstance(account_settings.interfaces_for_new_linodes, str)
6263

6364

6465
@pytest.mark.smoke

test/unit/objects/account_test.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from datetime import datetime
44
from test.unit.base import ClientBaseCase
55

6+
from linode_api4 import AccountSettingsInterfacesForNewLinodes
67
from linode_api4.objects import (
78
Account,
89
AccountAvailability,
@@ -124,7 +125,7 @@ def test_get_account_settings(self):
124125
self.assertEqual(settings.backups_enabled, True)
125126
self.assertEqual(
126127
settings.interfaces_for_new_linodes,
127-
"linode_default_but_legacy_config_allowed",
128+
AccountSettingsInterfacesForNewLinodes.linode_default_but_legacy_config_allowed,
128129
)
129130

130131
def test_post_account_settings(self):
@@ -136,15 +137,17 @@ def test_post_account_settings(self):
136137

137138
settings.network_helper = True
138139
settings.backups_enabled = False
139-
settings.interfaces_for_new_linodes = "linode_only"
140+
settings.interfaces_for_new_linodes = (
141+
AccountSettingsInterfacesForNewLinodes.linode_only
142+
)
140143

141144
with self.mock_put("/account/settings") as m:
142145
settings.save()
143146

144147
assert m.call_data == {
145148
"network_helper": True,
146149
"backups_enabled": False,
147-
"interfaces_for_new_linodes": "linode_only",
150+
"interfaces_for_new_linodes": AccountSettingsInterfacesForNewLinodes.linode_only,
148151
}
149152

150153
def test_get_event(self):

0 commit comments

Comments
 (0)