public function testListNetworks()
{
$cloudstack = $this->getCloudStackMock('network', $this->getResponseCallback(substr(__FUNCTION__, 4)));
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\CloudStack', $cloudstack);
$networks = $cloudstack->network->describe();
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Network\\DataType\\NetworkResponseList', $networks);
foreach ($networks as $network) {
$this->assertEquals(1, $network->id);
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Network\\DataType\\NetworkResponseServiceList', $network->service);
foreach ($network->service as $service) {
$this->assertEquals("testio", $service->name);
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Network\\DataType\\NetworkResponseCapabilityList', $service->capability);
foreach ($service->capability as $capability) {
$this->assertEquals(true, $capability->canchooseservicecapability);
$this->assertEquals("testio", $capability->name);
$this->assertEquals("Scalr", $capability->value);
break;
}
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Network\\DataType\\NetworkResponseProviderList', $service->provider);
foreach ($service->provider as $provider) {
$this->assertEquals(7, $provider->id);
$this->assertEquals(true, $provider->canenableindividualservice);
$this->assertEquals(42, $provider->destinationphysicalnetworkid);
$this->assertEquals("testio", $provider->name);
$this->assertEquals(666, $provider->physicalnetworkid);
$this->assertEquals("services", $provider->servicelist);
$this->assertEquals("OK", $provider->state);
break;
}
}
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\DataType\\ResponseTagsList', $network->tags);
foreach ($network->tags as $tag) {
$this->assertEquals("testio", $tag->account);
$this->assertEquals("testio", $tag->customer);
$this->assertEquals("test.com", $tag->domain);
$this->assertEquals(42, $tag->domainid);
$this->assertEquals("key test", $tag->key);
$this->assertEquals("Project Test", $tag->project);
$this->assertEquals(666, $tag->projectid);
$this->assertEquals(11, $tag->resourceid);
$this->assertEquals("test", $tag->resourcetype);
$this->assertEquals("testvalue", $tag->value);
break;
}
break;
}
}