30
30
cluster = Clusters .Objects .IcdManagement
31
31
commands = cluster .Commands
32
32
monitoredRegistration = cluster .Structs .MonitoringRegistrationStruct
33
+ clientTypeEnum = cluster .Enums .ClientTypeEnum
33
34
34
35
35
36
# Step 2 Registration entry
@@ -133,7 +134,7 @@ async def test_TC_ICDM_3_1(self):
133
134
self .step (2 )
134
135
if self .pics_guard (self .check_pics ("ICDM.S.C00.Rsp" )):
135
136
try :
136
- response = await self ._send_single_icdm_command (commands .RegisterClient (checkInNodeID = kStep2CheckInNodeId , monitoredSubject = kStep2MonitoredSubjectStep2 , key = kStep2Key ))
137
+ response = await self ._send_single_icdm_command (commands .RegisterClient (checkInNodeID = kStep2CheckInNodeId , monitoredSubject = kStep2MonitoredSubjectStep2 , key = kStep2Key , clientType = clientTypeEnum . kEphemeral ))
137
138
except InteractionModelError as e :
138
139
asserts .assert_equal (
139
140
e .status , Status .Success , "Unexpected error returned" )
@@ -156,6 +157,8 @@ async def test_TC_ICDM_3_1(self):
156
157
registeredClients [0 ].checkInNodeID , kStep2CheckInNodeId , "The read attribute does not match the registered value." )
157
158
asserts .assert_equal (
158
159
registeredClients [0 ].monitoredSubject , kStep2MonitoredSubjectStep2 , "The read attribute does not match the registered value." )
160
+ asserts .assert_equal (
161
+ registeredClients [0 ].clientType , clientTypeEnum .kEphemeral , "The read attribute does not match the registered value." )
159
162
160
163
self .step (4 )
161
164
if self .pics_guard (self .check_pics ("ICDM.S.C00.Rsp" )):
@@ -166,12 +169,13 @@ async def test_TC_ICDM_3_1(self):
166
169
newClients .append ({
167
170
"checkInNodeID" : i + 1 ,
168
171
"monitoredSubject" : i + 1 ,
169
- "key" : os .urandom (16 )
172
+ "key" : os .urandom (16 ),
173
+ "clientType" : clientTypeEnum .kPermanent
170
174
})
171
175
172
176
for client in newClients :
173
177
try :
174
- response = await self ._send_single_icdm_command (commands .RegisterClient (checkInNodeID = client ["checkInNodeID" ], monitoredSubject = client ["monitoredSubject" ], key = client ["key" ]))
178
+ response = await self ._send_single_icdm_command (commands .RegisterClient (checkInNodeID = client ["checkInNodeID" ], monitoredSubject = client ["monitoredSubject" ], key = client ["key" ], clientType = client [ "clientType" ] ))
175
179
except InteractionModelError as e :
176
180
asserts .assert_equal (
177
181
e .status , Status .Success , "Unexpected error returned" )
@@ -195,11 +199,13 @@ async def test_TC_ICDM_3_1(self):
195
199
client .checkInNodeID , expectedClient ["checkInNodeID" ], "The read attribute does not match the registered value." )
196
200
asserts .assert_equal (
197
201
client .monitoredSubject , expectedClient ["monitoredSubject" ], "The read attribute does not match the registered value." )
202
+ asserts .assert_equal (
203
+ client .clientType , expectedClient ["clientType" ], "The read attribute does not match the registered value." )
198
204
199
205
self .step (6 )
200
206
if self .pics_guard (self .check_pics ("ICDM.S.C00.Rsp" )):
201
207
try :
202
- response = await self ._send_single_icdm_command (commands .RegisterClient (checkInNodeID = 0xFFFF , monitoredSubject = 0xFFFF , key = os .urandom (16 )))
208
+ response = await self ._send_single_icdm_command (commands .RegisterClient (checkInNodeID = 0xFFFF , monitoredSubject = 0xFFFF , key = os .urandom (16 ), clientType = clientTypeEnum . kPermanent ))
203
209
except InteractionModelError as e :
204
210
asserts .assert_equal (
205
211
e .status , Status .ResourceExhausted , "Unexpected error returned" )
0 commit comments