Skip to content

Commit

Permalink
Merge pull request jazzband#326 from jazzband/travis-matrix
Browse files Browse the repository at this point in the history
Update Travis CI matrix
  • Loading branch information
regzon authored Feb 13, 2019
2 parents 0384cfd + a7d9aa9 commit 26b1725
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 46 deletions.
32 changes: 25 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,50 @@
language: python
dist: xenial
sudo: false
python:
- '2.7'
- '3.4'
- '3.5'
- '3.6'
- '3.7'
env:
- DJANGO="Django>=1.11.0,<2.0" DB=postgresql DB_NAME=travis_ci_test
- DJANGO="Django>=2.0,<2.1.0" DB=postgresql DB_NAME=travis_ci_test
- DJANGO="Django>=2.1,<2.2.0" DB=postgresql DB_NAME=travis_ci_test
- DJANGO="Django>=1.11.0,<2.0" DB=sqlite3 DB_NAME=db.sqlite3
- DJANGO="Django>=2.0,<2.1.0" DB=sqlite3 DB_NAME=db.sqlite3
- DJANGO="Django>=2.1,<2.2.0" DB=sqlite3 DB_NAME=db.sqlite3
- DJANGO="Django>=1.11.0,<2.0" DB=mysql DB_NAME=mysql_db
- DJANGO="Django>=2.0,<2.1.0" DB=mysql DB_NAME=mysql_db
- DJANGO="Django>=2.1,<2.2.0" DB=mysql DB_NAME=mysql_db
matrix:
allow_failures:
- python: '2.7'
env: DJANGO="Django>=1.11.0,<2.0"
- python: '3.4'
env: DJANGO="Django>=1.11.0,<2.0"
- python: '3.5'
env: DJANGO="Django>=1.11.0,<2.0"
exclude:
- python: '2.7'
env: DJANGO="Django>=2.0,<2.1.0" DB=postgresql DB_NAME=travis_ci_test
- python: '2.7'
env: DJANGO="Django>=2.1,<2.2.0" DB=postgresql DB_NAME=travis_ci_test
- python: '2.7'
env: DJANGO="Django>=2.0,<2.1.0" DB=sqlite3 DB_NAME=db.sqlite3
- python: '2.7'
env: DJANGO="Django>=2.1,<2.2.0" DB=sqlite3 DB_NAME=db.sqlite3
- python: '2.7'
env: DJANGO="Django>=2.0,<2.1.0" DB=mysql DB_NAME=mysql_db
- python: '2.7'
env: DJANGO="Django>=2.1,<2.2.0" DB=mysql DB_NAME=mysql_db
- python: '3.4'
env: DJANGO="Django>=2.1,<2.2.0" DB=postgresql DB_NAME=travis_ci_test
- python: '3.4'
env: DJANGO="Django>=2.1,<2.2.0" DB=sqlite3 DB_NAME=db.sqlite3
- python: '3.4'
env: DJANGO="Django>=1.11.0,<2.0" DB=mysql DB_NAME=mysql_db
- python: '3.4'
env: DJANGO="Django>=2.0,<2.1.0" DB=mysql DB_NAME=mysql_db
- python: '3.4'
env: DJANGO="Django>=2.1,<2.2.0" DB=mysql DB_NAME=mysql_db
fast_finish: true
services:
- mysql
- postgresql
install:
- travis_retry pip install -q $DJANGO
- travis_retry pip install -r requirements.txt
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ Silk is a live profiling and inspection tool for the Django framework. Silk inte

Silk has been tested with:

* Django: 1.11, 2.0
* Python: 2.7, 3.4, 3.5, 3.6
* Django: 1.11, 2.0, 2.1
* Python: 2.7, 3.4, 3.5, 3.6, 3.7


## Installation
Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,5 @@ Features
Requirements
------------

* Django: 1.11, 2.0
* Python: 2.7, 3.4, 3.5, 3.6
* Django: 1.11, 2.0, 2.1
* Python: 2.7, 3.4, 3.5, 3.6, 3.7
8 changes: 4 additions & 4 deletions project/test-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ Pygments>=2.0,<2.1
six==1.11.0
simplejson==3.13.2
python-dateutil>=2.4,<2.5
requests==2.18.4
requests==2.21.0
sqlparse==0.2.4
Jinja2==2.10
autopep8==1.3.3
autopep8==1.4.3
pytz>2014.2
mock==2.0.0
Pillow==2.5.1
Pillow==5.4.1
factory-boy==2.9.2
freezegun==0.3.9
freezegun==0.3.11
networkx==1.11
pydotplus==2.0.2
contextlib2==0.5.5
101 changes: 70 additions & 31 deletions project/tests/test_end_points.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import random
from django.urls import reverse
from django.db.models import Count
from django.db.models import Count, F

from django.test import TestCase
from silk.config import SilkyConfig
Expand Down 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,53 +78,80 @@ 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)

def test_request_and_profile_sql_detail(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))
random_profile = 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)
)
random_sql_query = random.choice(
models.SQLQuery.objects
.annotate(sql_id=F('id'))
.values('sql_id')
.filter(profiles__id=random_profile['profile_id'])
)
kwargs = {}
kwargs.update(random_profile)
kwargs.update(random_sql_query)
response = self.client.get(silky_reverse('request_and_profile_sql_detail', kwargs=kwargs))
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 26b1725

Please sign in to comment.