public function testCreateServer()
 {
     $server = new \Swagger\Client\Model\Server();
     $props = new \Swagger\Client\Model\ServerProperties();
     $props->setName("jclouds-node")->setCores(1)->setRam(1024);
     $server->setProperties($props);
     self::$testServer = self::$server_api->create(self::$testDatacenter->getId(), $server);
     $result = self::assertPredicate(function () {
         $server = self::$server_api->findById(self::$testDatacenter->getId(), self::$testServer->getId());
         if ($server->getMetadata()->getState() == 'AVAILABLE') {
             return $server;
         }
     });
     $this->assertEquals($result->getProperties()->getName(), "jclouds-node");
 }
 public function testUpdate()
 {
     $server = new \Swagger\Client\Model\Server();
     $props = new \Swagger\Client\Model\ServerProperties();
     $props->setName("new-name")->setCores(2)->setRam(1024 * 2);
     $server->setProperties($props);
     self::$server_api->partialUpdate(self::$testDatacenter->getId(), self::$testServer->getId(), $props);
     $result = self::assertPredicate(function () {
         $server = self::$server_api->findById(self::$testDatacenter->getId(), self::$testServer->getId());
         if ($server->getMetadata()->getState() == 'AVAILABLE') {
             return $server;
         }
     });
     self::assertDatacenterAvailable(self::$testDatacenter->getId());
     self::assertServerRunning(self::$testDatacenter->getId(), self::$testServer->getId());
     $updatedServer = self::$server_api->findById(self::$testDatacenter->getId(), self::$testServer->getId());
     $this->assertEquals($updatedServer->getProperties()->getName(), "new-name");
 }