summaryrefslogtreecommitdiffstats
path: root/test/unit
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/ClientTest.php76
-rw-r--r--test/unit/MockClient.php20
-rw-r--r--test/unit/ResponseTest.php44
-rw-r--r--test/unit/bootstrap.php15
4 files changed, 97 insertions, 58 deletions
diff --git a/test/unit/ClientTest.php b/test/unit/ClientTest.php
index 51cfd76..18cab59 100644
--- a/test/unit/ClientTest.php
+++ b/test/unit/ClientTest.php
@@ -1,76 +1,64 @@
<?php
-class MockClient extends SendGrid\Client
-{
- public
- $request_body,
- $request_headers,
- $url;
-
- public function makeRequest($method, $url, $request_body = null, $request_headers = null)
- {
- $this->request_body = $request_body;
- $this->request_headers = $request_headers;
- $this->url = $url;
- return $this;
- }
-}
-class ClientTest_Client extends PHPUnit_Framework_TestCase
+namespace SendGrid\Test;
+
+class ClientTest extends \PHPUnit_Framework_TestCase
{
- protected
- $client,
- $host,
- $headers;
+ /** @var MockClient */
+ private $client;
+ /** @var string */
+ private $host;
+ /** @var array */
+ private $headers;
protected function setUp()
{
$this->host = 'https://localhost:4010';
- $this->headers = array(
+ $this->headers = [
'Content-Type: application/json',
'Authorization: Bearer SG.XXXX'
- );
+ ];
$this->client = new MockClient($this->host, $this->headers, '/v3', null);
}
- public function testInitialization()
+ public function testConstructor()
{
- $this->assertEquals($this->client->host, $this->host);
- $this->assertEquals($this->client->request_headers, $this->headers);
- $this->assertEquals($this->client->version, '/v3');
- $this->assertEquals($this->client->url_path, []);
- $this->assertEquals($this->client->methods, ['delete', 'get', 'patch', 'post', 'put']);
+ $this->assertAttributeEquals($this->host, 'host', $this->client);
+ $this->assertAttributeEquals($this->headers, 'headers', $this->client);
+ $this->assertAttributeEquals('/v3', 'version', $this->client);
+ $this->assertAttributeEquals([], 'path', $this->client);
+ $this->assertAttributeEquals(['delete', 'get', 'patch', 'post', 'put'], 'methods', $this->client);
}
public function test_()
{
$client = $this->client->_('test');
- $this->assertEquals($client->url_path, array('test'));
+ $this->assertAttributeEquals(['test'], 'path', $client);
}
public function test__call()
{
$client = $this->client->get();
- $this->assertEquals($client->url, 'https://localhost:4010/v3/');
+ $this->assertAttributeEquals('https://localhost:4010/v3/', 'url', $client);
- $query_params = array('limit' => 100, 'offset' => 0);
- $client = $this->client->get(null, $query_params);
- $this->assertEquals($client->url, 'https://localhost:4010/v3/?limit=100&offset=0');
+ $queryParams = ['limit' => 100, 'offset' => 0];
+ $client = $this->client->get(null, $queryParams);
+ $this->assertAttributeEquals('https://localhost:4010/v3/?limit=100&offset=0', 'url', $client);
- $request_body = array('name' => 'A New Hope');
- $client = $this->client->get($request_body);
- $this->assertEquals($client->request_body, $request_body);
+ $requestBody = ['name' => 'A New Hope'];
+ $client = $this->client->get($requestBody);
+ $this->assertAttributeEquals($requestBody, 'requestBody', $client);
- $request_headers = array('X-Mock: 200');
- $client = $this->client->get(null, null, $request_headers);
- $this->assertEquals($client->request_headers, $request_headers);
+ $requestHeaders = ['X-Mock: 200'];
+ $client = $this->client->get(null, null, $requestHeaders);
+ $this->assertAttributeEquals($requestHeaders, 'requestHeaders', $client);
$client = $this->client->version('/v4');
- $this->assertEquals($client->version, '/v4');
+ $this->assertAttributeEquals('/v4', 'version', $client);
$client = $this->client->path_to_endpoint();
- $this->assertEquals($client->url_path, array('path_to_endpoint'));
+ $this->assertAttributeEquals(['path_to_endpoint'], 'path', $client);
$client = $client->one_more_segment();
- $this->assertEquals($client->url_path, array('path_to_endpoint', 'one_more_segment'));
+ $this->assertAttributeEquals(['path_to_endpoint', 'one_more_segment'], 'path', $client);
}
-}
-?> \ No newline at end of file
+} \ No newline at end of file
diff --git a/test/unit/MockClient.php b/test/unit/MockClient.php
new file mode 100644
index 0000000..0254e5e
--- /dev/null
+++ b/test/unit/MockClient.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace SendGrid\Test;
+
+use SendGrid\Client;
+
+class MockClient extends Client
+{
+ protected $requestBody;
+ protected $requestHeaders;
+ protected $url;
+
+ public function makeRequest($method, $url, $requestBody = null, $requestHeaders = null)
+ {
+ $this->requestBody = $requestBody;
+ $this->requestHeaders = $requestHeaders;
+ $this->url = $url;
+ return $this;
+ }
+} \ No newline at end of file
diff --git a/test/unit/ResponseTest.php b/test/unit/ResponseTest.php
new file mode 100644
index 0000000..04bd27b
--- /dev/null
+++ b/test/unit/ResponseTest.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace SendGrid\Test;
+
+use SendGrid\Response;
+
+class ResponseTest extends \PHPUnit_Framework_TestCase
+{
+ public function testConstructor()
+ {
+ $response = new Response();
+
+ $this->assertAttributeEquals(null, 'statusCode', $response);
+ $this->assertAttributeEquals(null, 'body', $response);
+ $this->assertAttributeEquals(null, 'headers', $response);
+
+ $response = new Response(200, 'test', ['Content-Encoding: gzip']);
+
+ $this->assertAttributeEquals(200, 'statusCode', $response);
+ $this->assertAttributeEquals('test', 'body', $response);
+ $this->assertAttributeEquals(['Content-Encoding: gzip'], 'headers', $response);
+ }
+
+ public function testStatusCode()
+ {
+ $response = new Response(404);
+
+ $this->assertEquals(404, $response->statusCode());
+ }
+
+ public function testBody()
+ {
+ $response = new Response(null, 'foo');
+
+ $this->assertEquals('foo', $response->body());
+ }
+
+ public function testHeaders()
+ {
+ $response = new Response(null, null, ['Content-Type: text/html']);
+
+ $this->assertEquals(['Content-Type: text/html'], $response->headers());
+ }
+} \ No newline at end of file
diff --git a/test/unit/bootstrap.php b/test/unit/bootstrap.php
index 71a1608..19d4b20 100644
--- a/test/unit/bootstrap.php
+++ b/test/unit/bootstrap.php
@@ -1,16 +1,3 @@
<?php
-include(dirname(dirname(__FILE__)) . '/../lib/SendGrid/client.php');
+
require __DIR__ . '/../../vendor/autoload.php';
-function autoload_tests($class)
-{
- if (strpos($class, 'PHPHTTPClientTest_') !== 0) {
- return;
- }
- $class = substr($class, 13);
- $file = str_replace('_', '/', $class);
- if (file_exists(dirname(__FILE__) . '/' . $file . '.php')) {
- require_once(dirname(__FILE__) . '/' . $file . '.php');
- }
-}
-spl_autoload_register('autoload_tests');
-?> \ No newline at end of file