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)
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)
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)
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}", ())
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)
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)
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), ())
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)
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)
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)