From 4dbdac81f748b1de29e1a3d44f2c9989220ee097 Mon Sep 17 00:00:00 2001 From: Igor Fedoronchuk Date: Fri, 4 Jan 2019 18:14:08 +0200 Subject: [PATCH] fix trunk configuration setters/getters bugs --- src/Item/Configuration/Base.php | 2 +- src/Item/Configuration/H323.php | 2 +- src/Item/Configuration/Iax2.php | 2 +- src/Item/Configuration/Pstn.php | 2 +- src/Item/Configuration/Sip.php | 20 ++++++-- tests/TrunkTest.php | 86 +++++++++++++++++++++++---------- 6 files changed, 79 insertions(+), 35 deletions(-) diff --git a/src/Item/Configuration/Base.php b/src/Item/Configuration/Base.php index 8c51f72..596de6e 100644 --- a/src/Item/Configuration/Base.php +++ b/src/Item/Configuration/Base.php @@ -4,7 +4,7 @@ abstract class Base implements \Swis\JsonApi\Client\Interfaces\DataInterface { - private $attributes = []; + protected $attributes = []; abstract protected function getType(); diff --git a/src/Item/Configuration/H323.php b/src/Item/Configuration/H323.php index 93e8cef..2281ff0 100644 --- a/src/Item/Configuration/H323.php +++ b/src/Item/Configuration/H323.php @@ -16,7 +16,7 @@ public function getHost() public function getPort() { - return $this->attributes['host']; + return $this->attributes['port']; } public function getCodecIds() diff --git a/src/Item/Configuration/Iax2.php b/src/Item/Configuration/Iax2.php index 0cb6b24..6fa2d4b 100644 --- a/src/Item/Configuration/Iax2.php +++ b/src/Item/Configuration/Iax2.php @@ -16,7 +16,7 @@ public function getHost() public function getPort() { - return $this->attributes['host']; + return $this->attributes['port']; } public function getCodecIds() diff --git a/src/Item/Configuration/Pstn.php b/src/Item/Configuration/Pstn.php index bd2dd9e..4866903 100644 --- a/src/Item/Configuration/Pstn.php +++ b/src/Item/Configuration/Pstn.php @@ -6,7 +6,7 @@ class Pstn extends Base { public function getDst() { - $this->attributes['dst'] = $newDst; + return $this->attributes['dst']; } public function setDst($newDst) diff --git a/src/Item/Configuration/Sip.php b/src/Item/Configuration/Sip.php index 0df691e..c28e776 100644 --- a/src/Item/Configuration/Sip.php +++ b/src/Item/Configuration/Sip.php @@ -135,8 +135,18 @@ public function getMax30xRedirects() return $this->attributes['max_30x_redirects']; } + public function getHost() + { + return $this->attributes['host']; + } + //## + public function setHost($newHost) + { + $this->attributes['host'] = $newHost; + } + public function setUsername($newUserName) { $this->attributes['username'] = $newUserName; @@ -197,6 +207,11 @@ public function setSstEnabled($newSstEnabled) $this->attributes['sst_enabled'] = $newSstEnabled; } + public function setSstRefreshMethodId($newSstRefreshMethodId) + { + $this->attributes['sst_refresh_method_id'] = $newSstRefreshMethodId; + } + public function setSstMinTimer($newSstMinTimer) { $this->attributes['sst_min_timer'] = $newSstMinTimer; @@ -242,11 +257,6 @@ public function setSstSessionExpires($newSstSessionExpires) $this->attributes['sst_session_expires'] = $newSstSessionExpires; } - public function setSstRefreshMethodId($newSstRefreshMethodId) - { - $this->attributes['sst_refresh_method_id'] = $newSstRefreshMethodId; - } - public function setTransportProtocolId($newTransportProtocolId) { $this->attributes['transport_protocol_id'] = $newTransportProtocolId; diff --git a/tests/TrunkTest.php b/tests/TrunkTest.php index 13386fd..ef24e12 100644 --- a/tests/TrunkTest.php +++ b/tests/TrunkTest.php @@ -43,11 +43,23 @@ public function testCreateH323Trunk() $trunk = new \Didww\Item\Trunk($attributes); $trunkDocument = $trunk->save(); $trunk = $trunkDocument->getData(); + + $h323Configuration = $trunk->getConfiguration(); + $this->assertInstanceOf('Didww\Item\Configuration\H323', $h323Configuration); + + $this->assertEquals($attributes['configuration']->getAttributes(), $h323Configuration->getAttributes()); + + $this->assertEquals(4569, $h323Configuration->getPort()); + + $this->assertEquals('558540420024', $h323Configuration->getDst()); + $this->assertEquals('example.com', $h323Configuration->getHost()); + $this->assertEquals(\Didww\Item\Configuration\Base::getDefaultCodecIds(), $h323Configuration->getCodecIds()); + $this->assertInstanceOf('Didww\Item\Trunk', $trunk); $this->assertInstanceOf('Didww\Item\Configuration\H323', $trunk->getConfiguration()); $this->assertEquals('78146511-7648-45ba-9b26-a4b2cf87db06', $trunk->getId()); $this->assertEquals($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + $this->assertEquals($attributes['name'], $trunk->getName()); $this->stopVCR(); } @@ -67,7 +79,7 @@ public function testUpdateH323Trunk() $this->assertInstanceOf('Didww\Item\Trunk', $trunk); $this->assertInstanceOf('Didww\Item\Configuration\H323', $trunk->getConfiguration()); $this->assertArraySubset($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + $this->assertEquals($attributes['name'], $trunk->getName()); $this->stopVCR(); } @@ -89,10 +101,21 @@ public function testCreateIax2Trunk() $trunkDocument = $trunk->save(); $trunk = $trunkDocument->getData(); $this->assertInstanceOf('Didww\Item\Trunk', $trunk); - $this->assertInstanceOf('Didww\Item\Configuration\Iax2', $trunk->getConfiguration()); $this->assertEquals('2021b895-52c9-4f65-990b-e57a1abf858d', $trunk->getId()); - $this->assertEquals($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + $this->assertEquals($attributes['name'], $trunk->getName()); + + $iaxConfiguration = $trunk->getConfiguration(); + $this->assertInstanceOf('Didww\Item\Configuration\Iax2', $iaxConfiguration); + + $this->assertEquals($attributes['configuration']->getAttributes(), $iaxConfiguration->getAttributes()); + + $this->assertEquals(4569, $iaxConfiguration->getPort()); + $this->assertEquals('auth_user', $iaxConfiguration->getAuthUser()); + $this->assertEquals('auth_password', $iaxConfiguration->getAuthPassword()); + $this->assertEquals('558540420024', $iaxConfiguration->getDst()); + $this->assertEquals('example.com', $iaxConfiguration->getHost()); + $this->assertEquals(\Didww\Item\Configuration\Base::getDefaultCodecIds(), $iaxConfiguration->getCodecIds()); + $this->stopVCR(); } @@ -111,9 +134,10 @@ public function testUpdateIaxTrunk() $trunkDocument = $trunk->save(); $trunk = $trunkDocument->getData(); $this->assertInstanceOf('Didww\Item\Trunk', $trunk); - $this->assertInstanceOf('Didww\Item\Configuration\Iax2', $trunk->getConfiguration()); - $this->assertArraySubset($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + $iaxConfiguration = $trunk->getConfiguration(); + $this->assertInstanceOf('Didww\Item\Configuration\Iax2', $iaxConfiguration); + $this->assertArraySubset($attributes['configuration']->getAttributes(), $iaxConfiguration->getAttributes()); + $this->assertEquals($attributes['name'], $trunk->getName()); $this->stopVCR(); } @@ -133,7 +157,7 @@ public function testCreatePstnTrunk() $this->assertInstanceOf('Didww\Item\Configuration\Pstn', $trunk->getConfiguration()); $this->assertEquals('41b94706-325e-4704-a433-d65105758836', $trunk->getId()); $this->assertEquals($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + $this->assertEquals($attributes['name'], $trunk->getName()); $this->stopVCR(); } @@ -151,8 +175,8 @@ public function testUpdatePstnTrunk() $trunk = $trunkDocument->getData(); $this->assertInstanceOf('Didww\Item\Trunk', $trunk); $this->assertInstanceOf('Didww\Item\Configuration\Pstn', $trunk->getConfiguration()); - $this->assertEquals($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + $this->assertEquals('558540420025', $trunk->getConfiguration()->getDst()); + $this->assertEquals($attributes['name'], $trunk->getName()); $this->stopVCR(); } @@ -160,23 +184,33 @@ public function testCreateSipTrunk() { $this->startVCR('trunks.yml'); $attributes = [ - 'configuration' => new \Didww\Item\Configuration\Sip([ - 'username' => 'username', - 'host' => '216.58.215.110', - 'sst_refresh_method_id' => 1, - 'port' => 5060, - 'codec_ids' => \Didww\Item\Configuration\Base::getDefaultCodecIds(), - 'rerouting_disconnect_code_ids' => \Didww\Item\Configuration\Base::getDefaultReroutingDisconnectCodeIds(), - ]), - 'name' => 'hello, test sip trunk', - ]; + 'configuration' => new \Didww\Item\Configuration\Sip([ + 'username' => 'username', + 'host' => '216.58.215.110', + 'sst_refresh_method_id' => 1, + 'port' => 5060, + 'codec_ids' => \Didww\Item\Configuration\Base::getDefaultCodecIds(), + 'rerouting_disconnect_code_ids' => \Didww\Item\Configuration\Base::getDefaultReroutingDisconnectCodeIds(), + ]), + 'name' => 'hello, test sip trunk', + ]; $trunk = new \Didww\Item\Trunk($attributes); $trunkDocument = $trunk->save(); $trunk = $trunkDocument->getData(); $this->assertInstanceOf('Didww\Item\Trunk', $trunk); - $this->assertInstanceOf('Didww\Item\Configuration\Sip', $trunk->getConfiguration()); - $this->assertArraySubset($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); + + $sipConfiguration = $trunk->getConfiguration(); + + $this->assertInstanceOf('Didww\Item\Configuration\Sip', $sipConfiguration); + $this->assertArraySubset($attributes['configuration']->getAttributes(), $sipConfiguration->getAttributes()); + + $this->assertEquals('216.58.215.110', $sipConfiguration->getHost()); + $this->assertEquals(1, $sipConfiguration->getSstRefreshMethodId()); + $this->assertEquals(5060, $sipConfiguration->getPort()); + $this->assertEquals(\Didww\Item\Configuration\Base::getDefaultCodecIds(), $sipConfiguration->getCodecIds()); + $this->assertEquals(\Didww\Item\Configuration\Base::getDefaultReroutingDisconnectCodeIds(), $sipConfiguration->getReroutingDisconnectCodeIds()); + $this->assertEquals('username', $sipConfiguration->getUsername()); + $this->assertEquals($attributes['name'], $trunk->getName()); $this->stopVCR(); } @@ -197,8 +231,8 @@ public function testUpdateSipTrunk() $this->assertInstanceOf('Didww\Item\Trunk', $trunk); $this->assertInstanceOf('Didww\Item\Configuration\Sip', $trunk->getConfiguration()); $this->assertArraySubset($attributes['configuration']->getAttributes(), $trunk->getConfiguration()->getAttributes()); - $this->assertEquals($attributes['name'], $trunk->getAttributes()['name']); - $this->assertEquals($attributes['description'], $trunk->getAttributes()['description']); + $this->assertEquals($attributes['name'], $trunk->getName()); + $this->assertEquals($attributes['description'], $trunk->getDescription()); $this->stopVCR(); }