9
9
namespace Test \Http \Client ;
10
10
11
11
use GuzzleHttp \Client as GuzzleClient ;
12
- use GuzzleHttp \HandlerStack ;
13
12
use GuzzleHttp \Handler \CurlHandler ;
13
+ use GuzzleHttp \HandlerStack ;
14
14
use OC \Http \Client \Client ;
15
15
use OC \Http \Client \ClientService ;
16
16
use OC \Http \Client \DnsPinMiddleware ;
@@ -25,6 +25,9 @@ class ClientServiceTest extends \Test\TestCase {
25
25
public function testNewClient (): void {
26
26
/** @var IConfig $config */
27
27
$ config = $ this ->createMock (IConfig::class);
28
+ $ config ->method ('getSystemValueBool ' )
29
+ ->with ('dns_pinning ' , true )
30
+ ->willReturn (true );
28
31
/** @var ICertificateManager $certificateManager */
29
32
$ certificateManager = $ this ->createMock (ICertificateManager::class);
30
33
$ dnsPinMiddleware = $ this ->createMock (DnsPinMiddleware::class);
@@ -57,4 +60,42 @@ public function testNewClient(): void {
57
60
$ clientService ->newClient ()
58
61
);
59
62
}
63
+
64
+ public function testDisableDnsPinning (): void {
65
+ /** @var IConfig $config */
66
+ $ config = $ this ->createMock (IConfig::class);
67
+ $ config ->method ('getSystemValueBool ' )
68
+ ->with ('dns_pinning ' , true )
69
+ ->willReturn (false );
70
+ /** @var ICertificateManager $certificateManager */
71
+ $ certificateManager = $ this ->createMock (ICertificateManager::class);
72
+ $ dnsPinMiddleware = $ this ->createMock (DnsPinMiddleware::class);
73
+ $ dnsPinMiddleware
74
+ ->expects ($ this ->never ())
75
+ ->method ('addDnsPinning ' )
76
+ ->willReturn (function () {
77
+ });
78
+ $ localAddressChecker = $ this ->createMock (LocalAddressChecker::class);
79
+
80
+ $ clientService = new ClientService (
81
+ $ config ,
82
+ $ certificateManager ,
83
+ $ dnsPinMiddleware ,
84
+ $ localAddressChecker
85
+ );
86
+
87
+ $ handler = new CurlHandler ();
88
+ $ stack = HandlerStack::create ($ handler );
89
+ $ guzzleClient = new GuzzleClient (['handler ' => $ stack ]);
90
+
91
+ $ this ->assertEquals (
92
+ new Client (
93
+ $ config ,
94
+ $ certificateManager ,
95
+ $ guzzleClient ,
96
+ $ localAddressChecker
97
+ ),
98
+ $ clientService ->newClient ()
99
+ );
100
+ }
60
101
}
0 commit comments