Minor refactors:
- Renames s_assemble to s_brief - Link s_local to s_brief
This commit is contained in:
3
apps/cic-ussd/tests/fixtures/celery.py
vendored
3
apps/cic-ussd/tests/fixtures/celery.py
vendored
@@ -12,7 +12,8 @@ def celery_includes():
|
||||
return [
|
||||
'cic_ussd.tasks.ussd',
|
||||
'cic_ussd.tasks.callback_handler',
|
||||
'cic_notify.tasks.sms'
|
||||
'cic_notify.tasks.sms',
|
||||
'cic_ussd.tasks.metadata'
|
||||
]
|
||||
|
||||
|
||||
|
||||
34
apps/cic-ussd/tests/fixtures/config.py
vendored
34
apps/cic-ussd/tests/fixtures/config.py
vendored
@@ -2,18 +2,24 @@
|
||||
import i18n
|
||||
import logging
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
# third party imports
|
||||
import pytest
|
||||
from chainlib.chain import ChainSpec
|
||||
from confini import Config
|
||||
from sqlalchemy import create_engine
|
||||
|
||||
# local imports
|
||||
from cic_ussd.chain import Chain
|
||||
from cic_ussd.db import dsn_from_config
|
||||
from cic_ussd.encoder import PasswordEncoder
|
||||
from cic_ussd.files.local_files import create_local_file_data_stores, json_file_parser
|
||||
from cic_ussd.menu.ussd_menu import UssdMenu
|
||||
from cic_ussd.metadata import blockchain_address_to_metadata_pointer
|
||||
from cic_ussd.metadata.signer import Signer
|
||||
from cic_ussd.metadata.user import UserMetadata
|
||||
from cic_ussd.state_machine import UssdStateMachine
|
||||
from cic_ussd.encoder import PasswordEncoder
|
||||
|
||||
|
||||
logg = logging.getLogger()
|
||||
@@ -102,3 +108,29 @@ def uwsgi_env():
|
||||
'uwsgi.node': b'mango-habanero'
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def setup_metadata_signer(load_config):
|
||||
temp_dir = tempfile.mkdtemp(dir='/tmp')
|
||||
logg.debug(f'Created temp dir: {temp_dir}')
|
||||
Signer.gpg_path = temp_dir
|
||||
Signer.key_file_path = load_config.get('KEYS_PRIVATE')
|
||||
Signer.gpg_passphrase = load_config.get('KEYS_PASSPHRASE')
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def define_metadata_pointer_url(load_config, create_activated_user):
|
||||
identifier = blockchain_address_to_metadata_pointer(blockchain_address=create_activated_user.blockchain_address)
|
||||
UserMetadata.base_url = load_config.get('CIC_META_URL')
|
||||
user_metadata_client = UserMetadata(identifier=identifier)
|
||||
return user_metadata_client.url
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def setup_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 = chain_spec
|
||||
|
||||
48
apps/cic-ussd/tests/fixtures/mocks.py
vendored
48
apps/cic-ussd/tests/fixtures/mocks.py
vendored
@@ -1,4 +1,6 @@
|
||||
# standard imports
|
||||
import json
|
||||
from io import StringIO
|
||||
|
||||
# third-party imports
|
||||
import pytest
|
||||
@@ -8,7 +10,49 @@ from cic_ussd.translation import translation_for
|
||||
from cic_ussd.transactions import truncate
|
||||
|
||||
|
||||
@pytest.fixture(scope='function', autouse=True)
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_meta_post_response():
|
||||
return {
|
||||
'name': 'cic',
|
||||
'version': '1',
|
||||
'ext': {
|
||||
'network': {
|
||||
'name': 'pgp',
|
||||
'version': '2'
|
||||
},
|
||||
'engine': {
|
||||
'name': 'automerge',
|
||||
'version': '0.14.1'
|
||||
}
|
||||
},
|
||||
'payload': '["~#iL",[["~#iM",["ops",["^0",[["^1",["action","set","obj","00000000-0000-0000-0000-000000000000",'
|
||||
'"key","id","value","7e2f58335a69ac82f9a965a8fc35403c8585ea601946d858ee97684a285bf857"]],["^1",'
|
||||
'["action","set","obj","00000000-0000-0000-0000-000000000000","key","timestamp","value",'
|
||||
'1613487781]], '
|
||||
'["^1",["action","set","obj","00000000-0000-0000-0000-000000000000","key","data","value",'
|
||||
'"{\\"foo\\": '
|
||||
'\\"bar\\", \\"xyzzy\\": 42}"]]]],"actor","2b738a75-2aad-4ac8-ae8d-294a5ea4afad","seq",1,"deps",'
|
||||
'["^1", '
|
||||
'[]],"message","Initialization","undoable",false]],["^1",["ops",["^0",[["^1",["action","makeMap",'
|
||||
'"obj","a921a5ae-0554-497a-ac2e-4e829d8a12b6"]],["^1",["action","set","obj",'
|
||||
'"a921a5ae-0554-497a-ac2e-4e829d8a12b6","key","digest","value","W10="]],["^1",["action","link",'
|
||||
'"obj", '
|
||||
'"00000000-0000-0000-0000-000000000000","key","signature","value",'
|
||||
'"a921a5ae-0554-497a-ac2e-4e829d8a12b6"]]]],"actor","2b738a75-2aad-4ac8-ae8d-294a5ea4afad","seq",2,'
|
||||
'"deps",["^1",[]],"message","sign"]]]]',
|
||||
'digest': 'W10='
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_meta_get_response():
|
||||
return {
|
||||
"foo": "bar",
|
||||
"xyzzy": 42
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_notifier_api(mocker):
|
||||
messages = []
|
||||
|
||||
@@ -43,7 +87,7 @@ def mock_outgoing_transactions(mocker):
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_balance(mocker):
|
||||
mocked_operational_balance = mocker.patch('cic_ussd.accounts.BalanceManager.get_operational_balance')
|
||||
mocked_operational_balance = mocker.patch('cic_ussd.accounts.BalanceManager.get_balances')
|
||||
|
||||
def _mock_operational_balance(balance: int):
|
||||
mocked_operational_balance.return_value = truncate(value=balance, decimals=2)
|
||||
|
||||
28
apps/cic-ussd/tests/fixtures/user.py
vendored
28
apps/cic-ussd/tests/fixtures/user.py
vendored
@@ -1,13 +1,17 @@
|
||||
# standard imports
|
||||
from random import randint
|
||||
import json
|
||||
import uuid
|
||||
from random import randint
|
||||
|
||||
# third party imports
|
||||
import pytest
|
||||
from cic_types.models.person import generate_metadata_pointer
|
||||
from faker import Faker
|
||||
|
||||
# local imports
|
||||
from cic_ussd.db.models.user import AccountStatus, User
|
||||
from cic_ussd.redis import cache_data
|
||||
from cic_ussd.metadata import blockchain_address_to_metadata_pointer
|
||||
|
||||
|
||||
fake = Faker()
|
||||
@@ -92,3 +96,25 @@ def create_locked_accounts(init_database, set_fernet_key):
|
||||
user.account_status = AccountStatus.LOCKED.value
|
||||
user.session.add(user)
|
||||
user.session.commit()
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def complete_user_metadata(create_activated_user):
|
||||
return {
|
||||
"date_registered": create_activated_user.created,
|
||||
"family_name": "Snow",
|
||||
"given_name": "Name",
|
||||
"gender": 'Male',
|
||||
"location": "Kangemi",
|
||||
"products": "Mandazi"
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def cached_user_metadata(create_activated_user, init_redis_cache, person_metadata):
|
||||
user_metadata = json.dumps(person_metadata)
|
||||
key = generate_metadata_pointer(
|
||||
identifier=blockchain_address_to_metadata_pointer(blockchain_address=create_activated_user.blockchain_address),
|
||||
cic_type='cic.person'
|
||||
)
|
||||
cache_data(key=key, data=user_metadata)
|
||||
|
||||
Reference in New Issue
Block a user