refactor tests for better composability
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
816543a0ab
commit
68a9d520f2
10 changed files with 316 additions and 301 deletions
|
|
@ -36,51 +36,63 @@ class SignatureAuthClient:
|
|||
base = Client(SERVER_NAME='testserver')
|
||||
|
||||
def get(self, target, user, **kwargs):
|
||||
if user is None:
|
||||
raise ValueError("User must not be None")
|
||||
signature = user.sign("http://testserver" + target)
|
||||
header = {'HTTP_AUTHORIZATION': 'Signature ' + str(user) + ':' + signature}
|
||||
return self.base.get(target, **header, **kwargs)
|
||||
|
||||
def post(self, target, user, data, **kwargs):
|
||||
if user is None:
|
||||
raise ValueError("User must not be None")
|
||||
json_data = json.dumps(data, separators=(',', ':'))
|
||||
signature = user.sign("http://testserver" + target + json_data)
|
||||
header = {'HTTP_AUTHORIZATION': 'Signature ' + str(user) + ':' + signature}
|
||||
return self.base.post(target, json_data, **header, content_type='application/json', **kwargs)
|
||||
|
||||
def put(self, target, user, data, **kwargs):
|
||||
if user is None:
|
||||
raise ValueError("User must not be None")
|
||||
json_data = json.dumps(data, separators=(',', ':'))
|
||||
signature = user.sign("http://testserver" + target + json_data)
|
||||
header = {'HTTP_AUTHORIZATION': 'Signature ' + str(user) + ':' + signature}
|
||||
return self.base.put(target, json_data, **header, content_type='application/json', **kwargs)
|
||||
|
||||
def patch(self, target, user, data, **kwargs):
|
||||
if user is None:
|
||||
raise ValueError("User must not be None")
|
||||
json_data = json.dumps(data, separators=(',', ':'))
|
||||
signature = user.sign("http://testserver" + target + json_data)
|
||||
header = {'HTTP_AUTHORIZATION': 'Signature ' + str(user) + ':' + signature}
|
||||
return self.base.patch(target, json_data, **header, content_type='application/json', **kwargs)
|
||||
|
||||
def delete(self, target, user, **kwargs):
|
||||
if user is None:
|
||||
raise ValueError("User must not be None")
|
||||
signature = user.sign("http://testserver" + target)
|
||||
header = {'HTTP_AUTHORIZATION': 'Signature ' + str(user) + ':' + signature}
|
||||
return self.base.delete(target, **header, **kwargs)
|
||||
|
||||
|
||||
class UserTestCase(TestCase):
|
||||
ext_user1 = None
|
||||
ext_user2 = None
|
||||
local_user1 = None
|
||||
local_user2 = None
|
||||
class ToolshedTestCase(TestCase):
|
||||
f = {}
|
||||
|
||||
def setUp(self):
|
||||
admin = ToolshedUser.objects.create_superuser('admin', 'admin@localhost', '')
|
||||
admin.set_password('testpassword')
|
||||
admin.save()
|
||||
example_com = Domain.objects.create(name='example.com', owner=admin, open_registration=True)
|
||||
example_com.save()
|
||||
self.local_user1 = ToolshedUser.objects.create_user('testuser', 'test@abc.de', '', domain=example_com.name)
|
||||
self.local_user1.set_password('testpassword2')
|
||||
self.local_user1.save()
|
||||
self.local_user2 = ToolshedUser.objects.create_user('testuser2', 'test2@abc.de', '', domain=example_com.name)
|
||||
self.local_user2.set_password('testpassword3')
|
||||
self.local_user2.save()
|
||||
self.ext_user1 = DummyExternalUser('extuser1', 'external.org')
|
||||
self.ext_user2 = DummyExternalUser('extuser2', 'external.org')
|
||||
|
||||
class UserTestMixin:
|
||||
|
||||
def prepare_users(self):
|
||||
self.f['admin'] = ToolshedUser.objects.create_superuser('testadmin', 'testadmin@localhost', '')
|
||||
self.f['admin'].set_password('testpassword')
|
||||
self.f['admin'].save()
|
||||
self.f['example_com'] = Domain.objects.create(name='example.com', owner=self.f['admin'], open_registration=True)
|
||||
self.f['example_com'].save()
|
||||
self.f['local_user1'] = ToolshedUser.objects.create_user('testuser1', 'test1@abc.de', '',
|
||||
domain=self.f['example_com'].name)
|
||||
self.f['local_user1'].set_password('testpassword2')
|
||||
self.f['local_user1'].save()
|
||||
self.f['local_user2'] = ToolshedUser.objects.create_user('testuser2', 'test2@abc.de', '',
|
||||
domain=self.f['example_com'].name)
|
||||
self.f['local_user2'].set_password('testpassword3')
|
||||
self.f['local_user2'].save()
|
||||
self.f['ext_user1'] = DummyExternalUser('extuser1', 'external.org')
|
||||
self.f['ext_user2'] = DummyExternalUser('extuser2', 'external.org')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue