Completed
Push — master ( b234d5...cd142a )
by Leonardo
24s queued 11s
created

SettingsTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
eloc 15
c 2
b 0
f 0
dl 0
loc 36
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testSetGlobalSettings() 0 13 1
A testGetServiceSettingFromGlobalSettings() 0 5 1
A testSetServiceSettings() 0 11 1
1
<?php
2
3
use LeoCarmo\CircuitBreaker\CircuitBreaker;
4
5
class SettingsTest extends \PHPUnit\Framework\TestCase
6
{
7
8
    public function testSetGlobalSettings()
9
    {
10
        $settings = [
11
            'timeWindow' => 20,
12
            'failureRateThreshold' => 5,
13
            'intervalToHalfOpen' => 10,
14
        ];
15
16
        CircuitBreaker::setGlobalSettings($settings);
17
18
        $globalSettings = CircuitBreaker::getGlobalSettings();
19
20
        $this->assertEquals($settings, $globalSettings);
21
    }
22
23
    public function testGetServiceSettingFromGlobalSettings()
24
    {
25
        $serviceSetting = CircuitBreaker::getServiceSetting('my-service', 'failureRateThreshold');
26
27
        $this->assertEquals(5, $serviceSetting);
28
    }
29
30
    public function testSetServiceSettings()
31
    {
32
        $failureRateThreshold = 20;
33
34
        CircuitBreaker::setServiceSettings('my-service-2', [
35
            'failureRateThreshold' => $failureRateThreshold,
36
        ]);
37
38
        $serviceSetting = CircuitBreaker::getServiceSetting('my-service-2', 'failureRateThreshold');
39
40
        $this->assertEquals($failureRateThreshold, $serviceSetting);
41
    }
42
}
43