Code Duplication    Length = 14-27 lines in 17 locations

eZ/Bundle/EzPublishRestBundle/Tests/Functional/ContentTest.php 4 locations

@@ 109-125 (lines=17) @@
106
    /**
107
     * @depends testPublishContent
108
     */
109
    public function testUpdateContentMetadata($restContentHref)
110
    {
111
        $string = $this->addTestSuffix(__FUNCTION__);
112
        $content = <<< XML
113
<?xml version="1.0" encoding="UTF-8"?>
114
<ContentUpdate>
115
  <Owner href="/api/ezp/v2/user/users/10"/>
116
  <remoteId>{$string}</remoteId>
117
</ContentUpdate>
118
XML;
119
        $request = $this->createHttpRequest('PATCH', $restContentHref, 'ContentUpdate+xml', 'ContentInfo+json');
120
        $request->setContent($content);
121
        $response = $this->sendHttpRequest($request);
122
        self::assertHttpResponseCodeEquals($response, 200);
123
124
        // @todo test data
125
    }
126
127
    /**
128
     * @depends testPublishContent
@@ 268-289 (lines=22) @@
265
     *
266
     * @param string $restContentVersionHref /content/objects/<contentId>/versions>/<versionNumber>
267
     */
268
    public function testUpdateVersion($restContentVersionHref)
269
    {
270
        $xml = <<< XML
271
<VersionUpdate>
272
    <fields>
273
        <field>
274
            <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier>
275
            <languageCode>eng-GB</languageCode>
276
            <fieldValue>testUpdateVersion</fieldValue>
277
        </field>
278
    </fields>
279
</VersionUpdate>
280
XML;
281
282
        $request = $this->createHttpRequest('PATCH', $restContentVersionHref, 'VersionUpdate+xml', 'Version+json');
283
        $request->setContent($xml);
284
        $response = $this->sendHttpRequest(
285
            $request
286
        );
287
288
        self::assertHttpResponseCodeEquals($response, 200);
289
    }
290
291
    /**
292
     * @depends testPublishContent
@@ 392-416 (lines=25) @@
389
        return $array['Content'];
390
    }
391
392
    public function testCreateView()
393
    {
394
        $body = <<< XML
395
<?xml version="1.0" encoding="UTF-8"?>
396
<ViewInput>
397
  <identifier>testCreateView</identifier>
398
  <Query>
399
    <Criteria>
400
      <ContentTypeIdentifierCriterion>folder</ContentTypeIdentifierCriterion>
401
    </Criteria>
402
    <limit>10</limit>
403
    <offset>0</offset>
404
  </Query>
405
</ViewInput>
406
XML;
407
        $request = $this->createHttpRequest('POST', '/api/ezp/v2/content/views', 'ViewInput+xml', 'View+json');
408
        $request->setContent($body);
409
        $response = $this->sendHttpRequest(
410
            $request
411
        );
412
413
        // Returns 301 since 6.0 (deprecated in favour of /views)
414
        self::assertHttpResponseCodeEquals($response, 301);
415
        self::assertHttpResponseHasHeader($response, 'Location');
416
    }
417
418
    /**
419
     * Covers DELETE /content/objects/<contentId>/versions/<versionNo>/translations/<languageCode>.
@@ 471-494 (lines=24) @@
468
     *
469
     * @return string
470
     */
471
    private function createVersionTranslation($restContentVersionHref)
472
    {
473
        $this->ensureLanguageExists('pol-PL', 'Polish');
474
475
        $xml = <<< XML
476
<VersionUpdate>
477
    <fields>
478
        <field>
479
            <fieldDefinitionIdentifier>name</fieldDefinitionIdentifier>
480
            <languageCode>pol-PL</languageCode>
481
            <fieldValue>Polish translated name</fieldValue>
482
        </field>
483
    </fields>
484
</VersionUpdate>
485
XML;
486
487
        $request = $this->createHttpRequest('PATCH', $restContentVersionHref, 'VersionUpdate+xml', 'Version+json');
488
        $request->setContent($xml);
489
        $response = $this->sendHttpRequest(
490
            $request
491
        );
492
493
        self::assertHttpResponseCodeEquals($response, 200);
494
    }
495
496
    /**
497
     * Make REST API calls to check if the given Language exists and create it if it doesn't.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/ContentTypeTest.php 3 locations

@@ 45-61 (lines=17) @@
42
     *
43
     * @return string the updated content type href
44
     */
45
    public function testUpdateContentTypeGroup($contentTypeGroupHref)
46
    {
47
        $body = <<< XML
48
<?xml version="1.0" encoding="UTF-8"?>
49
<ContentTypeGroupInput>
50
  <identifier>testUpdateContentTypeGroup</identifier>
51
</ContentTypeGroupInput>
52
XML;
53
54
        $request = $this->createHttpRequest('PATCH', $contentTypeGroupHref, 'ContentTypeGroupInput+xml', 'ContentTypeGroup+json');
55
        $request->setContent($body);
56
        $response = $this->sendHttpRequest($request);
57
58
        self::assertHttpResponseCodeEquals($response, 200);
59
60
        return $contentTypeGroupHref;
61
    }
62
63
    /**
64
     * @depends testCreateContentTypeGroup
@@ 336-354 (lines=19) @@
333
     * @depends testCreateContentTypeDraft
334
     * Covers PATCH /content/types/<contentTypeId>/draft
335
     */
336
    public function testUpdateContentTypeDraft($contentTypeDraftHref)
337
    {
338
        $content = <<< XML
339
<?xml version="1.0" encoding="UTF-8"?>
340
<ContentTypeUpdate>
341
  <names>
342
    <value languageCode="eng-GB">testUpdateContentTypeDraft</value>
343
  </names>
344
</ContentTypeUpdate>
345
XML;
346
347
        $request = $this->createHttpRequest('PATCH', $contentTypeDraftHref, 'ContentTypeUpdate+xml', 'ContentTypeInfo+json');
348
        $request->setContent($content);
349
        $response = $this->sendHttpRequest(
350
            $request
351
        );
352
353
        self::assertHttpResponseCodeEquals($response, 200);
354
    }
355
356
    /**
357
     * Covers POST /content/types/<contentTypeId>/draft/fielddefinitions.
@@ 435-458 (lines=24) @@
432
     *
433
     * @todo the spec says PUT...
434
     */
435
    public function testUpdateContentTypeDraftFieldDefinition($fieldDefinitionHref)
436
    {
437
        $body = <<< XML
438
<?xml version="1.0" encoding="UTF-8"?>
439
<FieldDefinitionUpdate>
440
  <identifier>updated_secondtext</identifier>
441
  <names>
442
    <value languageCode="eng-GB">Updated second text</value>
443
  </names>
444
  <defaultValue>Updated default value</defaultValue>
445
</FieldDefinitionUpdate>
446
XML;
447
448
        $request = $this->createHttpRequest(
449
            'PATCH',
450
            $fieldDefinitionHref,
451
            'FieldDefinitionUpdate+xml',
452
            'FieldDefinition+json'
453
        );
454
        $request->setContent($body);
455
456
        $response = $this->sendHttpRequest($request);
457
        self::assertHttpResponseCodeEquals($response, 200);
458
    }
459
460
    /**
461
     * Covers DELETE /content/types/<contentTypeId>/draft/fieldDefinitions/<fieldDefinitionId>.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/LocationTest.php 1 location

@@ 167-183 (lines=17) @@
164
     * Covers PATCH /content/locations/{locationPath}.
165
     * @depends testCreateLocation
166
     */
167
    public function testUpdateLocation($locationHref)
168
    {
169
        $body = <<< XML
170
<LocationUpdate>
171
  <priority>3</priority>
172
  <sortField>PATH</sortField>
173
  <sortOrder>ASC</sortOrder>
174
</LocationUpdate>
175
XML;
176
177
        $request = $this->createHttpRequest('PATCH', $locationHref, 'LocationUpdate+xml', 'Location+json');
178
        $request->setContent($body);
179
180
        $response = $this->sendHttpRequest($request);
181
182
        self::assertHttpResponseCodeEquals($response, 200);
183
    }
184
185
    /**
186
     * @depends testCreateLocation

eZ/Bundle/EzPublishRestBundle/Tests/Functional/ObjectStateTest.php 2 locations

@@ 192-213 (lines=22) @@
189
     * Covers PATCH /content/objectstategroups/{objectStateGroupId}/objectstates/{objectStateId}.
190
     * @depends testCreateObjectState
191
     */
192
    public function testUpdateObjectState($objectStateHref)
193
    {
194
        $body = <<< XML
195
<?xml version="1.0" encoding="UTF-8"?>
196
<ObjectStateUpdate>
197
  <identifier>testUpdateObjectState</identifier>
198
  <defaultLanguageCode>eng-GB</defaultLanguageCode>
199
  <names>
200
    <value languageCode="eng-GB">testUpdateObjectState</value>
201
  </names>
202
  <descriptions>
203
    <value languageCode="eng-GB">testUpdateObjectState description</value>
204
  </descriptions>
205
</ObjectStateUpdate>
206
XML;
207
        $request = $this->createHttpRequest('PATCH', $objectStateHref, 'ObjectStateUpdate+xml', 'ObjectState+json');
208
        $request->setContent($body);
209
210
        $response = $this->sendHttpRequest($request);
211
212
        self::assertHttpResponseCodeEquals($response, 200);
213
    }
214
215
    /**
216
     * Covers PATCH /content/objectstategroups/{objectStateGroupId}.
@@ 219-240 (lines=22) @@
216
     * Covers PATCH /content/objectstategroups/{objectStateGroupId}.
217
     * @depends testCreateObjectStateGroup
218
     */
219
    public function testUpdateObjectStateGroup($objectStateGroupHref)
220
    {
221
        $body = <<< XML
222
<?xml version="1.0" encoding="UTF-8"?>
223
<ObjectStateGroupUpdate>
224
  <identifier>testUpdateObjectStateGroup</identifier>
225
  <defaultLanguageCode>eng-GB</defaultLanguageCode>
226
  <names>
227
    <value languageCode="eng-GB">testUpdateObjectStateGroup</value>
228
  </names>
229
  <descriptions>
230
    <value languageCode="eng-GB">testUpdateObjectStateGroup description</value>
231
  </descriptions>
232
</ObjectStateGroupUpdate>
233
XML;
234
        $request = $this->createHttpRequest('PATCH', $objectStateGroupHref, 'ObjectStateGroupUpdate+xml', 'ObjectStateGroup+json');
235
        $request->setContent($body);
236
237
        $response = $this->sendHttpRequest($request);
238
239
        self::assertHttpResponseCodeEquals($response, 200);
240
    }
241
242
    /**
243
     * Covers DELETE.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/RoleTest.php 4 locations

@@ 172-194 (lines=23) @@
169
     * @depends testCreateRole
170
     * Covers PATCH /user/roles/{roleId}
171
     */
172
    public function testUpdateRole($roleHref)
173
    {
174
        $xml = <<< XML
175
<?xml version="1.0" encoding="UTF-8"?>
176
<RoleInput>
177
  <identifier>testUpdateRole</identifier>
178
  <mainLanguageCode>eng-GB</mainLanguageCode>
179
  <names>
180
    <value languageCode="eng-GB">testUpdateRole</value>
181
  </names>
182
  <descriptions>
183
    <value languageCode="eng-GB">testUpdateRole description</value>
184
  </descriptions>
185
</RoleInput>
186
XML;
187
188
        $request = $this->createHttpRequest('PATCH', $roleHref, 'RoleInput+xml', 'Role+json');
189
        $request->setContent($xml);
190
        $response = $this->sendHttpRequest($request);
191
192
        // @todo Fix failure Notice: Trying to get property of non-object in \/home\/bertrand\/www\/ezpublish-kernel\/eZ\/Publish\/Core\/Persistence\/Cache\/UserHandler.php line 174
193
        self::assertHttpResponseCodeEquals($response, 200);
194
    }
195
196
    /**
197
     * @depends testCreateRoleDraft
@@ 200-221 (lines=22) @@
197
     * @depends testCreateRoleDraft
198
     * Covers PATCH /user/roles/{roleId}/draft
199
     */
200
    public function testUpdateRoleDraft($roleDraftHref)
201
    {
202
        $xml = <<< XML
203
<?xml version="1.0" encoding="UTF-8"?>
204
<RoleInput>
205
  <identifier>testUpdateRoleDraft</identifier>
206
  <mainLanguageCode>eng-GB</mainLanguageCode>
207
  <names>
208
    <value languageCode="eng-GB">testUpdateRoleDraft</value>
209
  </names>
210
  <descriptions>
211
    <value languageCode="eng-GB">testUpdateRoleDraft description</value>
212
  </descriptions>
213
</RoleInput>
214
XML;
215
216
        $request = $this->createHttpRequest('PATCH', $roleDraftHref, 'RoleInput+xml', 'RoleDraft+json');
217
        $request->setContent($xml);
218
        $response = $this->sendHttpRequest($request);
219
220
        self::assertHttpResponseCodeEquals($response, 200);
221
    }
222
223
    /**
224
     * Covers POST /user/roles/{roleId}/policies.
@@ 329-349 (lines=21) @@
326
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
327
     * @depends testAddPolicy
328
     */
329
    public function testUpdatePolicy($policyHref)
330
    {
331
        $xml = <<< XML
332
<?xml version="1.0" encoding="UTF-8"?>
333
<PolicyUpdate>
334
  <limitations>
335
    <limitation identifier="Class">
336
      <values>
337
        <ref href="1"/>
338
      </values>
339
    </limitation>
340
  </limitations>
341
</PolicyUpdate>
342
XML;
343
344
        $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json');
345
        $request->setContent($xml);
346
        $response = $this->sendHttpRequest($request);
347
348
        self::assertHttpResponseCodeEquals($response, 200);
349
    }
350
351
    /**
352
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
@@ 355-375 (lines=21) @@
352
     * Covers PATCH /user/roles/{roleId}/policies/{policyId}.
353
     * @depends testAddPolicyByRoleDraft
354
     */
355
    public function testUpdatePolicyByRoleDraft($policyHref)
356
    {
357
        $xml = <<< XML
358
<?xml version="1.0" encoding="UTF-8"?>
359
<PolicyUpdate>
360
  <limitations>
361
    <limitation identifier="Class">
362
      <values>
363
        <ref href="1"/>
364
      </values>
365
    </limitation>
366
  </limitations>
367
</PolicyUpdate>
368
XML;
369
370
        $request = $this->createHttpRequest('PATCH', $policyHref, 'PolicyUpdate+xml', 'Policy+json');
371
        $request->setContent($xml);
372
        $response = $this->sendHttpRequest($request);
373
374
        self::assertHttpResponseCodeEquals($response, 200);
375
    }
376
377
    /**
378
     * @depends testCreateRole

eZ/Bundle/EzPublishRestBundle/Tests/Functional/SectionTest.php 1 location

@@ 58-71 (lines=14) @@
55
     * @depends testCreateSection
56
     * Covers PATCH /content/sections/{sectionId}
57
     */
58
    public function testUpdateSection($sectionHref)
59
    {
60
        $xml = <<< XML
61
<SectionInput>
62
  <identifier>testUpdateSection</identifier>
63
  <name>testUpdateSection</name>
64
</SectionInput>
65
XML;
66
        $request = $this->createHttpRequest('PATCH', $sectionHref, 'SectionInput+xml', 'Section+json');
67
        $request->setContent($xml);
68
        $response = $this->sendHttpRequest($request);
69
70
        self::assertHttpResponseCodeEquals($response, 200);
71
    }
72
73
    /**
74
     * Covers GET /content/sections/{sectionId}.

eZ/Bundle/EzPublishRestBundle/Tests/Functional/UserTest.php 2 locations

@@ 90-116 (lines=27) @@
87
     * Covers PATCH /user/groups/{groupPath}.
88
     * @depends testCreateUserGroup
89
     */
90
    public function testUpdateUserGroup($groupHref)
91
    {
92
        $text = $this->addTestSuffix(__FUNCTION__);
93
        $xml = <<< XML
94
<?xml version="1.0" encoding="UTF-8"?>
95
<UserGroupUpdate>
96
  <fields>
97
    <field>
98
      <fieldDefinitionIdentifier>description</fieldDefinitionIdentifier>
99
      <languageCode>eng-GB</languageCode>
100
      <fieldValue>{$text}</fieldValue>
101
    </field>
102
  </fields>
103
</UserGroupUpdate>
104
XML;
105
        $request = $this->createHttpRequest(
106
            'PATCH',
107
            $groupHref,
108
            'UserGroupUpdate+xml',
109
            'UserGroup+json'
110
        );
111
        $request->setContent($xml);
112
113
        $response = $this->sendHttpRequest($request);
114
115
        self::assertHttpResponseCodeEquals($response, 200);
116
    }
117
118
    /**
119
     * @depends testCreateUserGroup
@@ 185-211 (lines=27) @@
182
     * @depends testCreateUser
183
     * Covers PATCH /user/users/{userId}
184
     */
185
    public function testUpdateUser($userHref)
186
    {
187
        $text = $this->addTestSuffix(__FUNCTION__);
188
        $xml = <<< XML
189
<?xml version="1.0" encoding="UTF-8"?>
190
<UserUpdate>
191
  <fields>
192
    <field>
193
      <fieldDefinitionIdentifier>first_name</fieldDefinitionIdentifier>
194
      <languageCode>eng-GB</languageCode>
195
      <fieldValue>john john</fieldValue>
196
    </field>
197
  </fields>
198
</UserUpdate>
199
XML;
200
        $request = $this->createHttpRequest(
201
            'PATCH',
202
            $userHref,
203
            'UserUpdate+xml',
204
            'User+json'
205
        );
206
        $request->setContent($xml);
207
208
        $response = $this->sendHttpRequest($request);
209
210
        self::assertHttpResponseCodeEquals($response, 200);
211
    }
212
213
    /**
214
     * Covers GET /user/users.