Scalr\Tests\Functional\Api\V2\ApiTest::setUpBeforeClass PHP Method

setUpBeforeClass() public static method

Add test environment, test Acl, setups test user, environment and API key
public static setUpBeforeClass ( )
    public static function setUpBeforeClass()
    {
        if (!Scalr::getContainer()->config->defined('scalr.phpunit.apiv2')) {
            static::markTestIncomplete('phpunit apiv2 configurations is invalid');
        }
        if (Scalr::getContainer()->config->defined('scalr.phpunit.apiv2.params.max_results')) {
            static::$maxResults = Scalr::config('scalr.phpunit.apiv2.params.max_results');
        }
        static::$testUserId = Scalr::config('scalr.phpunit.apiv2.userid');
        static::$user = User::findPk(static::$testUserId);
        static::$testUserType = static::$user->type;
        static::$testEnvId = Scalr::config('scalr.phpunit.apiv2.envid');
        static::$env = Environment::findPk(static::$testEnvId);
        if (empty(static::$user) || empty(static::$env)) {
            static::markTestIncomplete('Either test environment or user is invalid.');
        }
        $apiKeyName = static::getTestName();
        $apiKeyEntity = ApiKeyEntity::findOne([['name' => $apiKeyName], ['userId' => static::$testUserId]]);
        if (empty($apiKeyEntity)) {
            $apiKeyEntity = new ApiKeyEntity(static::$testUserId);
            $apiKeyEntity->name = $apiKeyName;
            $apiKeyEntity->save();
        }
        static::$apiKeyEntity = $apiKeyEntity;
        static::$defaultAcl = Scalr::getContainer()->acl;
        static::$data = [static::$testEnvId => []];
        if (empty(static::$fullAccessAcl)) {
            static::$fullAccessAcl = new ApiTestAcl();
            static::$fullAccessAcl->setDb(Scalr::getContainer()->adodb);
            static::$fullAccessAcl->createTestAccountRole(static::$user->getAccountId(), static::getTestName(ApiFixture::ACL_FULL_ACCESS), ApiTestAcl::ROLE_ID_FULL_ACCESS);
            static::$fullAccessAcl->aclType = ApiFixture::ACL_FULL_ACCESS;
        }
        if (empty(static::$readOnlyAccessAcl)) {
            static::$readOnlyAccessAcl = new ApiTestAcl();
            static::$readOnlyAccessAcl->setDb(Scalr::getContainer()->adodb);
            static::$readOnlyAccessAcl->createTestAccountRole(static::$user->getAccountId(), static::getTestName(ApiFixture::ACL_READ_ONLY_ACCESS), ApiTestAcl::ROLE_ID_READ_ONLY_ACCESS);
            static::$readOnlyAccessAcl->aclType = ApiFixture::ACL_READ_ONLY_ACCESS;
        }
    }