Ejemplo n.º 1
0
 def setUp(self):
     super(TestManagerStoreResults, 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"
Ejemplo n.º 2
0
    def test_post_result_list(self):
        data_source = data_source_factory.create()
        query_result = query_result_factory.create()
        query = query_factory.create()

        with app.test_client() as c, authenticated_user(c):
            rv = json_request(
                c.post, "/api/query_results", data={"data_source_id": data_source.id, "query": query.query}
            )
            self.assertEquals(rv.status_code, 200)
Ejemplo n.º 3
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_id = data_manager.store_query_result(self.data_source.id, 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)
Ejemplo n.º 4
0
    def test_create_query(self):
        user = user_factory.create()
        data_source = data_source_factory.create()
        query_data = {"name": "Testing", "query": "SELECT 1", "schedule": "3600", "data_source_id": data_source.id}

        with app.test_client() as c, authenticated_user(c, user=user):
            rv = json_request(c.post, "/api/queries", data=query_data)

            self.assertEquals(rv.status_code, 200)
            self.assertDictContainsSubset(query_data, rv.json)
            self.assertEquals(rv.json["user"]["id"], user.id)
            self.assertIsNotNone(rv.json["api_key"])
            self.assertIsNotNone(rv.json["query_hash"])

            query = models.Query.get_by_id(rv.json["id"])
            self.assertEquals(len(list(query.visualizations)), 1)
Ejemplo n.º 5
0
    def test_create_query(self):
        user = user_factory.create()
        data_source = data_source_factory.create()
        query_data = {
            'name': 'Testing',
            'query': 'SELECT 1',
            'schedule': "3600",
            'data_source_id': data_source.id
        }

        with app.test_client() as c, authenticated_user(c, user=user):
            rv = json_request(c.post, '/api/queries', data=query_data)

            self.assertEquals(rv.status_code, 200)
            self.assertDictContainsSubset(query_data, rv.json)
            self.assertEquals(rv.json['user']['id'], user.id)
            self.assertIsNotNone(rv.json['api_key'])
            self.assertIsNotNone(rv.json['query_hash'])

            query = models.Query.get_by_id(rv.json['id'])
            self.assertEquals(len(list(query.visualizations)), 1)
Ejemplo n.º 6
0
    def test_create_query(self):
        user = user_factory.create()
        data_source = data_source_factory.create()
        query_data = {
            'name': 'Testing',
            'query': 'SELECT 1',
            'ttl': 3600,
            'data_source_id': data_source.id
        }

        with app.test_client() as c, authenticated_user(c, user=user):
            rv = json_request(c.post, '/api/queries', data=query_data)

            self.assertEquals(rv.status_code, 200)
            self.assertDictContainsSubset(query_data, rv.json)
            self.assertEquals(rv.json['user']['id'], user.id)
            self.assertIsNotNone(rv.json['api_key'])
            self.assertIsNotNone(rv.json['query_hash'])

            query = models.Query.get_by_id(rv.json['id'])
            self.assertEquals(len(list(query.visualizations)), 1)
Ejemplo n.º 7
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_id = data_manager.store_query_result(
            self.data_source.id, 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)