summaryrefslogtreecommitdiff
path: root/lib/facebook-graph-sdk/tests/Http/GraphRawResponseTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/facebook-graph-sdk/tests/Http/GraphRawResponseTest.php')
-rw-r--r--lib/facebook-graph-sdk/tests/Http/GraphRawResponseTest.php82
1 files changed, 82 insertions, 0 deletions
diff --git a/lib/facebook-graph-sdk/tests/Http/GraphRawResponseTest.php b/lib/facebook-graph-sdk/tests/Http/GraphRawResponseTest.php
new file mode 100644
index 0000000..ecad26f
--- /dev/null
+++ b/lib/facebook-graph-sdk/tests/Http/GraphRawResponseTest.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Copyright 2014 Facebook, Inc.
+ *
+ * You are hereby granted a non-exclusive, worldwide, royalty-free license to
+ * use, copy, modify, and distribute this software in source code or binary
+ * form for use in connection with the web services and APIs provided by
+ * Facebook.
+ *
+ * As with any software that integrates with the Facebook platform, your use
+ * of this software is subject to the Facebook Developer Principles and
+ * Policies [http://developers.facebook.com/policy/]. This copyright notice
+ * shall be included in all copies or substantial portions of the software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+namespace Facebook\Tests\Http;
+
+use Facebook\Http\GraphRawResponse;
+
+class GraphRawResponseTest extends \PHPUnit_Framework_TestCase
+{
+
+ protected $fakeRawProxyHeader = "HTTP/1.0 200 Connection established
+Proxy-agent: Kerio Control/7.1.1 build 1971\r\n\r\n";
+ protected $fakeRawHeader = <<<HEADER
+HTTP/1.1 200 OK
+Etag: "9d86b21aa74d74e574bbb35ba13524a52deb96e3"
+Content-Type: text/javascript; charset=UTF-8
+X-FB-Rev: 9244768
+Date: Mon, 19 May 2014 18:37:17 GMT
+X-FB-Debug: 02QQiffE7JG2rV6i/Agzd0gI2/OOQ2lk5UW0=
+Access-Control-Allow-Origin: *\r\n\r\n
+HEADER;
+ protected $fakeHeadersAsArray = [
+ 'Etag' => '"9d86b21aa74d74e574bbb35ba13524a52deb96e3"',
+ 'Content-Type' => 'text/javascript; charset=UTF-8',
+ 'X-FB-Rev' => '9244768',
+ 'Date' => 'Mon, 19 May 2014 18:37:17 GMT',
+ 'X-FB-Debug' => '02QQiffE7JG2rV6i/Agzd0gI2/OOQ2lk5UW0=',
+ 'Access-Control-Allow-Origin' => '*',
+ ];
+
+ public function testCanSetTheHeadersFromAnArray()
+ {
+ $myHeaders = [
+ 'foo' => 'bar',
+ 'baz' => 'faz',
+ ];
+ $response = new GraphRawResponse($myHeaders, '');
+ $headers = $response->getHeaders();
+
+ $this->assertEquals($myHeaders, $headers);
+ }
+
+ public function testCanSetTheHeadersFromAString()
+ {
+ $response = new GraphRawResponse($this->fakeRawHeader, '');
+ $headers = $response->getHeaders();
+ $httpResponseCode = $response->getHttpResponseCode();
+
+ $this->assertEquals($this->fakeHeadersAsArray, $headers);
+ $this->assertEquals(200, $httpResponseCode);
+ }
+
+ public function testWillIgnoreProxyHeaders()
+ {
+ $response = new GraphRawResponse($this->fakeRawProxyHeader . $this->fakeRawHeader, '');
+ $headers = $response->getHeaders();
+ $httpResponseCode = $response->getHttpResponseCode();
+
+ $this->assertEquals($this->fakeHeadersAsArray, $headers);
+ $this->assertEquals(200, $httpResponseCode);
+ }
+}