Skip to content

Commit

Permalink
Connection + Tests + Bugfixes
Browse files Browse the repository at this point in the history
Updated All.php to remove filter[] params. This was causing certain tests to fail.

Added Connection.php
Added CredentialConnection.php
Added FQDN.php
Added FQDNConnection.php
Added IP.php
Added IPConnection.php
Added various tests
  • Loading branch information
weroh authored and eoghantelnyx committed Mar 6, 2020
1 parent 68c9fd9 commit d71262c
Show file tree
Hide file tree
Showing 14 changed files with 479 additions and 2 deletions.
10 changes: 8 additions & 2 deletions init.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
require(dirname(__FILE__) . '/lib/ApiRequestor.php');
require(dirname(__FILE__) . '/lib/ApiResource.php');
require(dirname(__FILE__) . '/lib/SingletonApiResource.php');
require(dirname(__FILE__) . '/lib/Collection.php');

// Telnyx API: Numbers
require(dirname(__FILE__) . '/lib/AvailablePhoneNumber.php');
Expand All @@ -65,5 +66,10 @@
// Telnyx API: Billing
require(dirname(__FILE__) . '/lib/BillingGroup.php');

// Old resources
require(dirname(__FILE__) . '/lib/Collection.php');
// Telnyx API: Connections
require(dirname(__FILE__) . '/lib/Connection.php');
require(dirname(__FILE__) . '/lib/IPConnection.php');
require(dirname(__FILE__) . '/lib/CredentialConnection.php');
require(dirname(__FILE__) . '/lib/IP.php');
require(dirname(__FILE__) . '/lib/FQDNConnection.php');
require(dirname(__FILE__) . '/lib/FQDN.php');
17 changes: 17 additions & 0 deletions lib/Connection.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?php

namespace Telnyx;

/**
* Class Connection
*
* @package Telnyx
*/
class Connection extends ApiResource
{
const OBJECT_NAME = "connection";

use ApiOperations\All;
use ApiOperations\Retrieve;

}
20 changes: 20 additions & 0 deletions lib/CredentialConnection.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Telnyx;

/**
* Class CredentialConnection
*
* @package Telnyx
*/
class CredentialConnection extends ApiResource
{
const OBJECT_NAME = "credential_connection";

use ApiOperations\All;
use ApiOperations\Create;
use ApiOperations\Delete;
use ApiOperations\Retrieve;
use ApiOperations\Update;

}
20 changes: 20 additions & 0 deletions lib/FQDN.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Telnyx;

/**
* Class FQDN
*
* @package Telnyx
*/
class FQDN extends ApiResource
{
const OBJECT_NAME = "fqdn";

use ApiOperations\All;
use ApiOperations\Create;
use ApiOperations\Delete;
use ApiOperations\Retrieve;
use ApiOperations\Update;

}
20 changes: 20 additions & 0 deletions lib/FQDNConnection.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Telnyx;

/**
* Class FQDNConnection
*
* @package Telnyx
*/
class FQDNConnection extends ApiResource
{
const OBJECT_NAME = "fqdn_connection";

use ApiOperations\All;
use ApiOperations\Create;
use ApiOperations\Delete;
use ApiOperations\Retrieve;
use ApiOperations\Update;

}
20 changes: 20 additions & 0 deletions lib/IP.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Telnyx;

/**
* Class IP
*
* @package Telnyx
*/
class IP extends ApiResource
{
const OBJECT_NAME = "ip";

use ApiOperations\All;
use ApiOperations\Create;
use ApiOperations\Delete;
use ApiOperations\Retrieve;
use ApiOperations\Update;

}
20 changes: 20 additions & 0 deletions lib/IPConnection.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Telnyx;

/**
* Class IPConnection
*
* @package Telnyx
*/
class IPConnection extends ApiResource
{
const OBJECT_NAME = "ip_connection";

use ApiOperations\All;
use ApiOperations\Create;
use ApiOperations\Delete;
use ApiOperations\Retrieve;
use ApiOperations\Update;

}
8 changes: 8 additions & 0 deletions lib/Util/Util.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,14 @@ public static function convertToTelnyxObject($resp, $opts)

// Telnyx API: Billing
\Telnyx\BillingGroup::OBJECT_NAME => 'Telnyx\\BillingGroup',

// Telnyx API: Connections
\Telnyx\Connection::OBJECT_NAME => 'Telnyx\\Connection',
\Telnyx\IPConnection::OBJECT_NAME => 'Telnyx\\IPConnection',
\Telnyx\CredentialConnection::OBJECT_NAME => 'Telnyx\\CredentialConnection',
\Telnyx\IP::OBJECT_NAME => 'Telnyx\\IP',
\Telnyx\FQDNConnection::OBJECT_NAME => 'Telnyx\\FQDNConnection',
\Telnyx\FQDN::OBJECT_NAME => 'Telnyx\\FQDN',
];
if (self::isList($resp)) {
$mapped = [];
Expand Down
30 changes: 30 additions & 0 deletions tests/api_resources/ConnectionTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

namespace Telnyx;

class ConnectionTest extends TestCase
{
const TEST_RESOURCE_ID = '123';

public function testIsListable()
{
$this->expectsRequest(
'get',
'/v2/connections'
);
$resources = Connection::all();
$this->assertInstanceOf(\Telnyx\Collection::class, $resources);
$this->assertInstanceOf(\Telnyx\Connection::class, $resources[0]);
}

public function testIsRetrievable()
{
$this->expectsRequest(
'get',
'/v2/connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = Connection::retrieve(self::TEST_RESOURCE_ID);
$this->assertInstanceOf(\Telnyx\Connection::class, $resource);
}

}
63 changes: 63 additions & 0 deletions tests/api_resources/CredentialConnectionTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php

namespace Telnyx;

class CredentialConnectionTest extends TestCase
{
const TEST_RESOURCE_ID = '123';

public function testIsListable()
{
$this->expectsRequest(
'get',
'/v2/credential_connections'
);
$resources = CredentialConnection::all();
$this->assertInstanceOf(\Telnyx\Collection::class, $resources);
$this->assertInstanceOf(\Telnyx\CredentialConnection::class, $resources[0]);
}

public function testIsCreatable()
{
$this->expectsRequest(
'post',
'/v2/credential_connections'
);
$resource = CredentialConnection::create(["connection_name" => "Test Connection"]);
$this->assertInstanceOf(\Telnyx\CredentialConnection::class, $resource);
}

public function testIsDeletable()
{
$resource = CredentialConnection::retrieve(self::TEST_RESOURCE_ID);
$this->expectsRequest(
'delete',
'/v2/credential_connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource->delete();
$this->assertInstanceOf(\Telnyx\CredentialConnection::class, $resource);
}

public function testIsRetrievable()
{
$this->expectsRequest(
'get',
'/v2/credential_connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = CredentialConnection::retrieve(self::TEST_RESOURCE_ID);
$this->assertInstanceOf(\Telnyx\CredentialConnection::class, $resource);
}

public function testIsUpdatable()
{
$this->expectsRequest(
'patch',
'/v2/credential_connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = CredentialConnection::update(self::TEST_RESOURCE_ID, [
"connection_name" => "Central BSD-1"
]);
$this->assertInstanceOf(\Telnyx\CredentialConnection::class, $resource);
}

}
63 changes: 63 additions & 0 deletions tests/api_resources/FQDNConnectionTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php

namespace Telnyx;

class FQDNConnectionTest extends TestCase
{
const TEST_RESOURCE_ID = '123';

public function testIsListable()
{
$this->expectsRequest(
'get',
'/v2/fqdn_connections'
);
$resources = FQDNConnection::all();
$this->assertInstanceOf(\Telnyx\Collection::class, $resources);
$this->assertInstanceOf(\Telnyx\FQDNConnection::class, $resources[0]);
}

public function testIsCreatable()
{
$this->expectsRequest(
'post',
'/v2/fqdn_connections'
);
$resource = FQDNConnection::create(["connection_name" => "Test Connection"]);
$this->assertInstanceOf(\Telnyx\FQDNConnection::class, $resource);
}

public function testIsDeletable()
{
$resource = FQDNConnection::retrieve(self::TEST_RESOURCE_ID);
$this->expectsRequest(
'delete',
'/v2/fqdn_connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource->delete();
$this->assertInstanceOf(\Telnyx\FQDNConnection::class, $resource);
}

public function testIsRetrievable()
{
$this->expectsRequest(
'get',
'/v2/fqdn_connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = FQDNConnection::retrieve(self::TEST_RESOURCE_ID);
$this->assertInstanceOf(\Telnyx\FQDNConnection::class, $resource);
}

public function testIsUpdatable()
{
$this->expectsRequest(
'patch',
'/v2/fqdn_connections/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = FQDNConnection::update(self::TEST_RESOURCE_ID, [
"connection_name" => "Central BSD-1"
]);
$this->assertInstanceOf(\Telnyx\FQDNConnection::class, $resource);
}

}
63 changes: 63 additions & 0 deletions tests/api_resources/FQDNTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php

namespace Telnyx;

class FQDNTest extends TestCase
{
const TEST_RESOURCE_ID = '123';

public function testIsListable()
{
$this->expectsRequest(
'get',
'/v2/fqdns'
);
$resources = FQDN::all();
$this->assertInstanceOf(\Telnyx\Collection::class, $resources);
$this->assertInstanceOf(\Telnyx\FQDN::class, $resources[0]);
}

public function testIsCreatable()
{
$this->expectsRequest(
'post',
'/v2/fqdns'
);
$resource = FQDN::create(["fqdn" => "example.com"]);
$this->assertInstanceOf(\Telnyx\FQDN::class, $resource);
}

public function testIsDeletable()
{
$resource = FQDN::retrieve(self::TEST_RESOURCE_ID);
$this->expectsRequest(
'delete',
'/v2/fqdns/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource->delete();
$this->assertInstanceOf(\Telnyx\FQDN::class, $resource);
}

public function testIsRetrievable()
{
$this->expectsRequest(
'get',
'/v2/fqdns/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = FQDN::retrieve(self::TEST_RESOURCE_ID);
$this->assertInstanceOf(\Telnyx\FQDN::class, $resource);
}

public function testIsUpdatable()
{
$this->expectsRequest(
'patch',
'/v2/fqdns/' . urlencode(self::TEST_RESOURCE_ID)
);
$resource = FQDN::update(self::TEST_RESOURCE_ID, [
"fqdn" => "example.com"
]);
$this->assertInstanceOf(\Telnyx\FQDN::class, $resource);
}

}
Loading

0 comments on commit d71262c

Please sign in to comment.