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;
}