public function testListSnapshots()
{
$cloudstack = $this->getCloudStackMock('snapshot', $this->getResponseCallback(substr(__FUNCTION__, 4)));
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\CloudStack', $cloudstack);
$snapshots = $cloudstack->snapshot->describe();
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Snapshot\\DataType\\SnapshotResponseList', $snapshots);
$this->assertEquals(7, count($snapshots));
foreach ($snapshots as $snapshot) {
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\Services\\Snapshot\\DataType\\SnapshotResponseData', $snapshot);
$this->assertEquals(137516, $snapshot->id);
$this->assertEquals("Scalr-User1", $snapshot->account);
$this->assertEquals(1105, $snapshot->domainid);
$this->assertEquals("70000001100", $snapshot->domain);
$this->assertEquals("MANUAL", $snapshot->snapshottype);
$this->assertEquals(75681, $snapshot->volumeid);
$this->assertEquals("ROOT-60414", $snapshot->volumename);
$this->assertEquals("ROOT", $snapshot->volumetype);
$this->assertEquals(new DateTime("2014-05-06T20:10:05+0900", new DateTimeZone('UTC')), $snapshot->created);
$this->assertEquals("MANUAL", $snapshot->intervaltype);
$this->assertEquals("BackedUp", $snapshot->state);
$this->assertEquals("Project Test", $snapshot->project);
$this->assertEquals(666, $snapshot->projectid);
$this->assertEquals(true, $snapshot->revertable);
$this->assertEquals(23, $snapshot->zoneid);
$this->assertEquals(42, $snapshot->jobid);
$this->assertEquals("status", $snapshot->jobstatus);
$this->assertInstanceOf('Scalr\\Service\\CloudStack\\DataType\\ResponseTagsList', $snapshot->tags);
foreach ($snapshot->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;
}
}