@@ -34,13 +34,29 @@ public function testCanOpenGetCurlConnection()
3434 ->andReturn (null );
3535 $ this ->curlMock
3636 ->shouldReceive ('setopt_array ' )
37- ->with (array (
38- CURLOPT_URL => 'http://foo.com ' ,
39- CURLOPT_CONNECTTIMEOUT => 10 ,
40- CURLOPT_TIMEOUT => 60 ,
41- CURLOPT_RETURNTRANSFER => true ,
42- CURLOPT_HEADER => true ,
43- ))
37+ ->with (m::on (function ($ arg ) {
38+ $ caInfo = array_diff ($ arg , [
39+ CURLOPT_CUSTOMREQUEST => 'GET ' ,
40+ CURLOPT_HTTPHEADER => [],
41+ CURLOPT_URL => 'http://foo.com ' ,
42+ CURLOPT_CONNECTTIMEOUT => 10 ,
43+ CURLOPT_TIMEOUT => 60 ,
44+ CURLOPT_RETURNTRANSFER => true ,
45+ CURLOPT_HEADER => true ,
46+ CURLOPT_SSL_VERIFYHOST => 2 ,
47+ CURLOPT_SSL_VERIFYPEER => true ,
48+ ]);
49+
50+ if (count ($ caInfo ) !== 1 ) {
51+ return false ;
52+ }
53+
54+ if (1 !== preg_match ('/.+\/certs\/DigiCertHighAssuranceEVRootCA\.pem$/ ' , $ caInfo [CURLOPT_CAINFO ])) {
55+ return false ;
56+ }
57+
58+ return true ;
59+ }))
4460 ->once ()
4561 ->andReturn (null );
4662
@@ -55,16 +71,31 @@ public function testCanOpenGetCurlConnectionWithHeaders()
5571 ->andReturn (null );
5672 $ this ->curlMock
5773 ->shouldReceive ('setopt_array ' )
58- ->with (array (
59- CURLOPT_URL => 'http://foo.com ' ,
60- CURLOPT_CONNECTTIMEOUT => 10 ,
61- CURLOPT_TIMEOUT => 60 ,
62- CURLOPT_RETURNTRANSFER => true ,
63- CURLOPT_HEADER => true ,
64- CURLOPT_HTTPHEADER => array (
65- 'X-foo: bar ' ,
66- ),
67- ))
74+ ->with (m::on (function ($ arg ) {
75+ $ caInfo = array_diff ($ arg , [
76+ CURLOPT_CUSTOMREQUEST => 'GET ' ,
77+ CURLOPT_HTTPHEADER => array (
78+ 'X-foo: bar ' ,
79+ ),
80+ CURLOPT_URL => 'http://foo.com ' ,
81+ CURLOPT_CONNECTTIMEOUT => 10 ,
82+ CURLOPT_TIMEOUT => 60 ,
83+ CURLOPT_RETURNTRANSFER => true ,
84+ CURLOPT_HEADER => true ,
85+ CURLOPT_SSL_VERIFYHOST => 2 ,
86+ CURLOPT_SSL_VERIFYPEER => true ,
87+ ]);
88+
89+ if (count ($ caInfo ) !== 1 ) {
90+ return false ;
91+ }
92+
93+ if (1 !== preg_match ('/.+\/certs\/DigiCertHighAssuranceEVRootCA\.pem$/ ' , $ caInfo [CURLOPT_CAINFO ])) {
94+ return false ;
95+ }
96+
97+ return true ;
98+ }))
6899 ->once ()
69100 ->andReturn (null );
70101
@@ -80,16 +111,32 @@ public function testCanOpenPostCurlConnection()
80111 ->andReturn (null );
81112 $ this ->curlMock
82113 ->shouldReceive ('setopt_array ' )
83- ->with (array (
84- CURLOPT_URL => 'http://bar.com ' ,
85- CURLOPT_CONNECTTIMEOUT => 10 ,
86- CURLOPT_TIMEOUT => 60 ,
87- CURLOPT_RETURNTRANSFER => true ,
88- CURLOPT_HEADER => true ,
89- CURLOPT_POSTFIELDS => array (
90- 'baz ' => 'bar ' ,
91- ),
92- ))
114+ ->with (m::on (function ($ arg ) {
115+ $ caInfo = array_diff ($ arg , [
116+ CURLOPT_CUSTOMREQUEST => 'POST ' ,
117+ CURLOPT_HTTPHEADER => [],
118+ CURLOPT_URL => 'http://bar.com ' ,
119+ CURLOPT_CONNECTTIMEOUT => 10 ,
120+ CURLOPT_TIMEOUT => 60 ,
121+ CURLOPT_RETURNTRANSFER => true ,
122+ CURLOPT_HEADER => true ,
123+ CURLOPT_SSL_VERIFYHOST => 2 ,
124+ CURLOPT_SSL_VERIFYPEER => true ,
125+ CURLOPT_POSTFIELDS => array (
126+ 'baz ' => 'bar ' ,
127+ ),
128+ ]);
129+
130+ if (count ($ caInfo ) !== 1 ) {
131+ return false ;
132+ }
133+
134+ if (1 !== preg_match ('/.+\/certs\/DigiCertHighAssuranceEVRootCA\.pem$/ ' , $ caInfo [CURLOPT_CAINFO ])) {
135+ return false ;
136+ }
137+
138+ return true ;
139+ }))
93140 ->once ()
94141 ->andReturn (null );
95142
@@ -104,17 +151,32 @@ public function testCanOpenPutCurlConnection()
104151 ->andReturn (null );
105152 $ this ->curlMock
106153 ->shouldReceive ('setopt_array ' )
107- ->with (array (
108- CURLOPT_URL => 'http://baz.com ' ,
109- CURLOPT_CONNECTTIMEOUT => 10 ,
110- CURLOPT_TIMEOUT => 60 ,
111- CURLOPT_RETURNTRANSFER => true ,
112- CURLOPT_HEADER => true ,
113- CURLOPT_CUSTOMREQUEST => 'PUT ' ,
114- CURLOPT_POSTFIELDS => array (
115- 'baz ' => 'bar ' ,
116- ),
117- ))
154+ ->with (m::on (function ($ arg ) {
155+ $ caInfo = array_diff ($ arg , [
156+ CURLOPT_CUSTOMREQUEST => 'PUT ' ,
157+ CURLOPT_HTTPHEADER => [],
158+ CURLOPT_URL => 'http://baz.com ' ,
159+ CURLOPT_CONNECTTIMEOUT => 10 ,
160+ CURLOPT_TIMEOUT => 60 ,
161+ CURLOPT_RETURNTRANSFER => true ,
162+ CURLOPT_HEADER => true ,
163+ CURLOPT_SSL_VERIFYHOST => 2 ,
164+ CURLOPT_SSL_VERIFYPEER => true ,
165+ CURLOPT_POSTFIELDS => array (
166+ 'baz ' => 'bar ' ,
167+ ),
168+ ]);
169+
170+ if (count ($ caInfo ) !== 1 ) {
171+ return false ;
172+ }
173+
174+ if (1 !== preg_match ('/.+\/certs\/DigiCertHighAssuranceEVRootCA\.pem$/ ' , $ caInfo [CURLOPT_CAINFO ])) {
175+ return false ;
176+ }
177+
178+ return true ;
179+ }))
118180 ->once ()
119181 ->andReturn (null );
120182
@@ -129,34 +191,38 @@ public function testCanOpenDeleteCurlConnection()
129191 ->andReturn (null );
130192 $ this ->curlMock
131193 ->shouldReceive ('setopt_array ' )
132- ->with (array (
133- CURLOPT_URL => 'http://faz.com ' ,
134- CURLOPT_CONNECTTIMEOUT => 10 ,
135- CURLOPT_TIMEOUT => 60 ,
136- CURLOPT_RETURNTRANSFER => true ,
137- CURLOPT_HEADER => true ,
138- CURLOPT_CUSTOMREQUEST => 'DELETE ' ,
139- CURLOPT_POSTFIELDS => array (
140- 'baz ' => 'bar ' ,
141- ),
142- ))
194+ ->with (m::on (function ($ arg ) {
195+ $ caInfo = array_diff ($ arg , [
196+ CURLOPT_CUSTOMREQUEST => 'DELETE ' ,
197+ CURLOPT_HTTPHEADER => [],
198+ CURLOPT_URL => 'http://faz.com ' ,
199+ CURLOPT_CONNECTTIMEOUT => 10 ,
200+ CURLOPT_TIMEOUT => 60 ,
201+ CURLOPT_RETURNTRANSFER => true ,
202+ CURLOPT_HEADER => true ,
203+ CURLOPT_SSL_VERIFYHOST => 2 ,
204+ CURLOPT_SSL_VERIFYPEER => true ,
205+ CURLOPT_POSTFIELDS => array (
206+ 'baz ' => 'bar ' ,
207+ ),
208+ ]);
209+
210+ if (count ($ caInfo ) !== 1 ) {
211+ return false ;
212+ }
213+
214+ if (1 !== preg_match ('/.+\/certs\/DigiCertHighAssuranceEVRootCA\.pem$/ ' , $ caInfo [CURLOPT_CAINFO ])) {
215+ return false ;
216+ }
217+
218+ return true ;
219+ }))
143220 ->once ()
144221 ->andReturn (null );
145222
146223 $ this ->curlClient ->openConnection ('http://faz.com ' , 'DELETE ' , array ('baz ' => 'bar ' ));
147224 }
148225
149- public function testCanAddBundledCert ()
150- {
151- $ this ->curlMock
152- ->shouldReceive ('setopt ' )
153- ->with (CURLOPT_CAINFO , '/.fb_ca_chain_bundle\.crt$/ ' )
154- ->once ()
155- ->andReturn (null );
156-
157- $ this ->curlClient ->addBundledCert ();
158- }
159-
160226 public function testCanCloseConnection ()
161227 {
162228 $ this ->curlMock
0 commit comments