def _prepare_repos_confs(self): self.repo_conf = { 'object_lake': env_s3_config('PROC_OBJ_SPIDER_OBJ_LAKE'), 'object_retrieval': env_queue_config('PROC_OBJ_SPIDER_OBJ_RETRIEVAL'), 'object_acl': env_s3_config('PROC_OBJ_SPIDER_OBJ_ACL'), }
def test(): s3 = env_s3_config('TEST') queue = env_queue_config('TEST') postgres = env_postgres_config('TEST') assert s3['bucket'] == 'test-bucket-1' assert queue['queue_name'] == 'test-queue-1' assert postgres['dbname'] == 'postgres_test' s3 = env_s3_config('TEST_1') queue = env_queue_config('TEST_1') assert s3['bucket'] == 'test-bucket-1' assert queue['queue_name'] == 'test-queue-1' s3 = env_s3_config('TEST_2') queue = env_queue_config('TEST_2') assert s3['bucket'] == 'test-bucket-2' assert queue['queue_name'] == 'test-queue-2'
def test_complex(): assert igl_value('default_sqs', 'qname') == 'IGL_DEFAULT_SQS_QNAME' assert igl_value('default_s3', 'bucket') == 'IGL_DEFAULT_S3_BUCKET' assert igl_value('default_postgres', 'dbname') == 'IGL_DEFAULT_POSTGRES_DBNAME' for key, value in TEST_ENV.items(): assert os.environ.get(key) == value default_s3_conf = conf.env_s3_config(TEST_NON_EXISTING_CONF_NAME) default_sqs_conf = conf.env_queue_config(TEST_NON_EXISTING_CONF_NAME) default_postgres_conf = conf.env_postgres_config( TEST_NON_EXISTING_CONF_NAME) assert to_str_dict(default_s3_conf) == TEST_S3_DEFAULT_CONF assert to_str_dict(default_sqs_conf) == TEST_SQS_DEFAULT_CONF assert to_str_dict(default_postgres_conf) == TEST_POSTGRES_DEFAULT_CONF # bool values assert isinstance(default_s3_conf['use_ssl'], bool) assert isinstance(default_sqs_conf['use_ssl'], bool) # nullable values del os.environ['IGL_DEFAULT_SQS_QNAME'] del os.environ['IGL_DEFAULT_S3_BUCKET'] del os.environ['IGL_DEFAULT_POSTGRES_DBNAME'] default_s3_conf = conf.env_s3_config(TEST_NON_EXISTING_CONF_NAME) default_sqs_conf = conf.env_queue_config(TEST_NON_EXISTING_CONF_NAME) default_postgres_conf = conf.env_postgres_config( TEST_NON_EXISTING_CONF_NAME) assert default_s3_conf['bucket'] is None assert default_sqs_conf['queue_name'] is None assert default_postgres_conf['dbname'] is None # testing fully custom configs custom_s3_conf = conf.env_s3_config(CUSTOM_S3_CONF_NAME) custom_sqs_conf = conf.env_queue_config(CUSTOM_SQS_CONF_NAME) custom_postgres_conf = conf.env_postgres_config(CUSTOM_POSTGRES_CONF_NAME) assert custom_s3_conf == CUSTOM_S3_CONF, os.environ assert custom_sqs_conf == CUSTOM_SQS_CONF, os.environ assert custom_postgres_conf == CUSTOM_POSTGRES_CONF, os.environ
def _prepare_repos_confs(self, rejected_message_repo_conf=None, message_lake_repo_conf=None): self.rejected_messages_repo_conf = env_queue_config( 'PROC_REJECTED_MESSAGES_REPO') self.message_lake_repo_conf = env_s3_config('PROC_MESSAGE_LAKE_REPO') if message_lake_repo_conf: self.message_lake_repo_conf.update(message_lake_repo_conf) if rejected_message_repo_conf: self.rejected_messages_repo_conf.update(rejected_message_repo_conf)
class Config(object): """Base configuration.""" DEBUG = env_bool('IGL_DEBUG', default=True) TESTING = env_bool('IGL_TESTING', default=True) MESSAGE_LAKE_CONN = env_s3_config('MSGAPI_MESSAGE_LAKE') BC_INBOX_CONF = env_queue_config('MSG_RX_API_BC_INBOX') PUBLISH_NOTIFICATIONS_REPO_CONN = env_queue_config( 'MSG_RX_API_OUTBOX_REPO')
import pytest from intergov.conf import env_s3_config from intergov.repos.object_acl import ObjectACLRepo from tests.unit.domain.wire_protocols.test_generic_message import ( _generate_msg_object ) CONF = env_s3_config('TEST') def test(): repo = ObjectACLRepo(CONF) repo._unsafe_clear_for_test() assert repo._unsafe_is_empty_for_test() message = _generate_msg_object() obj = str(message.obj) receiver = str(message.receiver) # testing post actions assert repo.post(message) assert repo.allow_access_to(obj, receiver) # no filters with pytest.raises(Exception): repo.search() # invalid filters with pytest.raises(Exception): repo.search({'abrakadabra': 'value'}) search_result = repo.search({'object__eq': obj})
from intergov.conf import env_s3_config, env_queue_config from intergov.repos.delivery_outbox import DeliveryOutboxRepo from intergov.repos.notifications import NotificationsRepo from intergov.repos.subscriptions import SubscriptionsRepo from intergov.processors.callbacks_spreader import CallbacksSpreaderProcessor from tests.unit.domain.wire_protocols.test_generic_message import ( _generate_msg_object) DELIVERY_OUTBOX_REPO_CONF = env_queue_config('TEST_1') NOTIFICATIONS_REPO_CONF = env_queue_config('TEST_2') SUBSCRIPTIONS_REPO_CONF = env_s3_config('TEST') CALLBACK_URL = "http://dummy-test-helper-server:5001/response/200/{}" DEFAULT_EXPIRATION = 3600 * 2 # predicates dont have common prefixes SUBSCRIPTIONS = { 'aaa.bbb.ccc.ddd': 2, 'eee.fff.jjj': 3, 'hhh.iii': 4, 'ggg': 1 } SUBSCRIPTIONS_WITH_COMMON_PREFIXES = { 'ooo': { 'ooo.aaa.bbb': 2, 'ooo.aaa': 3, }, 'zzz': { 'zzz.aaa.bbb': 5,
from intergov.conf import env_s3_config, env_queue_config, env_postgres_config, env from intergov.processors.message_processor import InboundMessageProcessor from intergov.repos.api_outbox import ApiOutboxRepo from intergov.repos.bc_inbox.elasticmq.elasticmqrepo import BCInboxRepo from intergov.repos.message_lake import MessageLakeRepo from intergov.repos.notifications import NotificationsRepo from intergov.repos.object_acl import ObjectACLRepo from intergov.repos.object_retrieval import ObjectRetrievalRepo from tests.unit.domain.wire_protocols.test_generic_message import ( _generate_msg_object) MESSAGE_LAKE_REPO_CONF = env_s3_config('TEST_1') OBJECT_ACL_REPO_CONF = env_s3_config('TEST_2') BC_INBOX_REPO_CONF = env_queue_config('TEST_1') OBJECT_RETRIEVAL_REPO_CONF = env_queue_config('TEST_2') NOTIFICATIONS_REPO_CONF = env_queue_config('TEST_3') BLOCKCHAIN_OUTBOX_REPO_CONF = env_postgres_config('TEST') OUR_JRD = env("IGL_COUNTRY", default="AU") def test(): # creating testing versions of all required repos message_lake_repo = MessageLakeRepo(MESSAGE_LAKE_REPO_CONF) object_acl_repo = ObjectACLRepo(OBJECT_ACL_REPO_CONF) bc_inbox_repo = BCInboxRepo(BC_INBOX_REPO_CONF) object_retrieval_repo = ObjectRetrievalRepo(OBJECT_RETRIEVAL_REPO_CONF) notifications_repo = NotificationsRepo(NOTIFICATIONS_REPO_CONF)
def _prepare_subscriptions_repo(self, conf): subscriptions_repo_conf = env_s3_config('PROC_SUB_REPO') if conf: subscriptions_repo_conf.update(conf) self.subscriptions_repo = SubscriptionsRepo(subscriptions_repo_conf)
def _prepare_object_acl_repo(self, conf): object_acl_repo_conf = env_s3_config('PROC_OBJECT_ACL_REPO') if conf: object_acl_repo_conf.update(conf) self.object_acl_repo = ObjectACLRepo(object_acl_repo_conf)
def _prepare_message_lake_repo(self, conf): message_lake_repo_conf = env_s3_config('PROC_MESSAGE_LAKE') if conf: message_lake_repo_conf.update(conf) self.message_lake_repo = MessageLakeRepo(message_lake_repo_conf)
'sender', 'receiver', 'subject', 'obj', 'predicate', 'status' ) assert message.sender == 'sender' assert message.receiver == 'receiver' assert message.subject == 'subject' assert message.obj == 'obj' assert message.predicate == 'predicate' assert message.status == 'status' message = Message( 'sender', 'receiver', 'subject', 'obj', 'predicate' ) assert message.sender == 'sender' assert message.receiver == 'receiver' assert message.subject == 'subject' assert message.obj == 'obj' assert message.predicate == 'predicate' assert message.status is None TEST_CONFIG = env_s3_config('TEST')
class Config(object): """Base configuration.""" DEBUG = env_bool('IGL_DEBUG', default=True) TESTING = env_bool('IGL_TESTING', default=True) OBJECT_LAKE_CONN = env_s3_config('DOCAPI_OBJ_LAKE') OBJECT_ACL_CONN = env_s3_config('DOCAPI_OBJ_ACL')
SENDER_REF_KEY, Message) from tests.unit.domain.wire_protocols.test_generic_message import ( _generate_msg_dict) MESSAGES_DATA = [ ('AU', 'aaaa'), ('US', 'bbbb'), ('DE', 'cccc'), ('FR', 'dddd'), ('GB', 'eeee'), ('UA', 'ffff'), ] # required to not share repos with running workers MESSAGE_LAKE_REPO_CONF = env_s3_config('TEST') REJECTED_MESSAGES_REPO_CONF = env_queue_config('TEST') def test(docker_setup): message_lake_repo = MessageLakeRepo(MESSAGE_LAKE_REPO_CONF) rejected_message_repo = RejectedMessagesRepo(REJECTED_MESSAGES_REPO_CONF) # ensuring that repos are empty message_lake_repo._unsafe_clear_for_test() rejected_message_repo._unsafe_clear_for_test() updater = RejectedStatusUpdater( rejected_message_repo_conf=REJECTED_MESSAGES_REPO_CONF, message_lake_repo_conf=MESSAGE_LAKE_REPO_CONF)
class Config(object): """Base configuration.""" DEBUG = env_bool('IGL_DEBUG', default=True) TESTING = env_bool('IGL_TESTING', default=True) SUBSCR_REPO_CONF = env_s3_config('SUBSCR_API_REPO')