Passed
Pull Request — master (#661)
by
unknown
05:46
created

JsonSchemaTest::testJsonValidatorFunction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 15
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 20
rs 9.7666
1
<?php
2
3
namespace OldSound\RabbitMqBundle\Tests\RabbitMq;
4
5
use PHPUnit\Framework\TestCase;
6
7
class JsonSchemaTest extends TestCase
8
{
9
    public function testJsonValidatorFunction()
10
    {
11
        $jsonValidator = $this->getMockBuilder('OldSound\RabbitMqBundle\RabbitMq\Validator\JsonValidator')
12
            ->disableOriginalConstructor()
13
            ->getMock();
14
15
        $jsonValidator->setSchema(
16
            "OldSound\RabbitMqBundle\TestValidation/schema/JsonValidation.schema",
17
            null
18
        );
19
20
        $json_msg = <<<'JSON'
21
        {
22
            "firstName": "John",
23
            "lastName": "Doe",
24
            "age": 21
25
        }
26
JSON;
27
        $jsonValidator->method('getContentType')->willReturn('application/json');
28
        $this->assertEquals(null, $jsonValidator->validate($json_msg));
29
        
30
    }
31
32
    public function testXmlValidatorFunction()
33
    {
34
        $xmlValidator = $this->getMockBuilder('OldSound\RabbitMqBundle\RabbitMq\Validator\XmlValidator')
35
            ->disableOriginalConstructor()
36
            ->getMock();
37
38
        $xmlValidator->setSchema(
39
            "OldSound\RabbitMqBundle\TestValidation/schema/XmlValidation.xsd",
40
            null
41
        );
42
43
        $xml_msg = <<<'XML'
44
        <person>
45
        <firstName>John</firstName>
46
        <from>Doe</from>
47
        <age>21</age>
48
        </person>
49
XML;
50
        $xmlValidator->method('getContentType')->willReturn('application/xml');
51
        $this->assertEquals(null, $xmlValidator->validate($xml_msg));
52
    }
53
54
    public function testJsonValidatorWithSchemaDataFunction()
55
    {
56
        $jsonValidator = $this->getMockBuilder('OldSound\RabbitMqBundle\RabbitMq\Validator\JsonValidator')
57
            ->disableOriginalConstructor()
58
            ->getMock();
59
60
            $jsonValidator->setSchema(
61
            "OldSound\RabbitMqBundle\TestValidation/schema/top_level.schema",
62
            array(
63
                'schema_url'=>"defs.schema",
64
                'definitions'=>"%kernel.project_dir%/config/jsonschema/common_objects.schema"
65
            )
66
        );
67
68
        $json_msg = <<<'JSON'
69
        {
70
            "prefix": "Mr",
71
            "firstName": "John",
72
            "lastName": "Doe",
73
            "age": 21,
74
            "language": "EN"
75
        }
76
JSON;
77
        $jsonValidator->method('getContentType')->willReturn('application/json');
78
        $this->assertEquals(null, $jsonValidator->validate($json_msg));
79
    }
80
}
81