mirror of
https://github.com/Nebucatnetzer/network_inventory.git
synced 2024-07-04 23:21:09 +02:00
204 lines
7.0 KiB
Python
204 lines
7.0 KiB
Python
from datetime import datetime
|
|
|
|
from django.test import Client
|
|
from mixer.backend.django import mixer
|
|
import pytest
|
|
|
|
from core.tests import helper
|
|
|
|
|
|
pytestmark = pytest.mark.django_db
|
|
|
|
|
|
def test_device_create_view(create_admin_user):
|
|
fixture = create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
data = {'name': 'Test Device',
|
|
'customer': fixture['customer'].id}
|
|
url = '/customer/{}/create/device/'.format(fixture['customer'].id)
|
|
response = client.post(url, data)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_device_delete_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device')
|
|
response = client.post('/delete/device/{}/'.format(device.pk))
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_load_device_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
response = client.get('/update/device/{}/'.format(device.pk))
|
|
assert (response.status_code == 200
|
|
and helper.in_content(response, device.name))
|
|
|
|
|
|
def test_device_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
data = {'name': 'Foo',
|
|
'description': '',
|
|
'serialnumber': '',
|
|
'category': '',
|
|
'owner': '',
|
|
'customer': device.customer.id,
|
|
'manufacturer': '',
|
|
'model': '',
|
|
'location': '',
|
|
'user': '',
|
|
'installation_date': '',
|
|
'save_device': ""}
|
|
response = client.post('/update/device/{}/'.format(device.pk), data)
|
|
assert response.status_code == 302
|
|
device.refresh_from_db()
|
|
assert device.name == data['name']
|
|
|
|
|
|
def test_device_update_view_wrong_name(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device1 = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
device2 = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
data = {'name': device2.name,
|
|
'description': '',
|
|
'serialnumber': '',
|
|
'category': '',
|
|
'owner': '',
|
|
'customer': device1.customer.id,
|
|
'manufacturer': '',
|
|
'model': '',
|
|
'location': '',
|
|
'user': '',
|
|
'installation_date': '',
|
|
'save_device': ""}
|
|
response = client.post('/update/device/{}/'.format(device1.pk), data)
|
|
assert (response.status_code == 200
|
|
and helper.in_content(
|
|
response,
|
|
"Device with this Name and Customer already exists."))
|
|
|
|
|
|
def test_warranty_create_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
data = {
|
|
'customer': device.customer.id,
|
|
'device': device.id,
|
|
'valid_from': '2020-05-24',
|
|
'valid_until': '2020-05-25',
|
|
'warranty_type': ''
|
|
}
|
|
url = '/device/{}/add/warranty/'.format(device.id)
|
|
response = client.post(url, data)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_warranty_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
warranty = mixer.blend('devices.Warranty',
|
|
customer=device.customer,
|
|
device=device,
|
|
valid_from="2019-05-24",
|
|
valid_until="2020-05-25")
|
|
data = {
|
|
'customer': device.customer.id,
|
|
'device': device.id,
|
|
'valid_from': '2020-05-24',
|
|
'valid_until': '2020-05-25',
|
|
'warranty_type': ''
|
|
}
|
|
response = client.post('/update/warranty/{}/'.format(warranty.pk), data)
|
|
date_from = datetime.strptime(data['valid_from'], "%Y-%m-%d").date()
|
|
assert response.status_code == 302
|
|
warranty.refresh_from_db()
|
|
assert warranty.valid_from == date_from
|
|
|
|
|
|
def test_warranty_delete_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
warranty = mixer.blend('devices.Warranty',
|
|
customer=device.customer,
|
|
device=device,
|
|
valid_from="2019-05-24",
|
|
valid_until="2020-05-25")
|
|
url = '/delete/warranty/{}/'.format(warranty.id)
|
|
response = client.post(url)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_device_in_net_create_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
net = mixer.blend('nets.Net', customer=device.customer)
|
|
data = {
|
|
'device': device.id,
|
|
'net': net.id,
|
|
'ip': '192.168.1.20',
|
|
'nic': '',
|
|
'mac_address': '',
|
|
'ip_status': '1'
|
|
}
|
|
url = '/device/{}/add/device-in-net/'.format(device.id)
|
|
response = client.post(url, data)
|
|
assert response.status_code == 302
|
|
|
|
|
|
def test_device_in_net_update_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
net = mixer.blend('nets.Net', customer=device.customer)
|
|
device_in_net = mixer.blend('devices.DeviceInNet',
|
|
customer=device.customer,
|
|
device=device,
|
|
net=net)
|
|
data = {
|
|
'device': device.id,
|
|
'net': net.id,
|
|
'ip': '192.168.1.20',
|
|
'nic': '',
|
|
'mac_address': '',
|
|
'ip_status': '1'
|
|
}
|
|
response = client.post(
|
|
'/update/device-in-net/{}/'.format(device_in_net.pk), data)
|
|
assert response.status_code == 302
|
|
device_in_net.refresh_from_db()
|
|
assert device_in_net.ip == data['ip']
|
|
|
|
|
|
def test_device_in_net_delete_view(create_admin_user):
|
|
create_admin_user()
|
|
client = Client()
|
|
client.login(username="pharma-admin", password="password")
|
|
device = mixer.blend('devices.Device', customer=mixer.SELECT)
|
|
net = mixer.blend('nets.Net', customer=device.customer)
|
|
device_in_net = mixer.blend('devices.DeviceInNet',
|
|
customer=device.customer,
|
|
device=device,
|
|
net=net)
|
|
url = '/delete/device-in-net/{}/'.format(device_in_net.id)
|
|
response = client.post(url)
|
|
assert response.status_code == 302
|