Exemple #1
0
 /**
  * Creates new farm for testing purposes
  *
  * @param   string      $name       Farm name
  * @param   string[]    $rolesNames Roles names
  *
  * @return Farm
  */
 public function createTestFarm($name, array $rolesNames)
 {
     $user = $this->getUser();
     /* @var $farm Farm */
     $farm = static::createEntity(new Farm(), ['changedById' => $user->getId(), 'name' => "{$this->uuid}-{$name}-farm", 'comments' => "{$this->uuid}-description", 'envId' => $this->getEnvironment()->id, 'accountId' => $user->getAccountId(), 'ownerId' => $user->getId()]);
     foreach ($rolesNames as $roleName) {
         /* @var $role Role */
         $role = Role::findOneByName($roleName);
         if (empty($role)) {
             $this->markTestSkipped("Not found suitable role, required role - 'base-ubuntu1404'");
         }
         /* @var $farmRole FarmRole */
         $farmRole = static::createEntity(new FarmRole(), ['farmId' => $farm->id, 'roleId' => $role->id, 'alias' => 'test-launch-farm-role', 'platform' => SERVER_PLATFORMS::EC2, 'cloudLocation' => static::TEST_REGION]);
         /* @var $settings SettingsCollection */
         $settings = $farmRole->settings;
         $settings->saveSettings([FarmRoleSetting::INSTANCE_TYPE => 't1.micro', FarmRoleSetting::AWS_AVAIL_ZONE => '', FarmRoleSetting::SCALING_ENABLED => true, FarmRoleSetting::SCALING_MIN_INSTANCES => 1, FarmRoleSetting::SCALING_MAX_INSTANCES => 2]);
     }
     return $farm;
 }