OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
aws-ses
/
vendor
/
aws
/
aws-sdk-php
/
tests
/
Api
/
Serializer
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/19/2025 10:07:21 AM
rwxr-xr-x
📄
ComplianceTest.php
4.95 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
JsonBodyTest.php
7.41 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
JsonRpcSerializerTest.php
2.97 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
QuerySerializerTest.php
2.85 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
RestJsonSerializerTest.php
12.89 KB
05/19/2025 10:07:21 AM
rw-r--r--
📄
RestXmlSerializerTest.php
3.7 KB
05/19/2025 10:07:21 AM
rw-r--r--
Editing: RestXmlSerializerTest.php
Close
<?php namespace Aws\Test\Api\Serializer; use Aws\Api\Serializer\RestXmlSerializer; use Aws\Api\Service; use Aws\Command; use Aws\EndpointV2\EndpointDefinitionProvider; use Aws\EndpointV2\EndpointProviderV2; use Aws\EndpointV2\Ruleset\RulesetEndpoint; use Aws\Test\UsesServiceTrait; use Yoast\PHPUnitPolyfills\TestCases\TestCase; /** * @covers Aws\Api\Serializer\RestXmlSerializer */ class RestXmlSerializerTest extends TestCase { use UsesServiceTrait; private function getRequest($commandName, $input) { $client = $this->getTestClient('s3', ['region' => 'us-east-1']); $command = $client->getCommand($commandName, $input); $xml = new RestXmlSerializer($client->getApi(), $client->getEndpoint()); return $xml($command); } public function testPreparesRequestsWithContentType() { $request = $this->getRequest('PutObject', [ 'Bucket' => 'foo', 'Key' => 'bar', 'Body' => 'baz', 'ContentType' => 'abc' ]); $this->assertSame('abc', $request->getHeaderLine('Content-Type')); } public function testEscapesAllXMLCharacters() { $request = $this->getRequest('DeleteObjects', [ 'Bucket' => 'foo', 'Delete' => ['Objects' => [ ['Key' => '/@/#/=/;/:/ /,/?/\'/"/</>/&/\r/\n/'] ] ], ]); $contents = $request->getBody()->getContents(); $this->assertStringContainsString( "<Key>/@/#/=/;/:/ /,/?/'/"/</>/&/ / /", $contents ); } public function testPreparesRequestsWithNoContentType() { $request = $this->getRequest('PutObject', [ 'Bucket' => 'foo', 'Key' => 'bar', 'Body' => 'baz' ]); $this->assertSame('', $request->getHeaderLine('Content-Type')); } public function testPreparesRequestsWithStructurePayloadXmlContentType() { $request = $this->getRequest('CompleteMultipartUpload', [ 'Bucket' => 'foo', 'Key' => 'bar', 'UploadId' => '123', 'MultipartUpload' => [ 'parts' => [ ['ETag' => 'a', 'PartNumber' => '123'] ] ] ]); $this->assertSame( 'application/xml', $request->getHeaderLine('Content-Type') ); } /** * @dataProvider boolProvider * @param bool $arg * @param string $expected */ public function testSerializesHeaderValueToBoolString($arg, $expected) { $request = $this->getRequest('PutObject', [ 'Bucket' => 'foo', 'Key' => 'bar', 'Body' => 'baz', 'BucketKeyEnabled' => $arg, ]); $this->assertSame( $expected, $request->getHeaderLine('x-amz-server-side-encryption-bucket-key-enabled') ); } public function boolProvider() { return [ [true, 'true'], [false, 'false'] ]; } public function testDoesNotOverrideScheme() { $client = $this->getTestClient('s3', ['region' => 'us-east-1']); $serializer = new RestXmlSerializer($client->getApi(), 'http://test.com'); $cmd = new Command('HeadObject', ['baz' => []]); $endpoint = new RulesetEndpoint('https://foo.com'); $request = $serializer($cmd, $endpoint); $this->assertSame('http://foo.com/', (string) $request->getUri()); } }