Skip to content

Commit

Permalink
Merge pull request #116 from shane-ns1/deprecate-isKeyWriteLocked
Browse files Browse the repository at this point in the history
Deprecate "writeLocked" keys, which do not actually do anything
  • Loading branch information
shane-ns1 authored Dec 19, 2023
2 parents b301f1c + ca9d886 commit 4ec20e7
Show file tree
Hide file tree
Showing 25 changed files with 15 additions and 53 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
* Drop support for EOL Python 2.7 and 3.7. Add support for Python 3.11
and 3.12.
* Deprecate "writeLocked" keys, which did not actually do anything.

## 0.18.0 (August 23, 2022)
* Add usage stats pagination support
Expand Down
2 changes: 0 additions & 2 deletions doc/api/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@ Sample:
"account1": {
"key": "<<CLEARTEXT API KEY>>",
"desc": "account number 1",
"writeLock": true
},
"account2": {
"key": "<<ANOTHER CLEARTEXT API KEY>>",
"desc": "account number 2",
"writeLock": false
}
},
"cli": {
Expand Down
2 changes: 0 additions & 2 deletions doc/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,10 @@ This example shows two different API keys. Which to use can be selected at runti
"account1": {
"key": "<<CLEARTEXT API KEY>>",
"desc": "account number 1",
"writeLock": true
},
"account2": {
"key": "<<ANOTHER CLEARTEXT API KEY>>",
"desc": "account number 2",
"writeLock": false
},
},
"cli": {
Expand Down
14 changes: 14 additions & 0 deletions ns1/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,19 @@
import json
import os

try:
from warnings import deprecated
except ImportError:
import warnings

def deprecated(reason="deprecated"):
def decorator(func):
def wrapper_func():
warnings.warn(reason, DeprecationWarning)
func()
return wrapper_func
return deprecated

from ns1.rest.rate_limiting import default_rate_limit_func
from ns1.rest.rate_limiting import rate_limit_strategy_concurrent
from ns1.rest.rate_limiting import rate_limit_strategy_solo
Expand Down Expand Up @@ -181,6 +194,7 @@ def getKeyConfig(self, keyID=None):

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

@deprecated("write locked keys are not implemented")
def isKeyWriteLocked(self, keyID=None):
"""
Determine if a key config is write locked.
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_acl.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def acl_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_address.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def address_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_apikey.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def apikey_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_client_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def client_class_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
29 changes: 0 additions & 29 deletions tests/unit/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ def test_writeread(tmpdir, config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand All @@ -44,7 +43,6 @@ def test_writeread(tmpdir, config):
assert cfg_read is not config
assert cfg_read.getEndpoint() == config.getEndpoint()
assert cfg_read.getCurrentKeyID() == config.getCurrentKeyID()
assert cfg_read.isKeyWriteLocked() == config.isKeyWriteLocked()


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


def test_apikey_writelock(config):
key_cfg = {
"default_key": "readonly",
"keys": {
"readonly": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
},
"readwrite": {
"key": "key-2",
"desc": "test key number 2",
"writeLock": False,
},
},
}

config.loadFromString(json.dumps(key_cfg))
assert config.getCurrentKeyID() == "readonly"
assert config.isKeyWriteLocked()

config.useKeyID("readwrite")
assert not config.isKeyWriteLocked()


def test_create_from_apikey(config):
apikey = "apikey"
config.createFromAPIKey(apikey)
assert config.getAPIKey() == apikey
assert config.getCurrentKeyID() == "default"
assert not config.isKeyWriteLocked()


def test_load_from_str(config):
Expand All @@ -101,7 +73,6 @@ def test_load_from_str(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def source_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_dhcp_option_spaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def dhcp_option_space_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ def ns1_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_ipam.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def reservation_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_monitoring.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ def monitoring_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def network_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_pools.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def pool_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_reservation.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ def reservation_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_scope.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ def scope_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_scope_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def scope_group_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_stats.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ def stats_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_team.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def team_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_tsig.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def tsig_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def user_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ def view_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down
1 change: 0 additions & 1 deletion tests/unit/test_zone.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ def zones_config(config):
"test1": {
"key": "key-1",
"desc": "test key number 1",
"writeLock": True,
}
},
}
Expand Down

0 comments on commit 4ec20e7

Please sign in to comment.