identity(); $dbaas = DBaaS::newFromIdentity($ident); $snap = $dbaas->snapshot(); $this->assertInstanceOf('\HPCloud\Services\DBaaS\Snapshot', $snap); } public function testCreate() { $dbname = self::conf('hpcloud.dbaas.database'); $this->assertNotEmpty($dbname); $this->destroyDatabase(); //$this->destroySnapshots(); $dbaas = $this->dbaas(); $inst = $dbaas->instance(); $details = $inst->create($dbname); $this->waitUntilRunning($inst, $details, TRUE); $id = $details->id(); $this->assertNotEmpty($id); $snap = $dbaas->snapshot(); $this->assertInstanceOf('\HPCloud\Services\DBaaS\Snapshot', $snap); $name = $id . self::SNAPSHOT_SUFFIX; $snap->listSnapshots(); $details = $snap->create($id, $name); $this->assertInstanceOf('\HPCloud\Services\DBaaS\SnapshotDetails', $details); //$this->waitUntilSnapshotReady($snap, $details, TRUE); $this->assertNotEmpty($details->id()); $this->assertNotEmpty($details->instanceId()); //$this->assertNotEmpty($details->status()); $this->assertNotEmpty($details->createdOn()); $this->assertNotEmpty($details->links()); $links = $details->links(); $this->assertEquals('self', $links[0]['rel']); $this->assertNotEmpty($links[0]['href']); return $details; } /** * @depends testCreate */ public function testDescribe($info) { $snap = $this->dbaas()->snapshot(); $details = $snap->describe($info->id()); $this->assertEquals($info->id(), $details->id()); $this->assertEquals($info->instanceId(), $details->instanceId()); } /** * @depends testCreate */ public function testListSnapshots($info) { $snap = $this->dbaas()->snapshot(); // Test listing all $all = $snap->listSnapshots(); $this->assertNotEmpty($all); $found; foreach ($all as $item) { if ($item->id() == $info->id()) { $found = $item; } } $this->assertInstanceOf('\HPCloud\Services\DBaaS\SnapshotDetails', $found); // Test listing just for specific instance ID. $all = $snap->listSnapshots($info->instanceId()); $this->assertEquals(1, count($all)); $found = NULL; foreach ($all as $item) { if ($item->id() == $info->id()) { $found = $item; } } $this->assertInstanceOf('\HPCloud\Services\DBaaS\SnapshotDetails', $found); $this->assertEquals($item->id(), $found->id()); } /** * @depends testCreate */ public function testDelete($info) { $snap = $this->dbaas()->snapshot(); $res = $snap->delete($info->id()); $this->assertTrue($res); $snaps = $snap->listSnapshots($info->id()); $this->assertEmpty($snaps); } }