public function testListZones()
{
$cloudstack = $this->getCloudStackMock('zone', $this->getResponseCallback(substr(__FUNCTION__, 4)));
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\CloudStack', $cloudstack);
$zones = $cloudstack->zone->describe();
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Zone\\DataType\\ZoneList', $zones);
foreach ($zones as $zone) {
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Zone\\DataType\\ZoneData', $zone);
$this->assertEquals(1, $zone->id);
$this->assertEquals("test", $zone->description);
$this->assertEquals("some text", $zone->displaytext);
$this->assertEquals("dns1", $zone->dns1);
$this->assertEquals("dns2", $zone->dns2);
$this->assertEquals("test.com", $zone->domain);
$this->assertEquals(1, $zone->domainid);
$this->assertEquals("testio", $zone->domainname);
$this->assertEquals("guest", $zone->guestcidraddress);
$this->assertEquals("test1", $zone->internaldns1);
$this->assertEquals("test2", $zone->internaldns2);
$this->assertEquals("120.0.0.1", $zone->ip6dns1);
$this->assertEquals("120.0.0.1", $zone->ip6dns2);
$this->assertEquals(true, $zone->localstorageenabled);
$this->assertEquals("jp-east-t1v", $zone->name);
$this->assertEquals("Advanced", $zone->networktype);
$this->assertEquals("0.9", $zone->resourcedetails->{"pool.storage.capacity.disablethreshold"});
$this->assertEquals("1.0", $zone->resourcedetails->{"storage.overprovisioning.factor"});
$this->assertEquals(false, $zone->securitygroupsenabled);
$this->assertEquals(42, $zone->vlan);
$this->assertEquals("Enabled", $zone->allocationstate);
$this->assertEquals("6a3bfa26-67cd-3ff2-867e-20e86b211bb1", $zone->zonetoken);
$this->assertEquals("VirtualRouter", $zone->dhcpprovider);
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Zone\\DataType\\CapacityList', $zone->capacity);
foreach ($zone->capacity as $capacity) {
$this->assertEquals(42, $capacity->capacitytotal);
$this->assertEquals(10, $capacity->capacityused);
$this->assertEquals(10, $capacity->clusterid);
$this->assertEquals("testio", $capacity->clustername);
$this->assertEquals(100, $capacity->percentused);
$this->assertEquals(1, $capacity->podid);
$this->assertEquals("testio", $capacity->podname);
$this->assertEquals("Type", $capacity->type);
$this->assertEquals(2, $capacity->zoneid);
$this->assertEquals("TestZone", $capacity->zonename);
break;
}
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\DataType\\ResponseTagsList', $zone->tags);
foreach ($zone->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;
}
}