Source code for apps.api.tests.test_device
from rest_framework.test import APITestCase
from rest_framework import status
from apps.core.models.device_type import DeviceType
[docs]class DeviceTypeTestCase(APITestCase):
[docs] def setUp(self):
DeviceType.objects.create(
type_name="type1", default_version="2020", description="test description 1"
)
[docs] def test_list_of_device_types(self):
# data = {"type_name": "type1", "default_version": "2020", "description": "test description 1"}
response = self.client.get("/api/device_types")
self.assertEqual(response.status_code, status.HTTP_200_OK)
# self.assertEqual(response.data, data)
# self.assertEqual(response.data["default_version"], data["2020"])
# self.assertEqual(response.data["description"], data["description"])
[docs]class DeviceTestCase(APITestCase):
[docs] def setUp(self):
self.type1 = DeviceType.objects.create(
type_name="type1", default_version="2020", description="test description 1"
)
[docs] def test_add_new_devices_by_type(self):
data = [
{
"battery_state": 100,
"title": "rytmus",
"version": "v2021.02.18",
"ip_address": "2001:0db8:5b96:0000:0000:426f:8e17:642a",
},
{
"battery_state": 100,
"title": "ego",
"version": "v2021.02.18",
"ip_address": "2001:0db8:5b96:0000:0000:426f:8e17:642a",
},
]
response = self.client.post(
f"/api/device_types/{self.type1.id}/devices", data=data, format="json"
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
self.assertEqual(response.data[0]["title"], "rytmus")
[docs] def test_add_bad_type(self):
data = [
{
"battery_state": 100,
"title": "rytmus",
"version": "v2021.02.18",
"ip_address": "2001:0db8:5b96:0000:0000:426f:8e17:642a",
}
]
response = self.client.post(
f"/api/device_types/bad_id/devices", data=data, format="json"
)
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
[docs] def test_add_bad_ip_address(self):
data = [
{
"battery_state": 100,
"title": "rytmus",
"version": "v2021.02.18",
"ip_address": "bad_ip_address",
}
]
response = self.client.post(
f"/api/device_types/{self.type1.id}/devices", data=data, format="json"
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
[docs] def test_delete_device_by_type(self):
response = self.client.delete(f"/api/device_types/{self.type1.id}/devices")
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
response = self.client.delete(f"/api/device_types/bad_type/devices")
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)