Skip to content

Commit aa4d3ce

Browse files
committed
Merge branch 'ajout-test-Django' into dev
2 parents ddeb93f + 5ec85c7 commit aa4d3ce

8 files changed

+147
-72
lines changed
+132-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,137 @@
1+
import logging
2+
import pytz
3+
4+
from datetime import datetime
15
from django.test import TestCase
26
from app.models import Sensor, Data
7+
from app.tests.utils import setup_logger
8+
9+
setup_logger()
10+
logger = logging.getLogger("TEST")
311

412
class ByRoomSortTestCase(TestCase):
513
def setUp(self):
6-
pass
14+
self.sensor_1 = Sensor.objects.create(
15+
deveui="24e124128c019417",
16+
devicename="AM107-33",
17+
room="E103",
18+
building="E",
19+
floor=1,
20+
batterylevel=60,
21+
externalpowersource=False
22+
)
23+
24+
# self.sensor_2 = Sensor.objects.create(
25+
# deveui="24e124128c019416",
26+
# devicename="AM107-33",
27+
# room="E102",
28+
# building="E",
29+
# floor=1,
30+
# batterylevel=11.7,
31+
# externalpowersource=True
32+
# )
33+
34+
timezone = pytz.timezone('Europe/Paris')
35+
self.local_time_1 = datetime.now(timezone).isoformat()
36+
37+
self.data_1 = Data.objects.create(
38+
time=self.local_time_1,
39+
temperature=23.5,
40+
humidity=45.3,
41+
activity=0,
42+
co2=500,
43+
tvoc=10000,
44+
illuminance=20000,
45+
infrared=30000,
46+
infrared_and_visible=40000,
47+
pressure=1013.25,
48+
sensor=Sensor.objects.get(deveui=self.sensor_1.deveui)
49+
)
50+
51+
self.local_time_2 = datetime.now(timezone).isoformat()
52+
53+
self.data_2 = Data.objects.create(
54+
time=self.local_time_2,
55+
temperature=23.5,
56+
humidity=45.3,
57+
activity=0,
58+
co2=500,
59+
tvoc=10000,
60+
illuminance=20000,
61+
infrared=30000,
62+
infrared_and_visible=40000,
63+
pressure=1013.25,
64+
sensor=Sensor.objects.get(deveui=self.sensor_1.deveui)
65+
)
66+
67+
self.local_time_3 = datetime.now(timezone).isoformat()
68+
69+
self.data_3 = Data.objects.create(
70+
time=self.local_time_3,
71+
temperature=23.5,
72+
humidity=45.3,
73+
activity=0,
74+
co2=500,
75+
tvoc=10000,
76+
illuminance=20000,
77+
infrared=30000,
78+
infrared_and_visible=40000,
79+
pressure=1013.25,
80+
sensor=Sensor.objects.get(deveui=self.sensor_1.deveui)
81+
)
82+
83+
self.local_time_1 = str(self.local_time_1).split('+')[0]
84+
self.local_time_2 = str(self.local_time_2).split('+')[0]
85+
self.local_time_3 = str(self.local_time_3).split('+')[0]
86+
87+
def test_endpoint_byroomsort_last_data_1(self):
88+
response = self.client.get('/ByRoom/E103/?last_data=2')
89+
90+
expected = {
91+
"room": self.sensor_1.room,
92+
"all_data": [
93+
self.data_2.id,
94+
self.data_3.id
95+
],
96+
"sensor": self.sensor_1.deveui,
97+
"building": self.sensor_1.building,
98+
"floor": self.sensor_1.floor
99+
}
100+
101+
self.assertEqual(response.status_code, 200)
102+
self.assertEqual(response.json(), expected)
103+
104+
105+
def test_endpoint_byroomsort_last_data_2(self):
106+
response = self.client.get('/ByRoom/E103/?last_data=1')
107+
108+
expected = {
109+
"room": self.sensor_1.room,
110+
"all_data": [
111+
self.data_3.id
112+
],
113+
"sensor": self.sensor_1.deveui,
114+
"building": self.sensor_1.building,
115+
"floor": self.sensor_1.floor
116+
}
117+
118+
self.assertEqual(response.status_code, 200)
119+
self.assertEqual(response.json(), expected)
120+
121+
def test_endpoint_byroomsort_from_to_1(self):
122+
response = self.client.get('/ByRoom/E103/?from=' + self.local_time_1 + '&to=' + self.local_time_2)
123+
124+
expected = {
125+
"room": self.sensor_1.room,
126+
"all_data": [
127+
self.data_1.id,
128+
self.data_2.id
129+
],
130+
"sensor": self.sensor_1.deveui,
131+
"building": self.sensor_1.building,
132+
"floor": self.sensor_1.floor
133+
}
134+
135+
self.assertEqual(response.status_code, 200)
136+
self.assertEqual(response.json(), expected)
137+

backend/API/app/tests/test_createsensordata.py

-11
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ class CreateSensorDataTestCase(TestCase):
4747

4848
@classmethod
4949
def setUpTestData(cls):
50-
logger.info("\nSetting up data for CreateSensorDataTestCase")
51-
5250
topic_1 = "application/1/device/+/event/status"
5351
topic_2 = "AM107/by-room/#"
5452

@@ -125,15 +123,6 @@ def setUpTestData(cls):
125123

126124
def test_basics_sensor_creation_1(self):
127125
sensor_test = Sensor.objects.get(deveui="24e124128c010640")
128-
logger.info(f"sensor_test : {sensor_test}")
129-
#lets show content of sensor_test
130-
logger.info(f"sensor_test.deveui : {sensor_test.deveui}")
131-
logger.info(f"sensor_test.devicename : {sensor_test.devicename}")
132-
logger.info(f"sensor_test.room : {sensor_test.room}")
133-
logger.info(f"sensor_test.building : {sensor_test.building}")
134-
logger.info(f"sensor_test.floor : {sensor_test.floor}")
135-
logger.info(f"sensor_test.batterylevel : {sensor_test.batterylevel}")
136-
logger.info(f"sensor_test.externalpowersource : {sensor_test.externalpowersource}")
137126

138127
self.assertEqual(sensor_test.deveui, "24e124128c010640")
139128
self.assertEqual(sensor_test.devicename, "AM107-41")

backend/API/app/tests/test_data.py

-12
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212

1313
class DataTestCase(TestCase):
1414
def setUp(self):
15-
logger.info("\nStarting DataTestCase")
16-
1715
timezone = pytz.timezone('Europe/Paris')
1816
self.local_time_data_1 = datetime.now(timezone).isoformat()
1917

@@ -64,8 +62,6 @@ def setUp(self):
6462
def test_basic_creation_1(self):
6563
data_test = Data.objects.get(id=self.id_data_1)
6664

67-
logger.debug(f"data_test_time {data_test.time}")
68-
6965
self.assertEqual(data_test.time.isoformat(), str(self.local_time_data_1).split('+')[0])
7066
self.assertEqual(data_test.temperature, 23.5)
7167
self.assertEqual(data_test.humidity, 45.3)
@@ -83,8 +79,6 @@ def test_basic_creation_1(self):
8379
def test_basic_creation_2(self):
8480
data_test = Data.objects.get(id=self.id_data_2)
8581

86-
logger.debug(f"data_test_time {data_test.time}")
87-
8882
self.assertEqual(data_test.time.isoformat(), str(self.local_time_data_2).split('+')[0])
8983
self.assertEqual(data_test.temperature, 30.5)
9084
self.assertEqual(data_test.humidity, 60.3)
@@ -100,8 +94,6 @@ def test_basic_creation_2(self):
10094
def test_endpoint_Data_basic(self):
10195
response = self.client.get('/Data/')
10296

103-
logger.debug(f"Data_basic_reponse : {response.json()}")
104-
10597
expected = [
10698
{
10799
"id": self.id_data_1,
@@ -139,8 +131,6 @@ def test_endpoint_Data_basic(self):
139131
def test_endpoint_Data_by_id_1(self):
140132
response = self.client.get(f'/Data/{self.id_data_1}/')
141133

142-
logger.debug(f"Data_by_id_1_reponse : {response.json()}")
143-
144134
expected = {
145135
"id": self.id_data_1,
146136
"time": str(self.local_time_data_1).split('+')[0],
@@ -162,8 +152,6 @@ def test_endpoint_Data_by_id_1(self):
162152
def test_endpoint_Data_by_id_2(self):
163153
response = self.client.get(f'/Data/{self.id_data_2}/')
164154

165-
logger.debug(f"Data_by_id_2_reponse : {response.json()}")
166-
167155
expected = {
168156
"id": self.id_data_2,
169157
"time": str(self.local_time_data_2).split('+')[0],

backend/API/app/tests/test_datasort.py

+9-16
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def setUpTestData(cls):
3131
for i in range(1, 10):
3232
current_local_time = datetime.now(timezone).isoformat()
3333

34-
current_data_id = (
34+
current_data = (
3535
Data.objects.create(
3636
time=current_local_time,
3737
temperature=23.5,
@@ -45,27 +45,20 @@ def setUpTestData(cls):
4545
pressure=1013.25,
4646
sensor=cls.sensor_test
4747
)
48-
).id
48+
)
4949

50-
if i == 3 or i == 8:
51-
cls.data_save_times.append(current_local_time)
52-
cls.data_save_ids.append(current_data_id)
53-
54-
logger.debug(f"Data save times: {cls.data_save_times}")
55-
logger.debug(f"Data save IDs: {cls.data_save_ids}")
50+
if i == 3 or i == 4:
5651

52+
cls.data_save_times.append(current_local_time)
53+
cls.data_save_ids.append(current_data.id)
5754

58-
def test_endpoint_datasort_1(self):
59-
logger.debug("COUCOU")
60-
logger.debug(f"Data save times: {self.data_save_times}")
61-
logger.debug(f"Data save IDs: {self.data_save_ids}")
62-
response = self.client.get(f'/Data/?from={self.data_save_times[0]}&to={self.data_save_times[1]}')
63-
# logger.debug(f"DataSort_1_reponse : {response.json()}")
55+
def test_endpoint_datasort(self):
56+
response = self.client.get('/Data/?from=' + self.data_save_times[0] + '&to=' + self.data_save_times[1])
6457

6558
expected = [
6659
{
6760
"id": self.data_save_ids[0],
68-
"time": self.data_save_times[0],
61+
"time": self.data_save_times[0].split('+')[0],
6962
"temperature": 23.5,
7063
"humidity": 45.3,
7164
"activity": 0,
@@ -79,7 +72,7 @@ def test_endpoint_datasort_1(self):
7972
},
8073
{
8174
"id": self.data_save_ids[1],
82-
"time": self.data_save_times[1],
75+
"time": self.data_save_times[1].split('+')[0],
8376
"temperature": 23.5,
8477
"humidity": 45.3,
8578
"activity": 0,

backend/API/app/tests/test_depth.py

-15
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,10 @@ class DepthTestCase(TestCase):
1313

1414
@classmethod
1515
def setUpTestData(cls):
16-
logger.info("\nSetting up data for DepthTestCase")
1716

1817
timezone = pytz.timezone('Europe/Paris')
1918
cls.local_time = datetime.now(timezone).isoformat()
2019

21-
logger.debug(f"Local time : {cls.local_time}")
22-
2320
# Création d'un sensor unique pour chaque test
2421
cls.sensor = Sensor.objects.create(
2522
deveui="24e124128c019417",
@@ -47,11 +44,9 @@ def setUpTestData(cls):
4744

4845
cls.local_time = str(cls.local_time).split('+')[0]
4946

50-
logger.debug(f"Data created : {cls.data_id} at time {cls.local_time}")
5147

5248
def test_endpoint_depth_0_sensor(self):
5349
response = self.client.get('/Sensor/?depth=0')
54-
logger.debug(f"Depth_0_sensor_reponse : {response.json()}")
5550

5651
expected = [
5752
{
@@ -72,8 +67,6 @@ def test_endpoint_depth_0_sensor(self):
7267
def test_endpoint_depth_0_data(self):
7368
response = self.client.get('/Data/?depth=0')
7469

75-
logger.debug(f"Depth_0_data_reponse : {response.json()}")
76-
7770
expected = [
7871
{
7972
"id": self.data_id,
@@ -97,8 +90,6 @@ def test_endpoint_depth_0_data(self):
9790
def test_endpoint_depth_0_byroom(self):
9891
reponse = self.client.get('/ByRoom/?depth=0')
9992

100-
logger.debug(f"Depth_0_byroom_reponse : {reponse.json()}")
101-
10293
expected = [
10394
{
10495
"room": "E103",
@@ -117,8 +108,6 @@ def test_endpoint_depth_0_byroom(self):
117108
def test_endpoint_depth_1_sensor(self):
118109
response = self.client.get('/Sensor/?depth=1')
119110

120-
logger.debug(f"Depth_1_sensor_reponse : {response.json()}")
121-
122111
expected = [
123112
{
124113
"deveui": "24e124128c019417",
@@ -152,8 +141,6 @@ def test_endpoint_depth_1_sensor(self):
152141
def test_endpoint_depth_1_data(self):
153142
response = self.client.get('/Data/?depth=1')
154143

155-
logger.debug(f"Depth_1_data_reponse : {response.json()}")
156-
157144
expected = [
158145
{
159146
"id": self.data_id,
@@ -186,8 +173,6 @@ def test_endpoint_depth_1_data(self):
186173
def test_endpoint_depth_1_byroom(self):
187174
response = self.client.get('/ByRoom/?depth=1')
188175

189-
logger.debug(f"Depth_1_byroom_reponse : {response.json()}")
190-
191176
expected = [
192177
{
193178
"room": "E103",

backend/API/app/tests/test_sensor.py

-13
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
class SensorTestCase(TestCase):
1111
def setUp(self):
12-
logger.info("\nStarting SensorTestCase")
1312
self.deveui_sensor_1 = (
1413
Sensor.objects.create(
1514
deveui="24e124128c019417",
@@ -22,9 +21,6 @@ def setUp(self):
2221
)
2322
).deveui
2423

25-
logger.debug(f"deveui_sensor_1 : {self.deveui_sensor_1}")
26-
logger.debug(f'/Sensor/{self.deveui_sensor_1}/')
27-
2824
self.deveui_sensor_2 = (
2925
Sensor.objects.create(
3026
deveui="24e124128c019416",
@@ -37,8 +33,6 @@ def setUp(self):
3733
)
3834
).deveui
3935

40-
logger.debug(f"deveui_sensor_2 : {self.deveui_sensor_2}")
41-
logger.debug(f'/Sensor/{self.deveui_sensor_2}/')
4236

4337
def test_basic_creation_1(self):
4438
sensor_test = Sensor.objects.get(deveui=self.deveui_sensor_1)
@@ -64,8 +58,6 @@ def test_endpoint_Sensor_basic(self):
6458
# Get the response for the endpoint.
6559
response = self.client.get('/Sensor/')
6660

67-
logger.debug(f"Sensor_basic_reponse : {response.json()}")
68-
6961
# Define the expected response.
7062
expected = [
7163
{
@@ -99,9 +91,6 @@ def test_endpoint_Sensor_basic(self):
9991
def test_endpoint_Sensor_by_deveui_1(self):
10092
# Get the response for the endpoint.
10193
response = self.client.get(f'/Sensor/{self.deveui_sensor_1}/')
102-
logger.debug(f'/Sensor/{self.deveui_sensor_1}/')
103-
104-
logger.debug(f"Sensor_by_deveui_1_reponse : {response.json()}")
10594

10695
# Define the expected response.
10796
excepted = {
@@ -125,8 +114,6 @@ def test_endpoint_Sensor_by_deveui_2(self):
125114
# Get the response for the endpoint.
126115
response = self.client.get(f'/Sensor/{self.deveui_sensor_2}/')
127116

128-
logger.debug(f"Sensor_by_deveui_2_reponse : {response.json()}")
129-
130117
# Define the expected response.
131118
excepted = {
132119
"deveui": "24e124128c019416",

0 commit comments

Comments
 (0)