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
}

0 commit comments

Comments
 (0)