public function testEnvironment() { if (!$this->getUser()->isAccountOwner()) { $this->markTestSkipped('Specified user cannot create new environments.'); } $createdEnvId = 0; // remove previous test envs $env = new \Scalr_Environment(); $result = $env->loadByFilter(array('clientId' => $this->getEnvironment()->clientId, 'name' => self::getTestName(self::ENV_NAME))); if (count($result)) { foreach ($result as $e) { $obj = new \Scalr_Environment(); $obj->loadById($e['id']); $obj->delete(); } } // create new $content = $this->request('/environments/xCreate', array('name' => self::getTestName(self::ENV_NAME))); $this->assertTrue($content['success']); if ($content['env']) { $createdEnvId = $content['env']['id']; } // create failure $content = $this->request('/environments/xCreate', array('name' => '')); $this->assertFalse($content['success']); // get info about test env $content = $this->request('/environments/' . $createdEnvId . '/xGetInfo'); $this->assertTrue($content['success']); $this->assertArrayHasKey('environment', $content); $this->assertArrayHasKey('id', $content['environment']); $this->assertArrayHasKey('name', $content['environment']); $this->assertArrayHasKey('params', $content['environment']); $this->assertArrayHasKey('enabledPlatforms', $content['environment']); // get info about env failure $content = $this->request('/environments/' . '-3' . '/xGetInfo'); $this->assertFalse($content['success']); // check new env in list $content = $this->request('/environments/xListEnvironments'); $this->assertTrue($content['success']); $this->assertArrayHasKey('data', $content); $flag = false; foreach ($content['data'] as $value) { if ($value['name'] == self::getTestName(self::ENV_NAME)) { $flag = true; } } $this->assertTrue($flag, 'Created environment not found in list'); // test platforms save $this->envTestEc2($createdEnvId); $content = $this->request('/environments/xRemove', array('envId' => $createdEnvId)); $this->assertTrue($content['success']); }