aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/AppFramework/OCS/V2ResponseTest.php
blob: 97a227418f3f7832a46ad00c300a44a21a808644 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

declare(strict_types=1);

/**
 * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */

namespace Test\AppFramework\OCS;

use OC\AppFramework\OCS\V2Response;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;

class V2ResponseTest extends \Test\TestCase {
	/**
	 * @dataProvider providesStatusCodes
	 */
	public function testStatusCodeMapper(int $expected, int $sc): void {
		$response = new V2Response(new DataResponse([], $sc));
		$this->assertEquals($expected, $response->getStatus());
	}

	public function providesStatusCodes(): array {
		return [
			[Http::STATUS_OK, 200],
			[Http::STATUS_BAD_REQUEST, 104],
			[Http::STATUS_BAD_REQUEST, 1000],
			[201, 201],
			[Http::STATUS_UNAUTHORIZED, OCSController::RESPOND_UNAUTHORISED],
			[Http::STATUS_INTERNAL_SERVER_ERROR, OCSController::RESPOND_SERVER_ERROR],
			[Http::STATUS_NOT_FOUND, OCSController::RESPOND_NOT_FOUND],
			[Http::STATUS_INTERNAL_SERVER_ERROR, OCSController::RESPOND_UNKNOWN_ERROR],
		];
	}
}