Skip to content

Commit 4ec20e7

Browse files
authored
Merge pull request #116 from shane-ns1/deprecate-isKeyWriteLocked
Deprecate "writeLocked" keys, which do not actually do anything
2 parents b301f1c + ca9d886 commit 4ec20e7

25 files changed

+15
-53
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
* Drop support for EOL Python 2.7 and 3.7. Add support for Python 3.11
22
and 3.12.
3+
* Deprecate "writeLocked" keys, which did not actually do anything.
34

45
## 0.18.0 (August 23, 2022)
56
* Add usage stats pagination support

doc/api/config.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ Sample:
1515
"account1": {
1616
"key": "<<CLEARTEXT API KEY>>",
1717
"desc": "account number 1",
18-
"writeLock": true
1918
},
2019
"account2": {
2120
"key": "<<ANOTHER CLEARTEXT API KEY>>",
2221
"desc": "account number 2",
23-
"writeLock": false
2422
}
2523
},
2624
"cli": {

doc/configuration.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,10 @@ This example shows two different API keys. Which to use can be selected at runti
3939
"account1": {
4040
"key": "<<CLEARTEXT API KEY>>",
4141
"desc": "account number 1",
42-
"writeLock": true
4342
},
4443
"account2": {
4544
"key": "<<ANOTHER CLEARTEXT API KEY>>",
4645
"desc": "account number 2",
47-
"writeLock": false
4846
},
4947
},
5048
"cli": {

ns1/config.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@
66
import json
77
import os
88

9+
try:
10+
from warnings import deprecated
11+
except ImportError:
12+
import warnings
13+
14+
def deprecated(reason="deprecated"):
15+
def decorator(func):
16+
def wrapper_func():
17+
warnings.warn(reason, DeprecationWarning)
18+
func()
19+
return wrapper_func
20+
return deprecated
21+
922
from ns1.rest.rate_limiting import default_rate_limit_func
1023
from ns1.rest.rate_limiting import rate_limit_strategy_concurrent
1124
from ns1.rest.rate_limiting import rate_limit_strategy_solo
@@ -181,6 +194,7 @@ def getKeyConfig(self, keyID=None):
181194

182195
return self._data["keys"][k]
183196

197+
@deprecated("write locked keys are not implemented")
184198
def isKeyWriteLocked(self, keyID=None):
185199
"""
186200
Determine if a key config is write locked.

tests/unit/test_acl.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def acl_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_address.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def address_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_apikey.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def apikey_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_client_classes.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def client_class_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_config.py

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ def test_writeread(tmpdir, config):
2929
"test1": {
3030
"key": "key-1",
3131
"desc": "test key number 1",
32-
"writeLock": True,
3332
}
3433
},
3534
}
@@ -44,7 +43,6 @@ def test_writeread(tmpdir, config):
4443
assert cfg_read is not config
4544
assert cfg_read.getEndpoint() == config.getEndpoint()
4645
assert cfg_read.getCurrentKeyID() == config.getCurrentKeyID()
47-
assert cfg_read.isKeyWriteLocked() == config.isKeyWriteLocked()
4846

4947

5048
def test_str_repr(config):
@@ -61,37 +59,11 @@ def test_dodefaults(config):
6159
assert config._data == defaults
6260

6361

64-
def test_apikey_writelock(config):
65-
key_cfg = {
66-
"default_key": "readonly",
67-
"keys": {
68-
"readonly": {
69-
"key": "key-1",
70-
"desc": "test key number 1",
71-
"writeLock": True,
72-
},
73-
"readwrite": {
74-
"key": "key-2",
75-
"desc": "test key number 2",
76-
"writeLock": False,
77-
},
78-
},
79-
}
80-
81-
config.loadFromString(json.dumps(key_cfg))
82-
assert config.getCurrentKeyID() == "readonly"
83-
assert config.isKeyWriteLocked()
84-
85-
config.useKeyID("readwrite")
86-
assert not config.isKeyWriteLocked()
87-
88-
8962
def test_create_from_apikey(config):
9063
apikey = "apikey"
9164
config.createFromAPIKey(apikey)
9265
assert config.getAPIKey() == apikey
9366
assert config.getCurrentKeyID() == "default"
94-
assert not config.isKeyWriteLocked()
9567

9668

9769
def test_load_from_str(config):
@@ -101,7 +73,6 @@ def test_load_from_str(config):
10173
"test1": {
10274
"key": "key-1",
10375
"desc": "test key number 1",
104-
"writeLock": True,
10576
}
10677
},
10778
}

tests/unit/test_data.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def source_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_dhcp_option_spaces.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def dhcp_option_space_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_init.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ def ns1_config(config):
3030
"test1": {
3131
"key": "key-1",
3232
"desc": "test key number 1",
33-
"writeLock": True,
3433
}
3534
},
3635
}

tests/unit/test_ipam.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def reservation_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_monitoring.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ def monitoring_config(config):
1717
"test1": {
1818
"key": "key-1",
1919
"desc": "test key number 1",
20-
"writeLock": True,
2120
}
2221
},
2322
}

tests/unit/test_network.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def network_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_pools.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def pool_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_reservation.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def reservation_config(config):
2626
"test1": {
2727
"key": "key-1",
2828
"desc": "test key number 1",
29-
"writeLock": True,
3029
}
3130
},
3231
}

tests/unit/test_scope.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def scope_config(config):
2626
"test1": {
2727
"key": "key-1",
2828
"desc": "test key number 1",
29-
"writeLock": True,
3029
}
3130
},
3231
}

tests/unit/test_scope_group.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def scope_group_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_stats.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ def stats_config(config):
1717
"test1": {
1818
"key": "key-1",
1919
"desc": "test key number 1",
20-
"writeLock": True,
2120
}
2221
},
2322
}

tests/unit/test_team.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def team_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_tsig.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def tsig_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_user.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def user_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_views.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ def view_config(config):
1818
"test1": {
1919
"key": "key-1",
2020
"desc": "test key number 1",
21-
"writeLock": True,
2221
}
2322
},
2423
}

tests/unit/test_zone.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ def zones_config(config):
1717
"test1": {
1818
"key": "key-1",
1919
"desc": "test key number 1",
20-
"writeLock": True,
2120
}
2221
},
2322
}

0 commit comments

Comments
 (0)