34 lines
953 B
Python
34 lines
953 B
Python
|
# standard imports
|
||
|
import hashlib
|
||
|
import json
|
||
|
|
||
|
# external imports
|
||
|
|
||
|
# local imports
|
||
|
from cic_ussd.cache import cache_data, cache_data_key, get_cached_data
|
||
|
|
||
|
# test imports
|
||
|
|
||
|
|
||
|
def test_cache_data(init_cache):
|
||
|
identifier = 'some_key'.encode()
|
||
|
key = cache_data_key(identifier, ':testing')
|
||
|
assert get_cached_data(key) is None
|
||
|
cache_data(key, json.dumps('some_value'))
|
||
|
assert get_cached_data(key) is not None
|
||
|
|
||
|
|
||
|
def test_cache_data_key():
|
||
|
identifier = 'some_key'.encode()
|
||
|
key = cache_data_key(identifier, ':testing')
|
||
|
hash_object = hashlib.new("sha256")
|
||
|
hash_object.update(identifier)
|
||
|
hash_object.update(':testing'.encode(encoding="utf-8"))
|
||
|
assert hash_object.digest().hex() == key
|
||
|
|
||
|
|
||
|
def test_get_cached_data(cached_ussd_session):
|
||
|
ussd_session = get_cached_data(cached_ussd_session.external_session_id)
|
||
|
ussd_session = json.loads(ussd_session)
|
||
|
assert ussd_session.get('msisdn') == cached_ussd_session.msisdn
|