@@ -127,37 +127,43 @@ protected function providerInvalidEnrollAgent() {
127
127
'invitationToken ' => 'bad token ' ,
128
128
],
129
129
'expected ' => 'Invitation token invalid ' ,
130
+ 'invitationlog ' => false ,
130
131
],
131
132
'without MDM type ' => [
132
133
'data ' => [
133
134
'mdmType ' => null ,
134
135
],
135
136
'expected ' => 'MDM type missing ' ,
137
+ 'invitationlog ' => true ,
136
138
],
137
139
'with bad MDM type ' => [
138
140
'data ' => [
139
141
'mdmType ' => 'alien MDM ' ,
140
142
],
141
143
'expected ' => 'unknown MDM type ' ,
144
+ 'invitationlog ' => true ,
142
145
],
143
146
'with bad version ' => [
144
147
'data ' => [
145
148
'version ' => 'bad version ' ,
146
149
],
147
150
'expected ' => 'Bad agent version ' ,
151
+ 'invitationlog ' => true ,
148
152
],
149
153
'with a too low version ' => [
150
154
'data ' => [
151
155
'version ' => '1.9.0 ' ,
152
156
],
153
157
'expected ' => 'The agent version is too low ' ,
158
+ 'invitationlog ' => true ,
154
159
],
155
160
'without inventory ' => [
156
161
'data ' => [
157
162
'version ' => $ version ,
158
163
'inventory ' => '' ,
159
164
],
160
165
'expected ' => 'Device inventory XML is mandatory ' ,
166
+ 'invitationlog ' => true ,
161
167
],
162
168
'with invalid inventory ' => [
163
169
'data ' => [
@@ -166,6 +172,7 @@ protected function providerInvalidEnrollAgent() {
166
172
'inventory ' => $ inventory ,
167
173
],
168
174
'expected ' => 'Inventory XML is not well formed ' ,
175
+ 'invitationlog ' => true ,
169
176
],
170
177
];
171
178
}
@@ -175,12 +182,17 @@ protected function providerInvalidEnrollAgent() {
175
182
* @tags testInvalidEnrollAgent
176
183
* @param array $data
177
184
* @param string $expected
185
+ * @param boolean $invitationlog Is an invitation log entry expected ?
178
186
*/
179
- public function testInvalidEnrollAgent (array $ data , $ expected ) {
187
+ public function testInvalidEnrollAgent (array $ data , $ expected, $ invitationlog ) {
180
188
$ dbUtils = new \DbUtils ;
181
189
$ invitationlogTable = \PluginFlyvemdmInvitationlog::getTable ();
182
190
$ expectedLogCount = $ dbUtils ->countElementsInTable ($ invitationlogTable );
183
191
list ($ user , $ serial , $ guestEmail , $ invitation ) = $ this ->createUserInvitation (\User::getForeignKeyField ());
192
+
193
+ //Check there is no event for the invitation
194
+ $ this ->integer ($ this ->assertInvitationLogHasMessage ($ invitation , $ expected ))->isEqualTo (0 );
195
+
184
196
$ invitationToken = (isset ($ data ['invitationToken ' ])) ? $ data ['invitationToken ' ] : $ invitation ->getField ('invitation_token ' );
185
197
$ serial = (key_exists ('serial ' , $ data )) ? $ data ['serial ' ] : $ serial ;
186
198
$ mdmType = (key_exists ('mdmType ' , $ data )) ? $ data ['mdmType ' ] : 'android ' ;
@@ -194,15 +206,10 @@ public function testInvalidEnrollAgent(array $data, $expected) {
194
206
->isTrue (json_encode ($ _SESSION ['MESSAGE_AFTER_REDIRECT ' ], JSON_PRETTY_PRINT ));
195
207
$ this ->array ($ _SESSION ['MESSAGE_AFTER_REDIRECT ' ][ERROR ])->contains ($ expected );
196
208
197
- // Check registered log
198
- // previous enrolment could generate a new log
199
- $ invitationLog = new \PluginFlyvemdmInvitationlog ();
200
- $ fk = \PluginFlyvemdmInvitation::getForeignKeyField ();
201
- $ inviationId = $ invitation ->getID ();
202
- $ expectedLogCount += count ($ invitationLog ->find ("` $ fk` = ' $ inviationId' " ));
203
-
204
- $ total = $ dbUtils ->countElementsInTable ($ invitationlogTable );
205
- $ this ->integer ($ total )->isEqualTo ($ expectedLogCount );
209
+ // Check that an event was created for the invitation
210
+ if ($ invitationlog ) {
211
+ $ this ->integer ($ this ->assertInvitationLogHasMessage ($ invitation , $ expected ))->isGreaterThan (0 );
212
+ }
206
213
}
207
214
208
215
/**
@@ -382,7 +389,7 @@ public function testUnenrollAgent() {
382
389
$ this ->boolean ($ agent ->isNewItem ())
383
390
->isFalse (json_encode ($ _SESSION ['MESSAGE_AFTER_REDIRECT ' ], JSON_PRETTY_PRINT ));
384
391
385
- sleep ( 2 );
392
+ $ this -> login ( ' glpi ' , ' glpi ' );
386
393
387
394
// Find the last existing ID of logged MQTT messages
388
395
$ log = new \PluginFlyvemdmMqttlog ();
@@ -446,6 +453,8 @@ public function testDeviceOnlineChange() {
446
453
$ this ->boolean ($ agent ->isNewItem ())
447
454
->isFalse (json_encode ($ _SESSION ['MESSAGE_AFTER_REDIRECT ' ], JSON_PRETTY_PRINT ));
448
455
456
+ $ this ->login ('glpi ' , 'glpi ' );
457
+
449
458
$ this ->deviceOnlineStatus ($ agent , 'true ' , 1 );
450
459
451
460
$ this ->deviceOnlineStatus ($ agent , 'false ' , 0 );
@@ -581,6 +590,8 @@ public function testPingRequest() {
581
590
// Get enrolment data to enable the agent's MQTT account
582
591
$ this ->boolean ($ agent ->getFromDB ($ agent ->getID ()))->isTrue ();
583
592
593
+ $ this ->login ('glpi ' , 'glpi ' );
594
+
584
595
// Find the last existing ID of logged MQTT messages
585
596
$ log = new \PluginFlyvemdmMqttlog ();
586
597
$ lastLogId = \PluginFlyvemdmCommon::getMax ($ log , '' , 'id ' );
@@ -616,6 +627,8 @@ public function testGeolocateRequest() {
616
627
// Get enrolment data to enable the agent's MQTT account
617
628
$ this ->boolean ($ agent ->getFromDB ($ agent ->getID ()))->isTrue ();
618
629
630
+ $ this ->login ('glpi ' , 'glpi ' );
631
+
619
632
// Find the last existing ID of logged MQTT messages
620
633
$ log = new \PluginFlyvemdmMqttlog ();
621
634
$ lastLogId = \PluginFlyvemdmCommon::getMax ($ log , '' , 'id ' );
@@ -647,6 +660,8 @@ public function testInventoryRequest() {
647
660
$ this ->boolean ($ agent ->isNewItem ())
648
661
->isFalse (json_encode ($ _SESSION ['MESSAGE_AFTER_REDIRECT ' ], JSON_PRETTY_PRINT ));
649
662
663
+ $ this ->login ('glpi ' , 'glpi ' );
664
+
650
665
// Get enrolment data to enable the agent's MQTT account
651
666
$ this ->boolean ($ agent ->getFromDB ($ agent ->getID ()))->isTrue ();
652
667
@@ -684,6 +699,8 @@ public function testLockAndWipe() {
684
699
$ this ->boolean ($ agent ->isNewItem ())
685
700
->isFalse (json_encode ($ _SESSION ['MESSAGE_AFTER_REDIRECT ' ], JSON_PRETTY_PRINT ));
686
701
702
+ $ this ->login ('glpi ' , 'glpi ' );
703
+
687
704
// Test lock and wipe are unset after enrollment
688
705
$ this ->integer ((int ) $ agent ->getField ('lock ' ))->isEqualTo (0 );
689
706
$ this ->integer ((int ) $ agent ->getField ('wipe ' ))->isEqualTo (0 );
0 commit comments