Skip to content

Commit

Permalink
Refactor Django ORM usage in tests for readability
Browse files Browse the repository at this point in the history
  • Loading branch information
regzon committed Feb 13, 2019
1 parent 84c4baa commit 80432da
Showing 1 changed file with 54 additions and 24 deletions.
78 changes: 54 additions & 24 deletions project/tests/test_end_points.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,28 +36,40 @@ def test_requests(self):
self.assertTrue(response.status_code == 200)

def test_request_detail(self):
request_id = random.choice(models.Request.objects.all()).pk
request_query_data = random.choice(models.Request.objects.values('id'))
request_id = request_query_data['id']
response = self.client.get(silky_reverse('request_detail', kwargs={
'request_id': request_id
}))
self.assertTrue(response.status_code == 200)

def test_request_sql(self):
request_id = random.choice(models.SQLQuery.objects.values('request_id').filter(request_id__isnull=False))
response = self.client.get(silky_reverse('request_sql', kwargs=request_id))
request_query_data = random.choice(
models.SQLQuery.objects
.values('request_id')
.filter(request_id__isnull=False)
)
request_id = request_query_data['request_id']
response = self.client.get(silky_reverse('request_sql', kwargs={'request_id': request_id}))
self.assertTrue(response.status_code == 200)

def test_request_sql_detail(self):
fields = {
'sql_id': 'silk_sqlquery.id',
'request_id': 'request_id'
}
kwargs = random.choice(models.SQLQuery.objects.extra(select=fields).values(*fields.keys()).filter(request_id__isnull=False))
kwargs = random.choice(
models.SQLQuery.objects
.annotate(sql_id=F('id'))
.values('sql_id', 'request_id')
.filter(request_id__isnull=False)
)
response = self.client.get(silky_reverse('request_sql_detail', kwargs=kwargs))
self.assertTrue(response.status_code == 200)

def test_raw(self):
request_id = random.choice(models.Request.objects.filter(body__isnull=False)).pk
request_query_data = random.choice(
models.Request.objects
.values('id')
.filter(body__isnull=False)
)
request_id = request_query_data['id']
url = reverse('silk:raw', kwargs={
'request_id': request_id
})+'?typ=request&subtyp=processed'
Expand All @@ -66,26 +78,31 @@ def test_raw(self):
self.assertTrue(code == 200)

def test_request_profiling(self):
request_id = random.choice(models.Profile.objects.values('request_id').filter(request_id__isnull=False))
request_id = random.choice(
models.Profile.objects
.values('request_id')
.filter(request_id__isnull=False)
)
response = self.client.get(silky_reverse('request_profiling', kwargs=request_id))
self.assertTrue(response.status_code == 200)

def test_request_profile_detail(self):
fields = {
'profile_id': 'silk_profile.id',
'request_id': 'request_id'
}
kwargs = random.choice(models.Profile.objects.extra(select=fields).values(*fields.keys()).filter(request_id__isnull=False))
kwargs = random.choice(
models.Profile.objects
.annotate(profile_id=F('id'))
.values('profile_id', 'request_id')
.filter(request_id__isnull=False)
)
response = self.client.get(silky_reverse('request_profile_detail', kwargs=kwargs))
self.assertTrue(response.status_code == 200)

def test_request_and_profile_sql(self):
fields = {
'profile_id': 'profile_id',
# 'sql_id': 'sqlquery_id',
'request_id': 'request_id'
}
kwargs = random.choice(models.Profile.objects.extra(select=fields).annotate(num=Count('queries')).values(*fields.keys()).filter(request_id__isnull=False, num__gt=0))
kwargs = random.choice(
models.Profile.objects
.annotate(num=Count('queries'), profile_id=F('id'))
.values('profile_id', 'request_id')
.filter(request_id__isnull=False, num__gt=0)
)
response = self.client.get(silky_reverse('request_and_profile_sql', kwargs=kwargs))
self.assertTrue(response.status_code == 200)

Expand All @@ -109,19 +126,32 @@ def test_request_and_profile_sql_detail(self):
self.assertTrue(response.status_code == 200)

def test_profile_detail(self):
profile_id = random.choice(models.Profile.objects.all()).pk
profile_query_data = random.choice(models.Profile.objects.values('id'))
profile_id = profile_query_data['id']
response = self.client.get(silky_reverse('profile_detail', kwargs={
'profile_id': profile_id
}))
self.assertTrue(response.status_code == 200)

def test_profile_sql(self):
profile_id = random.choice(models.Profile.objects.annotate(num=Count('queries')).values_list('id').filter(num__gt=0))[0]
profile_query_data = random.choice(
models.Profile.objects
.annotate(num=Count('queries'))
.values('id')
.filter(num__gt=0)
)
profile_id = profile_query_data['id']
response = self.client.get(silky_reverse('profile_sql', kwargs={'profile_id': profile_id}))
self.assertTrue(response.status_code == 200)

def test_profile_sql_detail(self):
profile_id = random.choice(models.Profile.objects.annotate(num=Count('queries')).values_list('id').filter(num__gt=0))[0]
profile_query_data = random.choice(
models.Profile.objects
.annotate(num=Count('queries'))
.values('id')
.filter(num__gt=0)
)
profile_id = profile_query_data['id']
sql_id = random.choice(models.SQLQuery.objects.filter(profiles=profile_id)).pk
response = self.client.get(silky_reverse('profile_sql_detail', kwargs={'profile_id': profile_id,
'sql_id': sql_id}))
Expand Down

0 comments on commit 80432da

Please sign in to comment.