"name", 'enabled' => true, ]); $body = file_get_contents(__DIR__ . '/../Mocks/subaccountCreateResponse.json'); $this->mock(new PlivoResponse($request,200, $body)); $actual = $this->client->subAccounts->create('name', true); $this->assertRequest($request); self::assertNotNull($actual); self::assertEquals($actual->apiId, "97c8d1de-3f08-11e7-b6f4-061564b78b75"); self::assertEquals($actual->authId, "SANDLHYZBIZMU4ZDEXNM"); self::assertEquals($actual->authToken, "MTMzZTZjNzdiNDVmY2VhZDQyNTUwYWVjNzI2OThk"); self::assertEquals($actual->message, "created"); } function testSubAccountList() { $request = new PlivoRequest( 'GET', 'Account/MAXXXXXXXXXXXXXXXXXX/Subaccount/', []); $body = file_get_contents(__DIR__ . '/../Mocks/subaccountListResponse.json'); $this->mock(new PlivoResponse($request,200, $body)); $actual = $this->client->subAccounts->list; $this->assertRequest($request); self::assertNotNull($actual); $resource = false; foreach($actual->resources as $object) { if(stripos($object->resourceUri, "/v1/Account/MAXXXXXXXXXXXXXXXXXX/") !== false) { $resource = true; } self::assertEquals($resource, true); } } function testSubAccountGet() { $subAccountAuthId = "MAssssssssssssssssss"; $request = new PlivoRequest( 'GET', 'Account/MAXXXXXXXXXXXXXXXXXX/Subaccount/' . $subAccountAuthId . '/', []); $body = file_get_contents(__DIR__ . '/../Mocks/subaccountGetResponse.json'); $this->mock(new PlivoResponse($request,200, $body)); $actual = $this->client->subAccounts->get($subAccountAuthId); $this->assertRequest($request); self::assertNotNull($actual); self::assertEquals($actual->account, "/v1/Account/MAXXXXXXXXXXXXXXXXXX/"); } function testSubAccountModify() { $subAccountAuthId = "MAssssssssssssssssss"; $request = new PlivoRequest( 'POST', 'Account/MAXXXXXXXXXXXXXXXXXX/Subaccount/' . $subAccountAuthId . '/', [ 'name' => "name", 'enabled' => true, ]); $body = file_get_contents(__DIR__ . '/../Mocks/subaccountGetResponse.json'); $this->mock(new PlivoResponse($request,200, $body)); $subAccount = $this->client->subAccounts->get($subAccountAuthId); $body = file_get_contents(__DIR__ . '/../Mocks/subaccountModifyResponse.json'); $this->mock(new PlivoResponse($request,202, $body)); $actual = $subAccount->update("name", true); $this->assertRequest($request); self::assertNotNull($actual); self::assertEquals($actual->message, "changed"); } function testSubAccountDelete() { $subAccountAuthId = "MAssssssssssssssssss"; $request = new PlivoRequest( 'DELETE', 'Account/MAXXXXXXXXXXXXXXXXXX/Subaccount/' . $subAccountAuthId . '/', []); $this->mock(new PlivoResponse($request,204, null)); $actual = $this->client->subAccounts->delete($subAccountAuthId); $this->assertRequest($request); self::assertNotNull($actual); } }