Skip to content

Commit 9c9f067

Browse files
committed
v0.2.2 Fix migrations and tests.
1 parent da5c9a2 commit 9c9f067

File tree

3 files changed

+36
-12
lines changed

3 files changed

+36
-12
lines changed

webshell/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = (0, 2, 1)
1+
VERSION = (0, 2, 2)
22

33

44
def get_version():

webshell/migrations/0001_initial.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ class Migration(migrations.Migration):
1414
name='Script',
1515
fields=[
1616
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
17-
('name', models.CharField(max_length=100)),
18-
('source', models.TextField()),
17+
('name', models.CharField(max_length=100, verbose_name='Name')),
18+
('source', models.TextField(verbose_name='Source')),
1919
],
2020
options={
21+
'verbose_name': 'Script',
22+
'verbose_name_plural': 'Scripts',
2123
},
22-
bases=(models.Model,),
2324
),
2425
]

webshell/tests.py

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,26 @@
22
from django.test import TestCase
33
from django.conf import settings
44
from django.core.urlresolvers import reverse
5-
from django.contrib.auth.models import User
5+
from django.contrib.auth import get_user_model
6+
7+
from webshell.models import Script
8+
9+
User = get_user_model()
610

711

812
class WebshellTestCase(TestCase):
913
def setUp(self):
10-
self.user = User.objects.create(username='user')
14+
self.user = User.objects.create(
15+
username='user', is_staff=True, is_superuser=True)
1116
self.user.set_password('123456')
1217
self.user.save()
1318
self.url = reverse('execute-script')
1419
self.login_url = '%s?next=%s' % (settings.LOGIN_URL, self.url)
1520

21+
def login(self):
22+
self.assertTrue(self.client.login(
23+
username=self.user.username, password='123456'))
24+
1625
def test_wrong_method(self):
1726
response = self.client.get(self.url)
1827
self.assertEqual(response.status_code, 405)
@@ -22,16 +31,30 @@ def test_login_required(self):
2231
self.assertRedirects(response, self.login_url, 302, 404)
2332

2433
def test_superuser_required(self):
25-
self.assertTrue(
26-
self.client.login(username=self.user.username, password='123456'))
34+
self.user.is_superuser = False
35+
self.user.save()
36+
self.login()
2737
response = self.client.post(self.url)
2838
self.assertRedirects(response, self.login_url, 302, 404)
2939

3040
def test_success(self):
31-
self.user.is_superuser = True
32-
self.user.save()
41+
self.login()
3342

34-
self.assertTrue(
35-
self.client.login(username=self.user.username, password='123456'))
3643
response = self.client.post(self.url, data={'source': 'print(1)'})
44+
self.assertEqual(response.status_code, 200)
3745
self.assertEqual(response.content, b'1\n')
46+
47+
def test_admin(self):
48+
self.login()
49+
50+
script = Script.objects.create(name='Test')
51+
52+
urls = (
53+
reverse('admin:webshell_script_add'),
54+
reverse('admin:webshell_script_change', args=[script.id]),
55+
reverse('admin:webshell_script_changelist'),
56+
)
57+
58+
for url in urls:
59+
response = self.client.get(url)
60+
self.assertEqual(response.status_code, 200)

0 commit comments

Comments
 (0)