Exemple #1
0
 def test_request(self):
     DataCollector().configure(request=Request.objects.create(
         path='/path/to/somewhere'))
     sql, _ = mock_sql()
     execute_sql(sql)
     query = self._query()
     self.assertEqual(query['request'], DataCollector().request)
Exemple #2
0
 def test_registration(self):
     DataCollector().configure(request=Request.objects.create(
         path='/path/to/somewhere'))
     sql, _ = mock_sql()
     execute_sql(sql)
     query = self._query()
     self.assertIn(query, DataCollector().queries)
Exemple #3
0
 def setUpClass(cls):
     DataCollector().configure(request=None)
     delete_all_models(SQLQuery)
     cls.mock_sql, cls.query_string = mock_sql()
     kwargs = {'one': 1, 'two': 2}
     cls.args = [1, 2]
     cls.kwargs = kwargs
     execute_sql(cls.mock_sql, *cls.args, **cls.kwargs)
Exemple #4
0
 def test_explain(self):
     DataCollector().configure(request=Request.objects.create(
         path='/path/to/somewhere'))
     sql, qs = mock_sql()
     prefix = "EXPLAIN"
     mock_cursor = sql.connection.cursor.return_value.__enter__.return_value
     sql.connection.ops.explain_query_prefix.return_value = prefix
     execute_sql(sql)
     mock_cursor.execute.assert_called_once_with(f"{prefix} {qs}", ())
Exemple #5
0
 def test_no_effect(self):
     DataCollector().configure()
     sql, _ = mock_sql()
     sql.query.model = NonCallableMagicMock(spec_set=['__module__'])
     sql.query.model.__module__ = 'silk.models'
     # No SQLQuery models should be created for silk requests for obvious reasons
     with patch('silk.sql.DataCollector', return_value=Mock()) as mock_DataCollector:
         execute_sql(sql)
         self.assertFalse(mock_DataCollector().register_query.call_count)
Exemple #6
0
def call_execute_sql(cls, request):
    DataCollector().configure(request=request)
    delete_all_models(SQLQuery)
    cls.mock_sql, cls.query_string = mock_sql()
    kwargs = {'one': 1, 'two': 2}
    cls.args = [1, 2]
    cls.kwargs = kwargs
    with patch('silk.sql.connection'):
        execute_sql(cls.mock_sql, *cls.args, **cls.kwargs)
Exemple #7
0
 def test_explain(self):
     DataCollector().configure(request=Request.objects.create(path='/path/to/somewhere'))
     sql, qs = mock_sql()
     prefix = "EXPLAIN"
     with patch('silk.sql.connection') as m:
         mock_cursor = m.cursor.return_value.__enter__.return_value
         m.ops.explain_query_prefix.return_value = prefix
         execute_sql(sql)
         mock_cursor.execute.assert_called_once_with("{} {}".format(prefix, qs), ())
Exemple #8
0
 def test_no_effect(self):
     DataCollector().configure()
     sql, _ = mock_sql()
     sql.query.model = NonCallableMagicMock(spec_set=['__module__'])
     sql.query.model.__module__ = 'silk.models'
     # No SQLQuery models should be created for silk requests for obvious reasons
     with patch('silk.sql.DataCollector', return_value=Mock()) as mock_DataCollector:
         execute_sql(sql)
         self.assertFalse(mock_DataCollector().register_query.call_count)
Exemple #9
0
 def setUpClass(cls):
     DataCollector().configure(request=None)
     delete_all_models(SQLQuery)
     cls.mock_sql, cls.query_string = mock_sql()
     kwargs = {
         'one': 1,
         'two': 2
     }
     cls.args = [1, 2]
     cls.kwargs = kwargs
     execute_sql(cls.mock_sql, *cls.args, **cls.kwargs)
Exemple #10
0
 def test_registration(self):
     DataCollector().configure(request=Request.objects.create(path='/path/to/somewhere'))
     sql, _ = mock_sql()
     execute_sql(sql)
     query = self._query()
     self.assertIn(query, DataCollector().queries)
Exemple #11
0
 def test_request(self):
     DataCollector().configure(request=Request.objects.create(path='/path/to/somewhere'))
     sql, _ = mock_sql()
     execute_sql(sql)
     query = self._query()
     self.assertEqual(query['request'], DataCollector().request)