Skip to content

Commit 203cf27

Browse files
committed
adjust test cases
1 parent 1a565ef commit 203cf27

38 files changed

Lines changed: 157 additions & 86 deletions

tests/test_E3_TCU300_ethernet.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import unittest
22

33
from PyViCare.PyViCareGateway import Gateway
4+
from PyViCare.PyViCareService import ViCareDeviceAccessor
45
from PyViCare.PyViCareUtils import PyViCareNotSupportedFeatureError
56
from tests.ViCareServiceMock import ViCareServiceMock
67

78

89
class TCU300_ethernet(unittest.TestCase):
910
def setUp(self):
11+
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
1012
self.service = ViCareServiceMock('response/TCU300_ethernet.json')
11-
self.device = Gateway(self.service)
13+
self.device = Gateway(self.accessor, self.service)
1214

1315
def test_getSerial(self):
1416
self.assertEqual(

tests/test_Ecotronic.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import unittest
22

33
from PyViCare.PyViCarePelletsBoiler import PelletsBoiler
4+
from PyViCare.PyViCareService import ViCareDeviceAccessor
45
from PyViCare.PyViCareUtils import PyViCareNotSupportedFeatureError
56
from tests.ViCareServiceMock import ViCareServiceMock
67

78

89
class Ecotronic(unittest.TestCase):
910
def setUp(self):
11+
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
1012
self.service = ViCareServiceMock('response/Ecotronic.json')
11-
self.device = PelletsBoiler(self.service)
13+
self.device = PelletsBoiler(self.accessor, self.service)
1214

1315
def test_isDomesticHotWaterDevice(self):
1416
self.assertEqual(self.device.isDomesticHotWaterDevice(), False)

tests/test_GenericDevice.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
import unittest
22

33
from PyViCare.PyViCareHeatingDevice import HeatingDevice
4+
from PyViCare.PyViCareService import ViCareDeviceAccessor
45
from tests.ViCareServiceMock import MockCircuitsData, ViCareServiceMock
56

67

78
class GenericDeviceTest(unittest.TestCase):
89
def setUp(self):
10+
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
911
self.service = ViCareServiceMock(
1012
None, {'data': [MockCircuitsData([0])]})
11-
self.device = HeatingDevice(self.service)
13+
self.device = HeatingDevice(self.accessor, self.service)
1214

1315
def test_activateComfort(self):
1416
self.device.circuits[0].activateComfort()

tests/test_PyViCareCachedService.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,56 +14,56 @@ class PyViCareCachedServiceTest(unittest.TestCase):
1414
def setUp(self):
1515
self.oauth_mock = Mock()
1616
self.oauth_mock.get.return_value = {'data': [{"feature": "someprop"}]}
17-
accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
17+
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
1818
self.service = ViCareCachedService(
19-
self.oauth_mock, accessor, [], self.CACHE_DURATION)
19+
self.oauth_mock, [], self.CACHE_DURATION)
2020

2121
def test_getProperty_existing(self):
22-
self.service.getProperty("someprop")
22+
self.service.getProperty(self.accessor, "someprop")
2323
self.oauth_mock.get.assert_called_once_with(
2424
'/features/installations/[id]/gateways/[serial]/devices/[device]/features/')
2525

2626
def test_getProperty_nonexisting_raises_exception(self):
2727

2828
def func():
29-
return self.service.getProperty("some-non-prop")
29+
return self.service.getProperty(self.accessor, "some-non-prop")
3030
self.assertRaises(PyViCareNotSupportedFeatureError, func)
3131

3232
def test_setProperty_works(self):
33-
self.service.setProperty("someotherprop", "doaction", {'name': 'abc'})
33+
self.service.setProperty(self.accessor, "someotherprop", "doaction", {'name': 'abc'})
3434
self.oauth_mock.post.assert_called_once_with(
3535
'/features/installations/[id]/gateways/[serial]/devices/[device]/features/someotherprop/commands/doaction', '{"name": "abc"}')
3636

3737
def test_getProperty_existing_cached(self):
3838
# time+0 seconds
3939
with now_is('2000-01-01 00:00:00'):
40-
self.service.getProperty("someprop")
41-
self.service.getProperty("someprop")
40+
self.service.getProperty(self.accessor, "someprop")
41+
self.service.getProperty(self.accessor, "someprop")
4242

4343
# time+30 seconds
4444
with now_is('2000-01-01 00:00:30'):
45-
self.service.getProperty("someprop")
45+
self.service.getProperty(self.accessor, "someprop")
4646

4747
self.assertEqual(self.oauth_mock.get.call_count, 1)
4848
self.oauth_mock.get.assert_called_once_with(
4949
'/features/installations/[id]/gateways/[serial]/devices/[device]/features/')
5050

5151
# time+70 seconds (must be more than CACHE_DURATION)
5252
with now_is('2000-01-01 00:01:10'):
53-
self.service.getProperty("someprop")
53+
self.service.getProperty(self.accessor, "someprop")
5454

5555
self.assertEqual(self.oauth_mock.get.call_count, 2)
5656

5757
def test_setProperty_invalidateCache(self):
5858
# freeze time
5959
with now_is('2000-01-01 00:00:00'):
6060
self.assertEqual(self.service.is_cache_invalid(), True)
61-
self.service.getProperty("someprop")
61+
self.service.getProperty(self.accessor, "someprop")
6262
self.assertEqual(self.service.is_cache_invalid(), False)
6363

6464
self.service.setProperty(
65-
"someotherprop", "doaction", {'name': 'abc'})
65+
self.accessor, "someotherprop", "doaction", {'name': 'abc'})
6666
self.assertEqual(self.service.is_cache_invalid(), True)
6767

68-
self.service.getProperty("someprop")
68+
self.service.getProperty(self.accessor, "someprop")
6969
self.assertEqual(self.oauth_mock.get.call_count, 2)

tests/test_PyViCareDeviceConfig.py

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from unittest.mock import Mock
33

44
from PyViCare.PyViCareDeviceConfig import PyViCareDeviceConfig
5-
from PyViCare.PyViCareService import hasRoles
5+
from PyViCare.PyViCareService import hasRoles, ViCareDeviceAccessor
66

77

88
def has_roles(roles):
@@ -12,165 +12,165 @@ def has_roles(roles):
1212
class PyViCareDeviceConfigTest(unittest.TestCase):
1313

1414
def setUp(self) -> None:
15+
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
1516
self.service = Mock()
1617
self.service.hasRoles = has_roles([])
1718

1819
def test_autoDetect_Vitodens_asGazBoiler(self):
19-
c = PyViCareDeviceConfig(
20-
self.service, "0", "E3_Vitodens_200_xxxx/E3_Dictionary", "Online")
20+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_Vitodens_200_xxxx/E3_Dictionary", "Online")
2121
device_type = c.asAutoDetectDevice()
2222
self.assertEqual("GazBoiler", type(device_type).__name__)
2323

2424
def test_autoDetect_Unknown_asGeneric(self):
25-
c = PyViCareDeviceConfig(self.service, "0", "myRobot", "Online")
25+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "myRobot", "Online")
2626
device_type = c.asAutoDetectDevice()
2727
self.assertEqual("HeatingDevice", type(device_type).__name__)
2828

2929
def test_autoDetect_VScot_asGazBoiler(self):
30-
c = PyViCareDeviceConfig(self.service, "0", "VScotHO1_200", "Online")
30+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "VScotHO1_200", "Online")
3131
device_type = c.asAutoDetectDevice()
3232
self.assertEqual("GazBoiler", type(device_type).__name__)
3333

3434
def test_autoDetect_RoleBoiler_asGazBoiler(self):
3535
self.service.hasRoles = has_roles(["type:boiler"])
36-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
36+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
3737
device_type = c.asAutoDetectDevice()
3838
self.assertEqual("GazBoiler", type(device_type).__name__)
3939

4040
def test_autoDetect_RoleHeatpump_asHeatpump(self):
4141
self.service.hasRoles = has_roles(["type:heatpump"])
42-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
42+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
4343
device_type = c.asAutoDetectDevice()
4444
self.assertEqual("HeatPump", type(device_type).__name__)
4545

4646
def test_autoDetect_RoleRadiator_asRadiatorActuator(self):
4747
self.service.hasRoles = has_roles(["type:radiator"])
48-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
48+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
4949
device_type = c.asAutoDetectDevice()
5050
self.assertEqual("RadiatorActuator", type(device_type).__name__)
5151

5252
def test_autoDetect_RoleClimateSensor_asRoomSensor(self):
5353
self.service.hasRoles = has_roles(["type:climateSensor"])
54-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
54+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
5555
device_type = c.asAutoDetectDevice()
5656
self.assertEqual("RoomSensor", type(device_type).__name__)
5757

5858
def test_autoDetect_RoleVentilation_asVentilation(self):
5959
self.service.hasRoles = has_roles(["type:ventilation"])
60-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
60+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
6161
device_type = c.asAutoDetectDevice()
6262
self.assertEqual("VentilationDevice", type(device_type).__name__)
6363

6464
def test_autoDetect_RoleVentilationCentral_asVentilation(self):
6565
self.service.hasRoles = has_roles(["type:ventilation;central"])
66-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
66+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
6767
device_type = c.asAutoDetectDevice()
6868
self.assertEqual("VentilationDevice", type(device_type).__name__)
6969

7070
def test_autoDetect_Vitoair_FS_300F_asVentilation(self):
71-
c = PyViCareDeviceConfig(self.service, "0", "E3_ViAir_300F", "Online")
71+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_ViAir_300F", "Online")
7272
device_type = c.asAutoDetectDevice()
7373
self.assertEqual("VentilationDevice", type(device_type).__name__)
7474

7575
def test_autoDetect_RoleVentilationPurifier_asVentilation(self):
7676
self.service.hasRoles = has_roles(["type:ventilation;purifier"])
77-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
77+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
7878
device_type = c.asAutoDetectDevice()
7979
self.assertEqual("VentilationDevice", type(device_type).__name__)
8080

8181
def test_autoDetect_Vitopure_350_asVentilation(self):
82-
c = PyViCareDeviceConfig(self.service, "0", "E3_VitoPure", "Online")
82+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_VitoPure", "Online")
8383
device_type = c.asAutoDetectDevice()
8484
self.assertEqual("VentilationDevice", type(device_type).__name__)
8585

8686
def test_autoDetect_RoleESS_asElectricalEnergySystem(self):
8787
self.service.hasRoles = has_roles(["type:ess"])
88-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
88+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
8989
device_type = c.asAutoDetectDevice()
9090
self.assertEqual("ElectricalEnergySystem", type(device_type).__name__)
9191

9292
def test_autoDetect_Vitocharge05_asElectricalEnergySystem(self):
93-
c = PyViCareDeviceConfig(self.service, "0", "E3_VitoCharge_05", "Online")
93+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_VitoCharge_05", "Online")
9494
device_type = c.asAutoDetectDevice()
9595
self.assertEqual("ElectricalEnergySystem", type(device_type).__name__)
9696

9797
def test_autoDetect_VitoconnectOpto1_asGateway(self):
98-
c = PyViCareDeviceConfig(self.service, "0", "Heatbox1", "Online")
98+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Heatbox1", "Online")
9999
device_type = c.asAutoDetectDevice()
100100
self.assertEqual("Gateway", type(device_type).__name__)
101101

102102
def test_autoDetect_VitoconnectOpto2_asGateway(self):
103-
c = PyViCareDeviceConfig(self.service, "0", "Heatbox2_SRC", "Online")
103+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Heatbox2_SRC", "Online")
104104
device_type = c.asAutoDetectDevice()
105105
self.assertEqual("Gateway", type(device_type).__name__)
106106

107107
def test_autoDetect_TCU100_asGateway(self):
108-
c = PyViCareDeviceConfig(self.service, "0", "E3_TCU41_x04", "Online")
108+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_TCU41_x04", "Online")
109109
device_type = c.asAutoDetectDevice()
110110
self.assertEqual("Gateway", type(device_type).__name__)
111111

112112
def test_autoDetect_TCU200_asGateway(self):
113-
c = PyViCareDeviceConfig(self.service, "0", "E3_TCU19_x05", "Online")
113+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_TCU19_x05", "Online")
114114
device_type = c.asAutoDetectDevice()
115115
self.assertEqual("Gateway", type(device_type).__name__)
116116

117117
def test_autoDetect_TCU300_asGateway(self):
118-
c = PyViCareDeviceConfig(self.service, "0", "E3_TCU10_x07", "Online")
118+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "E3_TCU10_x07", "Online")
119119
device_type = c.asAutoDetectDevice()
120120
self.assertEqual("Gateway", type(device_type).__name__)
121121

122122
def test_autoDetect_Ecotronic_asPelletsBoiler(self):
123123
self.service.hasRoles = has_roles(["type:boiler"])
124-
c = PyViCareDeviceConfig(self.service, "0", "Ecotronic", "Online")
124+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Ecotronic", "Online")
125125
device_type = c.asAutoDetectDevice()
126126
self.assertEqual("PelletsBoiler", type(device_type).__name__)
127127

128128
def test_autoDetect_Vitoladens_asOilBoiler(self):
129129
self.service.hasRoles = has_roles(["type:boiler"])
130-
c = PyViCareDeviceConfig(self.service, "0", "Vitoladens", "Online")
130+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Vitoladens", "Online")
131131
device_type = c.asAutoDetectDevice()
132132
self.assertEqual("OilBoiler", type(device_type).__name__)
133133

134134
def test_autoDetect_RoleGateway_asGateway(self):
135135
self.service.hasRoles = has_roles(["type:gateway;VitoconnectOpto1"])
136-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
136+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
137137
device_type = c.asAutoDetectDevice()
138138
self.assertEqual("Gateway", type(device_type).__name__)
139139

140140
def test_autoDetect_RoleGateway_asGateway_vc_opto2(self):
141141
self.service.hasRoles = has_roles(["type:gateway;VitoconnectOpto2/OT2"])
142-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
142+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
143143
device_type = c.asAutoDetectDevice()
144144
self.assertEqual("Gateway", type(device_type).__name__)
145145

146146
def test_autoDetect_RoleGateway_asGateway_TCU100(self):
147147
self.service.hasRoles = has_roles(["type:gateway;TCU100"])
148-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
148+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
149149
device_type = c.asAutoDetectDevice()
150150
self.assertEqual("Gateway", type(device_type).__name__)
151151

152152
def test_autoDetect_RoleGateway_asGateway_TCU200(self):
153153
self.service.hasRoles = has_roles(["type:gateway;TCU200"])
154-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
154+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
155155
device_type = c.asAutoDetectDevice()
156156
self.assertEqual("Gateway", type(device_type).__name__)
157157

158158
def test_autoDetect_RoleGateway_asGateway_TCU300(self):
159159
self.service.hasRoles = has_roles(["type:gateway;TCU300"])
160-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
160+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
161161
device_type = c.asAutoDetectDevice()
162162
self.assertEqual("Gateway", type(device_type).__name__)
163163

164164
def test_legacy_device(self):
165165
self.service.hasRoles = has_roles(["type:legacy"])
166-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
166+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
167167
device = c.asAutoDetectDevice()
168168
self.assertEqual(device.isLegacyDevice(), True)
169169
self.assertEqual(device.isE3Device(), False)
170170

171171
def test_e3_device(self):
172172
self.service.hasRoles = has_roles(["type:E3"])
173-
c = PyViCareDeviceConfig(self.service, "0", "Unknown", "Online")
173+
c = PyViCareDeviceConfig(self.accessor, self.service, "0", "Unknown", "Online")
174174
device = c.asAutoDetectDevice()
175175
self.assertEqual(device.isLegacyDevice(), False)
176176
self.assertEqual(device.isE3Device(), True)

tests/test_PyViCareService.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,31 @@ class PyViCareServiceTest(unittest.TestCase):
99
def setUp(self):
1010
self.oauth_mock = Mock()
1111
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
12-
self.service = ViCareService(self.oauth_mock, self.accessor, [])
12+
self.service = ViCareService(self.oauth_mock, [])
1313

1414
def test_getProperty(self):
15-
self.service.getProperty("someprop")
15+
self.service.getProperty(self.accessor, "someprop")
1616
self.oauth_mock.get.assert_called_once_with(
1717
'/features/installations/[id]/gateways/[serial]/devices/[device]/features/someprop')
1818

1919
def test_setProperty_object(self):
20-
self.service.setProperty("someprop", "doaction", {'name': 'abc'})
20+
self.service.setProperty(self.accessor, "someprop", "doaction", {'name': 'abc'})
2121
self.oauth_mock.post.assert_called_once_with(
2222
'/features/installations/[id]/gateways/[serial]/devices/[device]/features/someprop/commands/doaction', '{"name": "abc"}')
2323

2424
def test_setProperty_string(self):
25-
self.service.setProperty("someprop", "doaction", '{}')
25+
self.service.setProperty(self.accessor, "someprop", "doaction", '{}')
2626
self.oauth_mock.post.assert_called_once_with(
2727
'/features/installations/[id]/gateways/[serial]/devices/[device]/features/someprop/commands/doaction', '{}')
2828

2929
def test_getProperty_gateway(self):
30-
self.service = ViCareService(self.oauth_mock, self.accessor, ["type:gateway;VitoconnectOpto1"])
31-
self.service.getProperty("someprop")
30+
self.service = ViCareService(self.oauth_mock, ["type:gateway;VitoconnectOpto1"])
31+
self.service.getProperty(self.accessor, "someprop")
3232
self.oauth_mock.get.assert_called_once_with(
3333
'/features/installations/[id]/gateways/[serial]/features/someprop')
3434

3535
def test_fetch_all_features_gateway(self):
36-
self.service = ViCareService(self.oauth_mock, self.accessor, ["type:gateway;VitoconnectOpto1"])
37-
self.service.fetch_all_features()
36+
self.service = ViCareService(self.oauth_mock, ["type:gateway;VitoconnectOpto1"])
37+
self.service.fetch_all_features(self.accessor)
3838
self.oauth_mock.get.assert_called_once_with(
3939
'/features/installations/[id]/gateways/[serial]/features/')

tests/test_Solar.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
import unittest
22

33
from PyViCare.PyViCareHeatingDevice import HeatingDevice
4+
from PyViCare.PyViCareService import ViCareDeviceAccessor
45
from tests.ViCareServiceMock import ViCareServiceMock
56

67

78
class SolarTest(unittest.TestCase):
89
def setUp(self):
10+
self.accessor = ViCareDeviceAccessor("[id]", "[serial]", "[device]")
911
self.service = ViCareServiceMock('response/Solar.json')
10-
self.device = HeatingDevice(self.service)
12+
self.device = HeatingDevice(self.accessor, self.service)
1113

1214
def test_isDomesticHotWaterDevice(self):
1315
self.assertEqual(self.device.isDomesticHotWaterDevice(), True)

0 commit comments

Comments
 (0)