File: XmlAwsErrorFactoryTest.php

package info (click to toggle)
php-async-aws-core 1.27.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 988 kB
  • sloc: php: 6,837; makefile: 32
file content (51 lines) | stat: -rw-r--r-- 1,570 bytes parent folder | download | duplicates (3)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

declare(strict_types=1);

namespace AsyncAws\Core\Tests\Unit\AwsError;

use AsyncAws\Core\AwsError\XmlAwsErrorFactory;
use PHPUnit\Framework\TestCase;

class XmlAwsErrorFactoryTest extends TestCase
{
    public function testCreateFromContent()
    {
        $content = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>NoSuchKey</Code>
    <Message>The specified key does not exist.</Message>
    <Key>travis-ci/8173c58fa3af3cb90ab1/path.txt</Key>
    <RequestId>E35DA9F89E2F4155</RequestId>
    <HostId>fQa+jP2WL4wWRe+OFbw9H9HNqoailc7Zv+nRsjEqXjrsOuIy1ubQ1rOXA=</HostId>
</Error>
XML;

        $factory = new XmlAwsErrorFactory();
        $awsError = $factory->createFromContent($content, []);

        self::assertEquals('NoSuchKey', $awsError->getCode());
        self::assertEquals('The specified key does not exist.', $awsError->getMessage());
    }

    public function testCloudFormationXmlError()
    {
        $content = '<ErrorResponse xmlns="http://cloudformation.amazonaws.com/doc/2010-05-15/">
  <Error>
    <Type>Sender</Type>
    <Code>ValidationError</Code>
    <Message>Stack [foo-dev] does not exist</Message>
  </Error>
  <RequestId>f1479c09-9fff-498a-89e5-b69d211fa206</RequestId>
</ErrorResponse>
';

        $factory = new XmlAwsErrorFactory();
        $awsError = $factory->createFromContent($content, []);

        self::assertSame('Sender', $awsError->getType());
        self::assertSame('ValidationError', $awsError->getCode());
        self::assertSame('Stack [foo-dev] does not exist', $awsError->getMessage());
    }
}