Completed
Push — master ( ea4e5e...1a7580 )
by Zbigniew
02:25
created

DependencyInjectionTestCase   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 90
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 90
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * This file is part of the WrikeBundle package.
4
 *
5
 * (c) Zbigniew Ślązak
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
11
namespace Zibios\Bundle\WrikeBundle\Tests\DependencyInjection;
12
13
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
14
use Zibios\Bundle\WrikeBundle\Tests\TestCase;
15
use Zibios\WrikePhpLibrary\Api;
16
17
/**
18
 * DependencyInjectionTestCase
19
 */
20
abstract class DependencyInjectionTestCase extends TestCase
21
{
22
    /**
23
     * @return array
24
     */
25
    public function configurationProvider()
26
    {
27
        return [
28
            // [sourceConfig, expectedConfig, expectedExceptionClass]
29
            // default
30
            [
31
                [],
32
                [],
33
                false,
34
            ],
35
            // api_url
36
            [
37
                ['api_url' => null],
38
                [],
39
                InvalidConfigurationException::class,
40
            ],
41
            [
42
                ['api_url' => ''],
43
                [],
44
                InvalidConfigurationException::class,
45
            ],
46
            [
47
                ['api_url' => []],
48
                [],
49
                InvalidConfigurationException::class,
50
            ],
51
            [
52
                ['api_url' => 'validToken'],
53
                ['api_url' => 'validToken'],
54
                false,
55
            ],
56
            // permanent_token -> tokens
57
            [
58
                ['permanent_tokens' => ['tokens' => null]],
59
                [],
60
                InvalidConfigurationException::class,
61
            ],
62
            [
63
                ['permanent_tokens' => ['tokens' => '']],
64
                [],
65
                InvalidConfigurationException::class,
66
            ],
67
            [
68
                ['permanent_tokens' => ['tokens' => []]],
69
                [],
70
                InvalidConfigurationException::class,
71
            ],
72
            [
73
                ['permanent_tokens' => ['tokens' => ['test']]],
74
                [],
75
                InvalidConfigurationException::class,
76
            ],
77
            [
78
                ['permanent_tokens' => ['tokens' => ['test' => '']]],
79
                [],
80
                InvalidConfigurationException::class,
81
            ],
82
            [
83
                ['permanent_tokens' => ['tokens' => [null => 'validToken']]],
84
                [],
85
                InvalidConfigurationException::class,
86
            ],
87
            [
88
                ['permanent_tokens' => ['tokens' => ['' => 'validToken']]],
89
                [],
90
                InvalidConfigurationException::class,
91
            ],
92
            [
93
                ['permanent_tokens' => ['tokens' => ['validName' => 'validToken']]],
94
                ['permanent_tokens' => ['tokens' => ['validName' => 'validToken']]],
95
                false,
96
            ],
97
            [
98
                ['permanent_tokens' => ['default_token' => 'validName', 'tokens' => ['validName' => 'validToken']]],
99
                ['permanent_tokens' => ['default_token' => 'validName', 'tokens' => ['validName' => 'validToken']]],
100
                false,
101
            ],
102
            [
103
                ['permanent_tokens' => ['default_token' => 'default', 'tokens' => ['validName' => 'validToken']]],
104
                [],
105
                InvalidConfigurationException::class,
106
            ],
107
        ];
108
    }
109
}
110