コード例 #1
0
    def setUpClass(cls):
        super(UCRMultiDBTest, cls).setUpClass()
        cls.db2_name = 'cchq_ucr_tests'
        default_db_url = connections.connection_manager.get_connection_string(DEFAULT_DB_ALIAS)
        db_conn_parts = default_db_url.split('/')
        db_conn_parts[-1] = cls.db2_name
        cls.db2_url = '/'.join(db_conn_parts)

        cls.context_managers = ExitStack()
        cls.context_managers.enter_context(connections.override_engine('engine-1', default_db_url, 'default'))
        cls.context_managers.enter_context(connections.override_engine('engine-2', cls.db2_url, cls.db2_name))

        # setup data sources
        data_source_template = get_sample_data_source()
        cls.ds_1 = DataSourceConfiguration.wrap(data_source_template.to_json())
        cls.ds_1.engine_id = 'engine-1'
        cls.ds_1.save()
        cls.ds_2 = DataSourceConfiguration.wrap(data_source_template.to_json())
        cls.ds_2.engine_id = 'engine-2'
        cls.ds_2.save()

        cls.context_managers.enter_context(temporary_database(cls.db2_name))

        cls.ds1_adapter = get_indicator_adapter(cls.ds_1)
        cls.ds2_adapter = get_indicator_adapter(cls.ds_2)
コード例 #2
0
    def setUpClass(cls):
        cls.db2_name = 'cchq_ucr_tests'
        db_conn_parts = settings.SQL_REPORTING_DATABASE_URL.split('/')
        db_conn_parts[-1] = cls.db2_name
        cls.db2_url = '/'.join(db_conn_parts)

        # setup patches
        cls.connection_string_patch = patch('corehq.sql_db.connections.connection_manager.get_connection_string')

        def connection_string_for_engine(engine_id):
            if engine_id == 'engine-1':
                return settings.SQL_REPORTING_DATABASE_URL
            else:
                return cls.db2_url

        mock_manager = cls.connection_string_patch.start()
        mock_manager.side_effect = connection_string_for_engine

        # setup data sources
        data_source_template = get_sample_data_source()
        cls.ds_1 = DataSourceConfiguration.wrap(data_source_template.to_json())
        cls.ds_1.engine_id = 'engine-1'
        cls.ds_1.save()
        cls.ds_2 = DataSourceConfiguration.wrap(data_source_template.to_json())
        cls.ds_2.engine_id = 'engine-2'
        cls.ds_2.save()

        cls.db_context = temporary_database(cls.db2_name)
        cls.db_context.__enter__()

        cls.ds1_adapter = IndicatorSqlAdapter(cls.ds_1)
        cls.ds2_adapter = IndicatorSqlAdapter(cls.ds_2)
コード例 #3
0
ファイル: test_indicators.py プロジェクト: dimagi/commcare-hq
    def setUp(self):
        super(TestSavingToUCRDatabase, self).setUp()
        self.cc_domain, self.cc_user = create_domain_and_user(self.domain_name, 'user_ucr')

        self.ucr_db_name = 'cchq_ucr_tests'
        db_conn_parts = connection_manager.get_connection_string('default').split('/')
        db_conn_parts[-1] = self.ucr_db_name
        self.ucr_db_url = '/'.join(db_conn_parts)

        self.db_context = temporary_database(self.ucr_db_name)
        self.db_context.__enter__()
コード例 #4
0
ファイル: test_indicators.py プロジェクト: twymer/commcare-hq
    def setUp(self):
        super(TestSavingToUCRDatabase, self).setUp()
        self.cc_domain, self.cc_user = create_domain_and_user(self.domain_name, 'user_ucr')

        self.ucr_db_name = 'cchq_ucr_tests'
        db_conn_parts = connection_manager.get_connection_string(DEFAULT_DB_ALIAS).split('/')
        db_conn_parts[-1] = self.ucr_db_name
        self.ucr_db_url = '/'.join(db_conn_parts)

        self.db_context = temporary_database(self.ucr_db_name)
        self.db_context.__enter__()
コード例 #5
0
    def setUp(self):
        super(TestSavingToUCRDatabase, self).setUp()
        self.cc_domain, self.cc_user = create_domain_and_user(self.domain_name, 'user_ucr')
        create_cases_for_types(self.cc_domain.name, ['person', 'dog'])

        self.ucr_db_name = 'cchq_ucr_tests'
        db_conn_parts = settings.SQL_REPORTING_DATABASE_URL.split('/')
        db_conn_parts[-1] = self.ucr_db_name
        self.ucr_db_url = '/'.join(db_conn_parts)

        self.db_context = temporary_database(self.ucr_db_name)
        self.db_context.__enter__()
コード例 #6
0
    def setUp(self):
        super(TestSavingToUCRDatabase, self).setUp()
        self.cc_domain, self.cc_user = create_domain_and_user(
            self.domain_name, 'user_ucr')

        self.ucr_db_name = 'cchq_ucr_tests'
        db_conn_parts = settings.SQL_REPORTING_DATABASE_URL.split('/')
        db_conn_parts[-1] = self.ucr_db_name
        self.ucr_db_url = '/'.join(db_conn_parts)

        self.db_context = temporary_database(self.ucr_db_name)
        self.db_context.__enter__()
コード例 #7
0
ファイル: test_multi_db.py プロジェクト: dimagi/commcare-hq
    def setUpClass(cls):
        super(UCRMultiDBTest, cls).setUpClass()
        cls.db2_name = 'cchq_ucr_tests'
        db_conn_parts = connections.connection_manager.get_connection_string('default').split('/')
        db_conn_parts[-1] = cls.db2_name
        cls.db2_url = '/'.join(db_conn_parts)

        cls.context_manager = connections.override_engine('engine-2', cls.db2_url, cls.db2_name)
        cls.context_manager.__enter__()

        # setup data sources
        data_source_template = get_sample_data_source()
        cls.ds_1 = DataSourceConfiguration.wrap(data_source_template.to_json())
        cls.ds_1.engine_id = 'engine-1'
        cls.ds_1.save()
        cls.ds_2 = DataSourceConfiguration.wrap(data_source_template.to_json())
        cls.ds_2.engine_id = 'engine-2'
        cls.ds_2.save()

        cls.db_context = temporary_database(cls.db2_name)
        cls.db_context.__enter__()

        cls.ds1_adapter = get_indicator_adapter(cls.ds_1)
        cls.ds2_adapter = get_indicator_adapter(cls.ds_2)