def test_save_if_have_end_time(self): date = datetime.datetime(2016, 1, 1, 12, 0, 3, tzinfo=pytz.UTC) obj = models.Request(path='/some/path/', method='get', end_time=date) obj.save() self.assertEqual(obj.end_time, date) self.assertEqual(obj.time_taken, 3000.0)
def test_save_if_have_body(self): obj = models.Request(path='/some/path/', method='get', body='some text') obj.save() self.assertEqual(obj.body, 'some text')
def test_greedy_garbage_collect(self): for x in range(3): obj = models.Request(path='/', method='get') obj.save() self.assertEqual(models.Request.objects.count(), 4) SilkyConfig().SILKY_MAX_RECORDED_REQUESTS_CHECK_PERCENT = 50 SilkyConfig().SILKY_MAX_RECORDED_REQUESTS = 3 models.Request.garbage_collect(force=True) self.assertGreater(models.Request.objects.count(), 0)
def construct_request_model(self): body, raw_body = self.body() query_params = self.query_params() path = self.request.path resolved = resolve(path) namespace = resolved.namespace view_name = resolved.url_name if namespace: view_name = namespace + ':' + view_name request_model = models.Request(path=path, encoded_headers=self.encoded_headers(), method=self.request.method, query_params=query_params, view_name=view_name, body=body) # Text fields are encoded as UTF-8 in Django and hence will try to coerce # anything to we pass to UTF-8. Some stuff like binary will fail. try: request_model.raw_body = raw_body except UnicodeDecodeError: Logger.debug('NYI: Binary request bodies') # TODO Logger.debug('Created new request model with pk %s' % request_model.pk) return request_model
def test_prof_file_default_storage(self): obj = models.Request(path='/some/path/', method='get') self.assertEqual(obj.prof_file.storage.__class__, ProfilerResultStorage)
def test_save_if_have_no_end_time(self): obj = models.Request(path='/some/path/', method='get') self.assertEqual(obj.time_taken, None) obj.save() self.assertEqual(obj.time_taken, None)
def test_save_if_have_no_raw_body(self): obj = models.Request(path='/some/path/', method='get') self.assertEqual(obj.raw_body, '') obj.save() self.assertEqual(obj.raw_body, '')