feat: Split and improve contract migration steps
This commit is contained in:
@@ -4,8 +4,7 @@ import time
|
||||
|
||||
# external imports
|
||||
import pytest
|
||||
import requests_mock
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.account.statement import (filter_statement_transactions,
|
||||
@@ -48,7 +47,7 @@ def test_generate(activated_account,
|
||||
generate(querying_party, None, sender_transaction)
|
||||
time.sleep(2)
|
||||
identifier = bytes.fromhex(activated_account.blockchain_address)
|
||||
key = cache_data_key(identifier, ':cic.statement')
|
||||
key = cache_data_key(identifier, MetadataPointer.STATEMENT)
|
||||
statement = get_cached_data(key)
|
||||
statement = json.loads(statement)
|
||||
assert len(statement) == 1
|
||||
|
||||
@@ -3,7 +3,7 @@ import json
|
||||
import datetime
|
||||
|
||||
# external imports
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.account.balance import get_cached_available_balance
|
||||
@@ -58,7 +58,7 @@ def test_menu_processor(activated_account,
|
||||
token_symbol=token_symbol)
|
||||
|
||||
identifier = bytes.fromhex(activated_account.blockchain_address)
|
||||
key = cache_data_key(identifier, ':cic.adjusted_balance')
|
||||
key = cache_data_key(identifier, MetadataPointer.BALANCES_ADJUSTED)
|
||||
adjusted_balance = 45931650.64654012
|
||||
cache_data(key, json.dumps(adjusted_balance))
|
||||
resp = response(activated_account, 'ussd.kenya.account_balances', name, init_database, generic_ussd_session)
|
||||
|
||||
@@ -7,6 +7,7 @@ import time
|
||||
import i18n
|
||||
import requests_mock
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.account.chain import Chain
|
||||
@@ -45,7 +46,7 @@ def test_handle_menu(activated_account,
|
||||
ussd_menu = UssdMenu.find_by_name('initial_language_selection')
|
||||
assert menu_resp.get('name') == ussd_menu.get('name')
|
||||
identifier = bytes.fromhex(strip_0x(pending_account.blockchain_address))
|
||||
key = cache_data_key(identifier, ':cic.preferences')
|
||||
key = cache_data_key(identifier, MetadataPointer.PREFERENCES)
|
||||
cache_data(key, json.dumps(preferences))
|
||||
time.sleep(2)
|
||||
menu_resp = handle_menu(pending_account, init_database)
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
# standard imports
|
||||
import json
|
||||
from decimal import Decimal
|
||||
|
||||
# external imports
|
||||
import celery
|
||||
import pytest
|
||||
import requests_mock
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.account.statement import generate, filter_statement_transactions
|
||||
from cic_ussd.account.statement import filter_statement_transactions
|
||||
from cic_ussd.account.transaction import transaction_actors
|
||||
from cic_ussd.cache import cache_data_key, get_cached_data
|
||||
from cic_ussd.db.models.account import Account
|
||||
from cic_ussd.error import AccountCreationDataNotFound
|
||||
from cic_ussd.metadata import PreferencesMetadata
|
||||
|
||||
|
||||
# test imports
|
||||
@@ -89,7 +87,7 @@ def test_balances_callback(activated_account, balances, celery_session_worker):
|
||||
[balances, activated_account.blockchain_address, status_code])
|
||||
s_balances_callback.apply_async().get()
|
||||
identifier = bytes.fromhex(strip_0x(activated_account.blockchain_address))
|
||||
key = cache_data_key(identifier, ':cic.balances')
|
||||
key = cache_data_key(identifier, MetadataPointer.BALANCES)
|
||||
cached_balances = get_cached_data(key)
|
||||
cached_balances = json.loads(cached_balances)
|
||||
assert cached_balances == balances[0]
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# standard imports
|
||||
import json
|
||||
import os
|
||||
|
||||
# external imports
|
||||
import celery
|
||||
import requests_mock
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.cache import cache_data_key, get_cached_data
|
||||
@@ -27,7 +27,7 @@ def test_query_person_metadata(activated_account,
|
||||
s_query_person_metadata = celery.signature(
|
||||
'cic_ussd.tasks.metadata.query_person_metadata', [activated_account.blockchain_address])
|
||||
s_query_person_metadata.apply().get()
|
||||
key = cache_data_key(identifier, ':cic.person')
|
||||
key = cache_data_key(identifier, MetadataPointer.PERSON)
|
||||
cached_person_metadata = get_cached_data(key)
|
||||
cached_person_metadata = json.loads(cached_person_metadata)
|
||||
assert cached_person_metadata == person_metadata
|
||||
@@ -46,7 +46,7 @@ def test_query_preferences_metadata(activated_account,
|
||||
query_preferences_metadata = celery.signature(
|
||||
'cic_ussd.tasks.metadata.query_preferences_metadata', [activated_account.blockchain_address])
|
||||
query_preferences_metadata.apply().get()
|
||||
key = cache_data_key(identifier, ':cic.preferences')
|
||||
key = cache_data_key(identifier, MetadataPointer.PREFERENCES)
|
||||
cached_preferences_metadata = get_cached_data(key)
|
||||
cached_preferences_metadata = json.loads(cached_preferences_metadata)
|
||||
assert cached_preferences_metadata == preferences
|
||||
|
||||
@@ -4,6 +4,7 @@ import json
|
||||
# external imports
|
||||
import celery
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.account.transaction import transaction_actors
|
||||
@@ -38,7 +39,7 @@ def test_cache_statement(activated_account,
|
||||
transaction_result):
|
||||
recipient_transaction, sender_transaction = transaction_actors(transaction_result)
|
||||
identifier = bytes.fromhex(strip_0x(activated_account.blockchain_address))
|
||||
key = cache_data_key(identifier, ':cic.statement')
|
||||
key = cache_data_key(identifier, MetadataPointer.STATEMENT)
|
||||
cached_statement = get_cached_data(key)
|
||||
assert cached_statement is None
|
||||
s_parse_transaction = celery.signature(
|
||||
|
||||
@@ -3,6 +3,7 @@ import hashlib
|
||||
import json
|
||||
|
||||
# external imports
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.cache import cache_data, cache_data_key, get_cached_data
|
||||
@@ -12,7 +13,7 @@ from cic_ussd.cache import cache_data, cache_data_key, get_cached_data
|
||||
|
||||
def test_cache_data(init_cache):
|
||||
identifier = 'some_key'.encode()
|
||||
key = cache_data_key(identifier, ':testing')
|
||||
key = cache_data_key(identifier, MetadataPointer.PERSON)
|
||||
assert get_cached_data(key) is None
|
||||
cache_data(key, json.dumps('some_value'))
|
||||
assert get_cached_data(key) is not None
|
||||
@@ -20,10 +21,10 @@ def test_cache_data(init_cache):
|
||||
|
||||
def test_cache_data_key():
|
||||
identifier = 'some_key'.encode()
|
||||
key = cache_data_key(identifier, ':testing')
|
||||
key = cache_data_key(identifier, MetadataPointer.PERSON)
|
||||
hash_object = hashlib.new("sha256")
|
||||
hash_object.update(identifier)
|
||||
hash_object.update(':testing'.encode(encoding="utf-8"))
|
||||
hash_object.update(':cic.person'.encode(encoding="utf-8"))
|
||||
assert hash_object.digest().hex() == key
|
||||
|
||||
|
||||
|
||||
12
apps/cic-ussd/tests/fixtures/account.py
vendored
12
apps/cic-ussd/tests/fixtures/account.py
vendored
@@ -4,7 +4,7 @@ import random
|
||||
|
||||
# external accounts
|
||||
import pytest
|
||||
from chainlib.hash import strip_0x
|
||||
from cic_types.condiments import MetadataPointer
|
||||
|
||||
# local imports
|
||||
from cic_ussd.account.chain import Chain
|
||||
@@ -56,7 +56,7 @@ def cache_account_creation_data(init_cache, account_creation_data):
|
||||
def cache_balances(activated_account, balances, init_cache):
|
||||
identifier = bytes.fromhex(activated_account.blockchain_address)
|
||||
balances = json.dumps(balances[0])
|
||||
key = cache_data_key(identifier, ':cic.balances')
|
||||
key = cache_data_key(identifier, MetadataPointer.BALANCES)
|
||||
cache_data(key, balances)
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ def cache_balances(activated_account, balances, init_cache):
|
||||
def cache_default_token_data(default_token_data, init_cache, load_chain_spec):
|
||||
chain_str = Chain.spec.__str__()
|
||||
data = json.dumps(default_token_data)
|
||||
key = cache_data_key(chain_str.encode('utf-8'), ':cic.default_token_data')
|
||||
key = cache_data_key(chain_str.encode('utf-8'), MetadataPointer.TOKEN_DEFAULT)
|
||||
cache_data(key, data)
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ def cache_default_token_data(default_token_data, init_cache, load_chain_spec):
|
||||
def cache_person_metadata(activated_account, init_cache, person_metadata):
|
||||
identifier = bytes.fromhex(activated_account.blockchain_address)
|
||||
person = json.dumps(person_metadata)
|
||||
key = cache_data_key(identifier, ':cic.person')
|
||||
key = cache_data_key(identifier, MetadataPointer.PERSON)
|
||||
cache_data(key, person)
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ def cache_person_metadata(activated_account, init_cache, person_metadata):
|
||||
def cache_preferences(activated_account, init_cache, preferences):
|
||||
identifier = bytes.fromhex(activated_account.blockchain_address)
|
||||
preferences = json.dumps(preferences)
|
||||
key = cache_data_key(identifier, ':cic.preferences')
|
||||
key = cache_data_key(identifier, MetadataPointer.PREFERENCES)
|
||||
cache_data(key, preferences)
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ def cache_preferences(activated_account, init_cache, preferences):
|
||||
def cache_statement(activated_account, init_cache, statement):
|
||||
identifier = bytes.fromhex(activated_account.blockchain_address)
|
||||
statement = json.dumps(statement)
|
||||
key = cache_data_key(identifier, ':cic.statement')
|
||||
key = cache_data_key(identifier, MetadataPointer.STATEMENT)
|
||||
cache_data(key, statement)
|
||||
|
||||
|
||||
|
||||
6
apps/cic-ussd/tests/fixtures/config.py
vendored
6
apps/cic-ussd/tests/fixtures/config.py
vendored
@@ -41,11 +41,7 @@ def init_state_machine(load_config):
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def load_chain_spec(load_config):
|
||||
chain_spec = ChainSpec(
|
||||
common_name=load_config.get('CIC_COMMON_NAME'),
|
||||
engine=load_config.get('CIC_ENGINE'),
|
||||
network_id=load_config.get('CIC_NETWORK_ID')
|
||||
)
|
||||
chain_spec = ChainSpec.from_chain_str(load_config.get('CHAIN_SPEC'))
|
||||
Chain.spec = chain_spec
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user