OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
Xpress
/
vendor
/
aws
/
aws-sdk-php
/
tests
/
S3
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/19/2025 10:07:17 AM
rwxr-xr-x
📄
AmbiguousSuccessParserTest.php
3.68 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
ApplyChecksumMiddlewareTest.php
7.42 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
BatchDeleteTest.php
6.73 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
BucketEndpointArnMiddlewareTest.php
21.78 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
BucketEndpointMiddlewareTest.php
6.02 KB
05/19/2025 10:07:17 AM
rw-r--r--
📁
Crypto
-
05/19/2025 10:07:17 AM
rwxr-xr-x
📁
Exception
-
05/19/2025 10:07:17 AM
rwxr-xr-x
📄
GetBucketLocationParserTest.php
1.34 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
MultipartCopyTest.php
4.94 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
MultipartUploaderTest.php
12.52 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
ObjectCopierTest.php
15.15 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
ObjectUploaderTest.php
11.32 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
PermanentRedirectMiddlewareTest.php
982 bytes
05/19/2025 10:07:17 AM
rw-r--r--
📄
PostObjectTest.php
3.52 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
PostObjectV4Test.php
11.12 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
PutObjectUrlMiddlewareTest.php
2 KB
05/19/2025 10:07:17 AM
rw-r--r--
📁
RegionalEndpoint
-
05/19/2025 10:07:17 AM
rwxr-xr-x
📄
RetryableMalformedResponseParserTest.php
934 bytes
05/19/2025 10:07:17 AM
rw-r--r--
📄
S3ClientTest.php
92.05 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
S3EndpointMiddlewareTest.php
30.05 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
S3MultiRegionClientTest.php
24.99 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
S3UriParserTest.php
7.45 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
SSECMiddlewareTest.php
2.91 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
StreamWrapperPathStyleTest.php
30.16 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
StreamWrapperTest.php
36.33 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
StreamWrapperV2ExistenceTest.php
32.63 KB
05/19/2025 10:07:17 AM
rw-r--r--
📄
TransferTest.php
14.24 KB
05/19/2025 10:07:17 AM
rw-r--r--
📁
UseArnRegion
-
05/19/2025 10:07:17 AM
rwxr-xr-x
📄
ValidateResponseChecksumParserTest.php
5.45 KB
05/19/2025 10:07:17 AM
rw-r--r--
📁
fixtures
-
03/05/2025 11:00:30 AM
rwxr-xr-x
📄
sig_hack.php
226 bytes
05/19/2025 10:07:17 AM
rw-r--r--
📁
test_cases
-
03/05/2025 10:56:44 AM
rwxr-xr-x
Editing: ValidateResponseChecksumParserTest.php
Close
<?php namespace Aws\Test\S3; use Aws\Api\ApiProvider; use Aws\Api\Service; use Aws\S3\ValidateResponseChecksumParser; use Aws\Test\UsesServiceTrait; use Aws\S3\GetBucketLocationParser; use Aws\Command; use Aws\Result; use GuzzleHttp\Psr7\Response; use PHPUnit\Framework\TestCase; /** * @covers Aws\S3\ValidateResponseChecksumParser */ class ValidateResponseChecksumParserTest extends TestCase { use UsesServiceTrait; /** * @dataProvider getChosenChecksumCases */ public function testValidatesChoosesRightChecksum( $responseAlgorithms, $checksumHeadersReturned, $expectedChecksum ) { $s3 = $this->getTestClient( 's3', ['api_provider' => ApiProvider::filesystem(__DIR__ . '/fixtures')] ); $parser = new ValidateResponseChecksumParser(function () { return new Result(); }, $s3->getApi()); $response = new Response(200, [], "response body"); foreach ($checksumHeadersReturned as $header) { $response = $response->withAddedHeader('x-amz-checksum-' . $header, "abc"); } $chosenChecksum = $parser->chooseChecksumHeaderToValidate( $responseAlgorithms, $response ); $this->assertEquals($expectedChecksum, $chosenChecksum); } public function getChosenChecksumCases() { return [ [['crc32', 'crc32c'], [], null], [['sha256', 'crc32'], ['sha256'], "sha256"], [['crc32', 'crc32c'], ["sha256", "crc32"], "crc32"], [['crc32', 'crc32c'], ['crc64'], null], ]; } public function testValidatesChecksumFailsOnBadValue() { $s3 = $this->getTestClient( 's3', ['api_provider' => ApiProvider::filesystem(__DIR__ . '/fixtures')] ); $parser = new ValidateResponseChecksumParser(function () { return new Result(); }, $s3->getApi() ); $response = new Response(200, [], "response body"); $response = $response->withAddedHeader('x-amz-checksum-sha256', "abc"); $chosenChecksum = $parser->validateChecksum( ['sha256'], $response ); $this->assertEquals("FAILED", $chosenChecksum['status']); } public function testValidatesChecksumSucceeds() { $s3 = $this->getTestClient( 's3', ['api_provider' => ApiProvider::filesystem(__DIR__ . '/fixtures')] ); $parser = new ValidateResponseChecksumParser(function () { return new Result(); }, $s3->getApi() ); $expectedValue = "E6TOUbfBBDPqSyozecOzDgB3K9CZKCI6d7PbKBAYvo0="; $response = new Response(200, [], "response body"); $response = $response->withAddedHeader('x-amz-checksum-sha256', $expectedValue); $chosenChecksum = $parser->validateChecksum( ['sha256'], $response ); $this->assertEquals("SUCCEEDED", $chosenChecksum['status']); $this->assertEquals("sha256", $chosenChecksum['checksum']); $this->assertEquals($expectedValue, $chosenChecksum['checksumHeaderValue']); } public function testValidatesChecksumSkipsValidation() { $s3 = $this->getTestClient( 's3', ['api_provider' => ApiProvider::filesystem(__DIR__ . '/fixtures')] ); $parser = new ValidateResponseChecksumParser(function () { return new Result(); }, $s3->getApi() ); $response = new Response(200, [], "response body"); $chosenChecksum = $parser->validateChecksum( [], $response ); $this->assertEquals("SKIPPED", $chosenChecksum['status']); } public function testSkipsGetObjectReturnsFullMultipart() { $s3 = $this->getTestClient( 's3', ['api_provider' => ApiProvider::filesystem(__DIR__ . '/fixtures')] ); $parser = new ValidateResponseChecksumParser(function () { return new Result(); }, $s3->getApi() ); $command = $s3->getCommand("GetObject", ["ChecksumMode" => "enabled"]); $expectedValue = "E6TOUbfBBDPqSyozecOzDgB3K9CZKCI6d7PbK-1034"; $response = new Response(200, [], "response body"); $response = $response->withAddedHeader('x-amz-checksum-sha256', $expectedValue); $result = $parser($command, $response); //if it reached here, it didn't throw the error self::assertTrue(true); } public function testValidatesSha256() { $s3 = $this->getTestClient( 's3', ['api_provider' => ApiProvider::filesystem(__DIR__ . '/fixtures')] ); $parser = new ValidateResponseChecksumParser(function () { return new Result(); }, $s3->getApi() ); $command = $s3->getCommand("GetObject", ["ChecksumMode" => "enabled"]); $expectedValue = "E6TOUbfBBDPqSyozecOzDgB3K9CZKCI6d7PbKBAYvo0="; $response = new Response(200, [], "response body"); $response = $response->withAddedHeader('x-amz-checksum-sha256', $expectedValue); $result = $parser($command, $response); //if it reached here, it didn't throw the error self::assertSame("SHA256", $result['ChecksumValidated']); } }