/** * {@inheritdoc} * @see ApiFixture::prepareTestData() */ public function prepareTestData() { if (!empty($this->sets[static::TEST_DATA_ROLE])) { $this->prepareData(static::TEST_DATA_ROLE); $this->prepareRole(static::TEST_DATA_ROLE); } if (!empty($this->sets[static::TEST_DATA_ROLE_IMAGE])) { $this->prepareData(static::TEST_DATA_ROLE_IMAGE); $this->prepareRoleImage(static::TEST_DATA_ROLE_IMAGE); } if (!empty($this->sets[static::TEST_DATA_FARM])) { $this->prepareFarm(static::TEST_DATA_FARM); } if (!empty($this->sets[static::TEST_DATA_FARM_ROLE])) { $this->prepareData(static::TEST_DATA_FARM_ROLE); $this->prepareFarmRole(static::TEST_DATA_FARM_ROLE); } if (!empty(static::TEST_DATA_SERVERS)) { $this->prepareData(static::TEST_DATA_SERVERS); foreach ($this->sets[static::TEST_DATA_SERVERS] as &$serverData) { $serverData['envId'] = static::$testEnvId; $serverData['accountId'] = static::$user->getAccountId(); $serverData['added'] = new DateTime('now'); /* @var $server Entity\Server() */ $server = new Entity\Server(); $serverData['properties'][Entity\Server::LAUNCHED_BY_EMAIL] = static::$user->getEmail(); foreach ($serverData['properties'] as $name => $value) { $server->properties[$name] = $value; //to delete server properties ApiTest::toDelete(Entity\ServerProperty::class, [$serverData['serverId'], $name]); } unset($serverData['properties']); $server = ApiTest::createEntity($server, $serverData); $serverData['id'] = $server->id; } } $this->prepareData(static::TEST_DATA); }
/** * Add Project entities for test * * @param string $name Project data name */ protected function prepareProjects($name) { $ccId = Environment::findPk(static::$env->id)->getProperty(Account\EnvironmentProperty::SETTING_CC_ID); $this->prepareData($name); foreach ($this->sets[$name] as &$projectData) { $projectData['envId'] = self::$env->id; $projectData['accountId'] = self::$user->getAccountId(); $projectData['createdById'] = self::$user->id; $projectData['createdByEmail'] = self::$user->email; $projectData['ccId'] = $ccId; $properties = []; if (isset($projectData['properties'])) { $properties = $projectData['properties']; unset($projectData['properties']); } /* @var $project ProjectEntity */ $project = ApiTest::createEntity(new ProjectEntity(), $projectData); $projectData['id'] = $project->projectId; $project->setCostCenter(Scalr::getContainer()->analytics->ccs->get($projectData['ccId'])); if (!empty($properties)) { if (isset($projectData['billingCode'])) { $project->saveProperty(ProjectPropertyEntity::NAME_BILLING_CODE, $projectData['billingCode']); ApiTest::toDelete(ProjectPropertyEntity::class, [$project->projectId, $project->getProperty(ProjectPropertyEntity::NAME_BILLING_CODE)]); } if (isset($projectData['leadEmail'])) { $project->saveProperty(ProjectPropertyEntity::NAME_LEAD_EMAIL, $projectData['leadEmail']); ApiTest::toDelete(ProjectPropertyEntity::class, [$project->projectId, $project->getProperty(ProjectPropertyEntity::NAME_LEAD_EMAIL)]); } if (isset($projectData['description'])) { $project->saveProperty(ProjectPropertyEntity::NAME_DESCRIPTION, $projectData['description']); ApiTest::toDelete(ProjectPropertyEntity::class, [$project->projectId, $project->getProperty(ProjectPropertyEntity::NAME_DESCRIPTION)]); } } $project->save(); } }