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)