Scalr\Tests\Functional\Api\Service\User\V1beta0\Controller\ServersTest::createTestFarm PHP Метод

createTestFarm() публичный Метод

Creates new farm for testing purposes
public createTestFarm ( string $name, array $rolesNames ) : Farm
$name string Farm name
$rolesNames array Roles names
Результат Scalr\Model\Entity\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;
    }