コード例 #1
0
    def test_get_latest_doesnt_return_query_from_different_data_source(self):
        qr = query_result_factory.create()
        data_source = data_source_factory.create()
        found_query_result = models.QueryResult.get_latest(
            data_source, qr.query, 60)

        self.assertIsNone(found_query_result)
コード例 #2
0
 def setUp(self):
     super(TestQueryResultStoreResult, self).setUp()
     self.data_source = data_source_factory.create()
     self.query = "SELECT 1"
     self.query_hash = gen_query_hash(self.query)
     self.runtime = 123
     self.utcnow = datetime.datetime.utcnow()
     self.data = "data"
コード例 #3
0
 def setUp(self):
     super(TestQueryResultStoreResult, self).setUp()
     self.data_source = data_source_factory.create()
     self.query = "SELECT 1"
     self.query_hash = gen_query_hash(self.query)
     self.runtime = 123
     self.utcnow = datetime.datetime.utcnow()
     self.data = "data"
コード例 #4
0
    def test_imports_updates_existing_models(self):
        importer = import_export.Importer(data_source=data_source_factory.create())
        importer.import_dashboard(self.user, self.dashboard)

        self.dashboard['name'] = 'Testing #2'
        dashboard = importer.import_dashboard(self.user, self.dashboard)
        self.assertEqual(dashboard.name, self.dashboard['name'])
        self.assertEquals(models.Dashboard.select().count(), 1)
コード例 #5
0
    def test_using_existing_mapping(self):
        dashboard = dashboard_factory.create()
        mapping = {'Dashboard': {"1": dashboard.id}}

        importer = import_export.Importer(
            object_mapping=mapping, data_source=data_source_factory.create())
        imported_dashboard = importer.import_dashboard(self.user,
                                                       self.dashboard)

        self.assertEqual(imported_dashboard, dashboard)
コード例 #6
0
ファイル: test_models.py プロジェクト: MiguelPeralvoPM/redash
    def test_get_schema(self):
        return_value = [{'name': 'table', 'columns': []}]

        with mock.patch('redash.query_runner.pg.PostgreSQL.get_schema') as patched_get_schema:
            patched_get_schema.return_value = return_value

            ds = data_source_factory.create()
            schema = ds.get_schema()

            self.assertEqual(return_value, schema)
コード例 #7
0
ファイル: test_models.py プロジェクト: yokotty/redash
    def test_get_schema(self):
        return_value = [{'name': 'table', 'columns': []}]

        with mock.patch('redash.query_runner.pg.PostgreSQL.get_schema') as patched_get_schema:
            patched_get_schema.return_value = return_value

            ds = data_source_factory.create()
            schema = ds.get_schema()

            self.assertEqual(return_value, schema)
コード例 #8
0
    def test_doesnt_update_queries_with_different_data_source(self):
        query1 = query_factory.create(query=self.query, data_source=self.data_source)
        query2 = query_factory.create(query=self.query, data_source=self.data_source)
        query3 = query_factory.create(query=self.query, data_source=data_source_factory.create())

        query_result = models.QueryResult.store_result(self.data_source.id, self.query_hash, self.query, self.data,
                                                       self.runtime, self.utcnow)

        self.assertEqual(models.Query.get_by_id(query1.id)._data['latest_query_data'], query_result.id)
        self.assertEqual(models.Query.get_by_id(query2.id)._data['latest_query_data'], query_result.id)
        self.assertNotEqual(models.Query.get_by_id(query3.id)._data['latest_query_data'], query_result.id)
コード例 #9
0
ファイル: test_models.py プロジェクト: yokotty/redash
    def test_doesnt_update_queries_with_different_data_source(self):
        query1 = query_factory.create(query=self.query, data_source=self.data_source)
        query2 = query_factory.create(query=self.query, data_source=self.data_source)
        query3 = query_factory.create(query=self.query, data_source=data_source_factory.create())

        query_result, _ = models.QueryResult.store_result(self.data_source.id, self.query_hash, self.query, self.data,
                                                       self.runtime, self.utcnow)

        self.assertEqual(models.Query.get_by_id(query1.id)._data['latest_query_data'], query_result.id)
        self.assertEqual(models.Query.get_by_id(query2.id)._data['latest_query_data'], query_result.id)
        self.assertNotEqual(models.Query.get_by_id(query3.id)._data['latest_query_data'], query_result.id)
コード例 #10
0
ファイル: test_import.py プロジェクト: MaTriXy/redash
    def test_using_existing_mapping(self):
        dashboard = dashboard_factory.create()
        mapping = {
            'Dashboard': {
                "1": dashboard.id
            }
        }

        importer = import_export.Importer(object_mapping=mapping, data_source=data_source_factory.create())
        imported_dashboard = importer.import_dashboard(self.user, self.dashboard)

        self.assertEqual(imported_dashboard, dashboard)
コード例 #11
0
ファイル: test_models.py プロジェクト: MiguelPeralvoPM/redash
    def test_get_schema_skips_cache_with_refresh_true(self):
        return_value = [{'name': 'table', 'columns': []}]
        with mock.patch('redash.query_runner.pg.PostgreSQL.get_schema') as patched_get_schema:
            patched_get_schema.return_value = return_value

            ds = data_source_factory.create()
            ds.get_schema()
            new_return_value = [{'name': 'new_table', 'columns': []}]
            patched_get_schema.return_value = new_return_value
            schema = ds.get_schema(refresh=True)

            self.assertEqual(new_return_value, schema)
            self.assertEqual(patched_get_schema.call_count, 2)
コード例 #12
0
ファイル: test_models.py プロジェクト: yokotty/redash
    def test_get_schema_skips_cache_with_refresh_true(self):
        return_value = [{'name': 'table', 'columns': []}]
        with mock.patch('redash.query_runner.pg.PostgreSQL.get_schema') as patched_get_schema:
            patched_get_schema.return_value = return_value

            ds = data_source_factory.create()
            ds.get_schema()
            new_return_value = [{'name': 'new_table', 'columns': []}]
            patched_get_schema.return_value = new_return_value
            schema = ds.get_schema(refresh=True)

            self.assertEqual(new_return_value, schema)
            self.assertEqual(patched_get_schema.call_count, 2)
コード例 #13
0
    def test_imports_dashboard_correctly(self):
        importer = import_export.Importer(data_source=data_source_factory.create())
        dashboard = importer.import_dashboard(self.user, self.dashboard)

        self.assertIsNotNone(dashboard)
        self.assertEqual(dashboard.name, self.dashboard['name'])
        self.assertEqual(dashboard.slug, self.dashboard['slug'])
        self.assertEqual(dashboard.user, self.user)

        self.assertEqual(dashboard.widgets.count(),
                         reduce(lambda s, row: s + len(row), self.dashboard['widgets'], 0))

        self.assertEqual(models.Visualization.select().count(), dashboard.widgets.count()-1)
        self.assertEqual(models.Query.select().count(), dashboard.widgets.count()-2)
コード例 #14
0
    def test_get_latest_doesnt_return_query_from_different_data_source(self):
        qr = query_result_factory.create()
        data_source = data_source_factory.create()
        found_query_result = models.QueryResult.get_latest(data_source, qr.query, 60)

        self.assertIsNone(found_query_result)
コード例 #15
0
 def test_get_latest_returns_none_if_not_found(self):
     ds = data_source_factory.create()
     found_query_result = models.QueryResult.get_latest(ds, "SELECT 1", 60)
     self.assertIsNone(found_query_result)
コード例 #16
0
 def test_get_latest_returns_none_if_not_found(self):
     ds = data_source_factory.create()
     found_query_result = models.QueryResult.get_latest(ds, "SELECT 1", 60)
     self.assertIsNone(found_query_result)