Skip to content

Commit 1a40d15

Browse files
committed
Adding permanent flag to deleteSubjectVersionRequest Request
1 parent d4185cf commit 1a40d15

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
@@ -345,16 +345,28 @@ public function it_should_produce_a_valid_subject_deletion_request(): void
345345
*/
346346
public function it_should_produce_a_valid_subject_version_deletion_request(): void
347347
{
348+
$request = Requests::deleteSubjectVersionRequest('test', Constants::VERSION_LATEST, false);
349+
350+
self::assertEquals('DELETE', $request->getMethod());
351+
self::assertEquals('/subjects/test/versions/latest?permanent=false', $request->getUri());
352+
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
353+
348354
$request = Requests::deleteSubjectVersionRequest('test', Constants::VERSION_LATEST);
349355

350356
self::assertEquals('DELETE', $request->getMethod());
351-
self::assertEquals('/subjects/test/versions/latest', $request->getUri());
357+
self::assertEquals('/subjects/test/versions/latest?permanent=false', $request->getUri());
358+
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
359+
360+
$request = Requests::deleteSubjectVersionRequest('test', '5', false);
361+
362+
self::assertEquals('DELETE', $request->getMethod());
363+
self::assertEquals('/subjects/test/versions/5?permanent=false', $request->getUri());
352364
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
353365

354-
$request = Requests::deleteSubjectVersionRequest('test', '5');
366+
$request = Requests::deleteSubjectVersionRequest('test', '5', true);
355367

356368
self::assertEquals('DELETE', $request->getMethod());
357-
self::assertEquals('/subjects/test/versions/5', $request->getUri());
369+
self::assertEquals('/subjects/test/versions/5?permanent=true', $request->getUri());
358370
self::assertEquals([Constants::ACCEPT => [Constants::ACCEPT_HEADER[Constants::ACCEPT]]], $request->getHeaders());
359371
}
360372
}

0 commit comments

Comments
 (0)