You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
from hashlib import sha256
|
|
from django.shortcuts import resolve_url
|
|
from django.test import TestCase, RequestFactory, override_settings
|
|
|
|
from accounts_app.models import UserProfile
|
|
from devapp.models import Device
|
|
from group_app.models import Group
|
|
|
|
rf = RequestFactory()
|
|
API_SECRET = 'TestApiSecret'
|
|
|
|
|
|
def calc_hash(data):
|
|
if type(data) is str:
|
|
result_data = data.encode('utf-8')
|
|
else:
|
|
result_data = bytes(data)
|
|
return sha256(result_data).hexdigest()
|
|
|
|
|
|
class DevTest(TestCase):
|
|
def setUp(self):
|
|
grp = Group.objects.create(title='Grp1')
|
|
my_admin = UserProfile.objects.create_superuser('+79781234567', 'local_superuser', 'ps')
|
|
# self.client.login(username=my_admin.username, password=my_admin.password)
|
|
self.adminuser = my_admin
|
|
Device.objects.create(
|
|
ip_address='192.168.0.100',
|
|
mac_addr='78:81:f2:1f:d2:a9',
|
|
comment='Test device',
|
|
devtype='On',
|
|
man_passw='public',
|
|
group=grp
|
|
)
|
|
|
|
@override_settings(API_AUTH_SECRET=API_SECRET, API_AUTH_SUBNET='127.0.0.1')
|
|
def test_secure_api_ok(self):
|
|
self.client.force_login(self.adminuser)
|
|
sign = calc_hash(API_SECRET)
|
|
url = resolve_url('devapp:nagios_get_all_hosts')
|
|
r = self.client.get(url, {
|
|
'sign': sign
|
|
})
|
|
self.assertEqual(r.status_code, 200)
|
|
|
|
@override_settings(API_AUTH_SECRET=API_SECRET, API_AUTH_SUBNET='127.0.0.1')
|
|
def test_get_config_nagios_file(self):
|
|
self.client.force_login(self.adminuser)
|
|
sign = calc_hash(API_SECRET)
|
|
url = resolve_url('devapp:nagios_objects_conf')
|
|
r = self.client.get(url, {
|
|
'sign': sign
|
|
})
|
|
self.assertEqual(r.status_code, 200)
|