Example #1
0
 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']);
 }