public function testCreateVolume()
 {
     $volume = new Swagger\Client\Model\Volume();
     $props = new \Swagger\Client\Model\VolumeProperties();
     $props->setName("test-volume")->setSize(3)->setType('HDD')->setLicenceType('LINUX');
     $volume->setProperties($props);
     self::$testVolume = self::$volume_api->create(self::$testDatacenter->getId(), $volume);
     $testVolume = self::assertPredicate(function () {
         $volume = self::$volume_api->findById(self::$testDatacenter->getId(), self::$testVolume->getId());
         if ($volume->getMetadata()->getState() == 'AVAILABLE') {
             return $volume;
         }
     });
     $this->assertEquals($testVolume->getProperties()->getName(), "test-volume");
 }
 public function testUpdate()
 {
     $props = new \Swagger\Client\Model\VolumeProperties();
     $props->setName("new-name")->setSize(3);
     self::$volume_api->partialUpdate(self::$testDatacenter->getId(), self::$testVolume->getId(), $props);
     self::assertPredicate(function () {
         $volume = self::$volume_api->findById(self::$testDatacenter->getId(), self::$testVolume->getId());
         if ($volume->getMetadata()->getState() == 'AVAILABLE') {
             return $volume;
         }
     });
     self::assertDatacenterAvailable(self::$testDatacenter->getId());
     $updatedVolume = self::$volume_api->findById(self::$testDatacenter->getId(), self::$testVolume->getId());
     $this->assertEquals($updatedVolume->getProperties()->getName(), "new-name");
 }