<?php use \Mockery as m; class TrunkingOriginationUrlsTest extends PHPUnit_Framework_TestCase { protected $formHeaders = array('Content-Type' => 'application/x-www-form-urlencoded'); function testRead() { $http = m::mock(new Services_Twilio_TinyHttp); $http->shouldReceive('get')->once() ->with('/v1/Trunks/TK123/OriginationUrls?Page=0&PageSize=50') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array( 'meta' => array('key' => 'origination_urls', 'next_page_url' => null), 'origination_urls' => array(array('sid' => 'OU123')) )) )); $trunkingClient = new Trunking_Services_Twilio('AC123', '123', 'v1', $http); $trunk = $trunkingClient->trunks->get('TK123'); foreach ($trunk->origination_urls->getIterator(0, 50) as $origination_url) { $this->assertEquals('OU123', $origination_url->sid); } } function testFetch() { $http = m::mock(new Services_Twilio_TinyHttp); $http->shouldReceive('get')->once() ->with('/v1/Trunks/TK123/OriginationUrls/OU123') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array('sid' => 'OU123', 'friendly_name' => 'OriginationUrl')) )); $trunkingClient = new Trunking_Services_Twilio('AC123', '123', 'v1', $http); $trunk = $trunkingClient->trunks->get('TK123'); $origination_url = $trunk->origination_urls->get('OU123'); $this->assertNotNull($origination_url); $this->assertEquals('OriginationUrl', $origination_url->friendly_name); } function testCreate() { $http = m::mock(new Services_Twilio_TinyHttp); $http->shouldReceive('post')->once() ->with('/v1/Trunks/TK123/OriginationUrls', $this->formHeaders, 'FriendlyName=TestUrl') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array('sid' => 'OU123')) )); $trunkingClient = new Trunking_Services_Twilio('AC123', '123', '2010-04-01', $http); $trunk = $trunkingClient->trunks->get('TK123'); $origination_url = $trunk->origination_urls->create(array( 'FriendlyName' => 'TestUrl' )); $this->assertSame('OU123', $origination_url->sid); } function testUpdate() { $http = m::mock(new Services_Twilio_TinyHttp); $http->shouldReceive('post')->once() ->with('/v1/Trunks/TK123/OriginationUrls/OU123', $this->formHeaders, 'FriendlyName=TestUrl&SipUrl=http://sip.com') ->andReturn(array(200, array('Content-Type' => 'application/json'), json_encode(array('sid' => 'OU123')) )); $trunkingClient = new Trunking_Services_Twilio('AC123', '123', '2010-04-01', $http); $trunk = $trunkingClient->trunks->get('TK123'); $origination_url = $trunk->origination_urls->get('OU123'); $origination_url->update(array( 'FriendlyName' => 'TestUrl', 'SipUrl' => 'http://sip.com' )); $this->assertSame('OU123', $orignation_url->sid); } function testDelete() { $http = m::mock(new Services_Twilio_TinyHttp); $http->shouldReceive('delete')->once() ->with('/v1/Trunks/TK123/OriginationUrls/OU123') ->andReturn(array(204, array('Content-Type' => 'application/json'), '' )); $trunkingClient = new Trunking_Services_Twilio('AC123', '123', null, $http); $trunk = $trunkingClient->trunks->get('TK123'); $trunk->origination_urls->delete('OU123'); } function tearDown() { m::close(); } }