Skip to content

Commit 662a53f

Browse files
committed
Adding permanent flag to deleteSubjectVersionRequest Request
1 parent b4fcc49 commit 662a53f

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/Requests.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,16 @@ public static function deleteSubjectRequest(string $subjectName, bool $permanent
202202
/**
203203
* @param string $subjectName
204204
* @param string $versionId
205+
* @param bool $permanent
205206
* @return RequestInterface
206207
*/
207-
public static function deleteSubjectVersionRequest(string $subjectName, string $versionId): RequestInterface
208+
public static function deleteSubjectVersionRequest(string $subjectName, string $versionId, bool $permanent = false): RequestInterface
208209
{
210+
$query = $permanent ? "true" : "false";
211+
209212
return new Request(
210213
'DELETE',
211-
Utils::uriFor("/subjects/$subjectName/versions/$versionId"),
214+
Utils::uriFor("/subjects/$subjectName/versions/$versionId?permanent=$query"),
212215
Constants::ACCEPT_HEADER
213216
);
214217
}

test/RequestsTest.php

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -376,16 +376,28 @@ public function it_should_produce_a_valid_subject_deletion_request(): void
376376
*/
377377
public function it_should_produce_a_valid_subject_version_deletion_request(): void
378378
{
379+
$request = Requests::deleteSubjectVersionRequest('test', Constants::VERSION_LATEST, false);
380+
381+
self::assertEquals('DELETE', $request->getMethod());
382+
self::assertEquals('/subjects/test/versions/latest?permanent=false', $request->getUri());
383+
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
384+
379385
$request = Requests::deleteSubjectVersionRequest('test', Constants::VERSION_LATEST);
380386

381387
self::assertEquals('DELETE', $request->getMethod());
382-
self::assertEquals('subjects/test/versions/latest', $request->getUri());
388+
self::assertEquals('subjects/test/versions/latest?permanent=false', $request->getUri());
389+
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
390+
391+
$request = Requests::deleteSubjectVersionRequest('test', '5', false);
392+
393+
self::assertEquals('DELETE', $request->getMethod());
394+
self::assertEquals('/subjects/test/versions/5?permanent=false', $request->getUri());
383395
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
384396

385-
$request = Requests::deleteSubjectVersionRequest('test', '5');
397+
$request = Requests::deleteSubjectVersionRequest('test', '5', true);
386398

387399
self::assertEquals('DELETE', $request->getMethod());
388-
self::assertEquals('subjects/test/versions/5', $request->getUri());
400+
self::assertEquals('subjects/test/versions/5?permanent=true', $request->getUri());
389401
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
390402
}
391403
}

0 commit comments

Comments
 (0)