@@ -16,6 +16,80 @@ public function setUp()
1616 ]);
1717 }
1818
19+ protected function getOnlyMockedRequest ($ method = null , $ path = null )
20+ {
21+ $ requests = $ this ->getMockedRequests ();
22+ $ count = count ($ requests );
23+
24+ if ($ count != 1 )
25+ {
26+ $ this ->fail ("Expected 1 HTTP request, got $ count! " );
27+ }
28+
29+ $ request = $ requests [0 ];
30+
31+ if ($ method && $ path )
32+ {
33+ $ this ->assertRequest ($ method , $ path , $ request );
34+ }
35+ else if ($ method || $ path )
36+ {
37+ $ this ->fail ('$method and $path must both be present or null. ' );
38+ }
39+
40+ return $ request ;
41+ }
42+
43+ protected function assertRequest ($ method , $ path , $ request = null )
44+ {
45+ if (!$ request )
46+ {
47+ $ request = $ this ->getOnlyMockedRequest ();
48+ }
49+
50+ $ this ->assertEquals ($ method , $ request ->getMethod ());
51+ $ this ->assertEquals ($ path , $ request ->getResource ());
52+ }
53+
54+ protected function assertBasicAuth ($ username , $ password , $ request = null )
55+ {
56+ if (!$ request )
57+ {
58+ $ request = $ this ->getOnlyMockedRequest ();
59+ }
60+
61+ $ header = $ request ->getHeader ('Authorization ' );
62+
63+ if (!$ header )
64+ {
65+ $ this ->fail ("Missing Authorization header. " );
66+ }
67+
68+ $ this ->assertEquals (
69+ 'Basic ' . base64_encode ("$ username: $ password " ),
70+ $ header ->__toString ()
71+ );
72+ }
73+
74+ protected function assertRequestJson ($ object , $ request = null )
75+ {
76+ if (!$ request )
77+ {
78+ $ request = $ this ->getOnlyMockedRequest ();
79+ }
80+
81+ $ body = $ request ->getBody ();
82+ if (!$ body )
83+ {
84+ $ this ->fail ('Missing request entity body. ' );
85+
86+ }
87+
88+ $ this ->assertEquals (
89+ json_encode ($ object ),
90+ $ body ->__toString ()
91+ );
92+ }
1993}
2094
2195?>
0 commit comments