PHP Class Scalr\Tests\Functional\Api\V2\ApiTest

Since: 5.11 (03.12.2015)
Author: Andrii Penchuk ([email protected])
Afficher le fichier Open project: scalr/scalr Class Usage Examples

Protected Properties

Свойство Type Description
$accountSpec Scalr\Tests\Functional\Api\V2\SpecSchema\SpecManager Object generated of Account Api specifications
$adapters Scalr\Api\DataType\ApiEntityAdapter[] List of adapters using in test
$checkScope array Object where should check scope
$data array Test data container for testGetEndpoint()
$dbObjectMapping array Mapping api object name and specific which gives an entity this object Key is object name Value is functions name
$defaultAcl Scalr\Acl\Acl Default test Acl
$filterPropertyMap array Map filterable properties key based on object name in Api definitions
$fullAccessAcl Scalr\Tests\Fixtures\Api\V2\Acl\ApiTestAcl
$ignoreCheckRules array List of objects where should ignore check filterable properties
$maxResults false | integer Max response results
$noAccessAcl PHPUnit_Framework_MockObject_MockObject
$paramMap array Mapping params in path definitions and response objects
$pathMap array Map save structure if object need other data structure key based on object name in Api definitions
$propertyAssertMap array Mapping specifics assert for properties Key is property name Value is functions name
$readOnlyAccessAcl Scalr\Tests\Fixtures\Api\V2\Acl\ApiTestAcl
$simpleFilterRules
$testData array Ids of data generated during the test Destructor clean up data by these ids
$testUserType string Default user type
$userSpec Scalr\Tests\Functional\Api\V2\SpecSchema\SpecManager Object generated of User Api specifications

Méthodes publiques

Méthode Description
__construct ( $name = null, $data = [], $dataName = null )
assertBuiltinAutomation ( array $filterValue, array $property, string $message ) Custom assert BuiltinAutomation property
assertFilterableProperties ( string $url, ListResponse $apiResp, string $saveDataPath = null ) Assert and check unique filterable properties from requested url
assertGetEndpoint ( string $uri, ListResponse $apiResp, array $filters = [], boolean $collect = true, null | integer $maxResults = null ) : array Return list of Objects available in this account or environment
assertTeams ( object $team, object[] $teams, string $message ) Reports an error if specified team is not present in the list of teams of the Farm obtained by filtration
checkAdapterRules ( ObjectEntity $objectEntity, array $rules ) Check adapter rules
dataApiProvider ( ) : array Data provider for testApi()
dataGetEndpointProvider ( ) : array[] Data provider for testGetEndpoint()
getAdapter ( string $class, ApiController $controller = null ) : ApiEntityAdapter Gets API entity adapter
getEnvironmentEntity ( integer $envId ) : Environment Gets Environment entity
getFilter ( string $class = null, string $property = null, array $values = [] ) : FilterRule Makes the filtering rule for the specified properties of an object
getFixturesDirectory ( )
getGlobalVariable ( string $criteria, array $params ) : array Get GV
setUpBeforeClass ( ) Add test environment, test Acl, setups test user, environment and API key
tearDownAfterClass ( ) Removes API key generated for test
testApi ( string $path, string | Exceptio\Exception $type, string $adapter, string $aclType, string $userType, string $method, integer $responseCode, array $params, array $filterable, array $body ) Test for Api endpoints Data provider prepares data for Api request SpecFile get responses definition from api specifications for each endpoint ResponseBodyConstraint compares Api definition with request
testGetEndpoint ( string $path, string $type ) Test for base user and account Api GET endpoints

Méthodes protégées

Méthode Description
getDbObject ( string $objectName, string $criteria, string $entityClass, array $params ) : mixed Get db object
getEnvironmentTeam ( string $criteria, array $params ) : TeamEnvs Gets TeamEnvs entity
getFarmRoleScalingMetrics ( string $criteria, array $params = [] ) : FarmRoleScalingMetric Get FarmRoleScalingMetric entity
getScalingMetric ( string $criteria ) : ScalingMetric Get ScalingMetric entity
getScriptVersion ( string $criteria, array $params ) : Scalr\Model\Entity\ScriptVersion Gets ScriptVersion entity
mapApiResponsePk ( string $path, string $objectName ) : string On the based api endpoint and name api object return primary key If pk don't exist in paramMath throw fail
mapPath ( string $path, string $type ) : Generator Generate url with api endpoint and saved data
matchApiUrl ( string $path, array $params = [] ) : string Match API url params
saveUrlData ( string $url, stdClass $object, string $nameEntity ) Save data for x-usedIn endpoints
setTestAcl ( string $acl ) Set mock acl for test
setUp ( )
setUserType ( string $type ) Set user types for test Some endpoints need extra credentials
tearDown ( )

Method Details

__construct() public méthode

See also: ApiTestCase::setUpBeforeClass()
public __construct ( $name = null, $data = [], $dataName = null )

assertBuiltinAutomation() public méthode

Custom assert BuiltinAutomation property
public assertBuiltinAutomation ( array $filterValue, array $property, string $message )
$filterValue array Filter value property
$property array Object property
$message string Assert message

assertFilterableProperties() public méthode

Assert and check unique filterable properties from requested url
public assertFilterableProperties ( string $url, ListResponse $apiResp, string $saveDataPath = null )
$url string Request uri
$apiResp Scalr\Tests\Functional\Api\V2\SpecSchema\DataTypes\ListResponse Schema current object generated of api specification
$saveDataPath string Save url for child endpoints

assertGetEndpoint() public méthode

Return list of Objects available in this account or environment
public assertGetEndpoint ( string $uri, ListResponse $apiResp, array $filters = [], boolean $collect = true, null | integer $maxResults = null ) : array
$uri string Request uri
$apiResp Scalr\Tests\Functional\Api\V2\SpecSchema\DataTypes\ListResponse schema current object generated of api specification
$filters array optional Filterable properties
$collect boolean optional Collect response data
$maxResults null | integer optional max list results
Résultat array

assertTeams() public méthode

Reports an error if specified team is not present in the list of teams of the Farm obtained by filtration
public assertTeams ( object $team, object[] $teams, string $message )
$team object Filter value
$teams object[] Filtering property of the object obtained by filtration
$message string optional Message in case of error

checkAdapterRules() public méthode

Check adapter rules
public checkAdapterRules ( ObjectEntity $objectEntity, array $rules )
$objectEntity Scalr\Tests\Functional\Api\V2\SpecSchema\DataTypes\ObjectEntity api object entity generated form specs
$rules array list of rules

dataApiProvider() public méthode

Data provider for testApi()
public dataApiProvider ( ) : array
Résultat array

dataGetEndpointProvider() public méthode

Data provider for testGetEndpoint()
public dataGetEndpointProvider ( ) : array[]
Résultat array[]

getAdapter() public méthode

Gets API entity adapter
public getAdapter ( string $class, ApiController $controller = null ) : ApiEntityAdapter
$class string Adapter class
$controller Scalr\Api\Rest\Controller\ApiController optional API Controller
Résultat Scalr\Api\DataType\ApiEntityAdapter

getDbObject() protected méthode

Get db object
protected getDbObject ( string $objectName, string $criteria, string $entityClass, array $params ) : mixed
$objectName string api object name
$criteria string search criteria
$entityClass string
$params array array params
Résultat mixed

getEnvironmentEntity() public méthode

Gets Environment entity
public getEnvironmentEntity ( integer $envId ) : Environment
$envId integer environment identifier
Résultat Scalr\Model\Entity\Account\Environment

getEnvironmentTeam() protected méthode

Gets TeamEnvs entity
protected getEnvironmentTeam ( string $criteria, array $params ) : TeamEnvs
$criteria string search criteria
$params array query params
Résultat Scalr\Model\Entity\Account\TeamEnvs

getFarmRoleScalingMetrics() protected méthode

Get FarmRoleScalingMetric entity
protected getFarmRoleScalingMetrics ( string $criteria, array $params = [] ) : FarmRoleScalingMetric
$criteria string search criteria
$params array optional query params
Résultat Scalr\Model\Entity\FarmRoleScalingMetric

getFilter() public méthode

Makes the filtering rule for the specified properties of an object
public getFilter ( string $class = null, string $property = null, array $values = [] ) : FilterRule
$class string optional The object name
$property string optional The property name
$values array optional The array of filter values
Résultat Scalr\Tests\Functional\Api\V2\Iterator\FilterRule

getFixturesDirectory() public méthode

See also: TestCase::getFixturesDirectory()

getGlobalVariable() public méthode

Get GV
public getGlobalVariable ( string $criteria, array $params ) : array
$criteria string search criteria
$params array query params
Résultat array

getScalingMetric() protected méthode

Get ScalingMetric entity
protected getScalingMetric ( string $criteria ) : ScalingMetric
$criteria string search criteria
Résultat Scalr\Model\Entity\ScalingMetric

getScriptVersion() protected méthode

Gets ScriptVersion entity
protected getScriptVersion ( string $criteria, array $params ) : Scalr\Model\Entity\ScriptVersion
$criteria string search criteria
$params array query params
Résultat Scalr\Model\Entity\ScriptVersion

mapApiResponsePk() protected méthode

On the based api endpoint and name api object return primary key If pk don't exist in paramMath throw fail
protected mapApiResponsePk ( string $path, string $objectName ) : string
$path string Api endpoint
$objectName string Name object entity from specification
Résultat string

mapPath() protected méthode

Generate url with api endpoint and saved data
protected mapPath ( string $path, string $type ) : Generator
$path string api endpoint
$type string api specifications type
Résultat Generator

matchApiUrl() protected méthode

Match API url params
protected matchApiUrl ( string $path, array $params = [] ) : string
$path string Api endpoint
$params array path parameters
Résultat string

saveUrlData() protected méthode

Save data for x-usedIn endpoints
protected saveUrlData ( string $url, stdClass $object, string $nameEntity )
$url string api url
$object stdClass api object
$nameEntity string name api entity

setTestAcl() protected méthode

Set mock acl for test
protected setTestAcl ( string $acl )
$acl string Acl type for tests

setUp() protected méthode

See also: ApiTestCase::setUp()
protected setUp ( )

setUpBeforeClass() public static méthode

Add test environment, test Acl, setups test user, environment and API key
public static setUpBeforeClass ( )

setUserType() protected méthode

Set user types for test Some endpoints need extra credentials
protected setUserType ( string $type )
$type string User type

tearDown() protected méthode

See also: ApiTestCase::tearDown()
protected tearDown ( )

tearDownAfterClass() public static méthode

Removes API key generated for test
public static tearDownAfterClass ( )

testApi() public méthode

Test for Api endpoints Data provider prepares data for Api request SpecFile get responses definition from api specifications for each endpoint ResponseBodyConstraint compares Api definition with request
public testApi ( string $path, string | Exceptio\Exception $type, string $adapter, string $aclType, string $userType, string $method, integer $responseCode, array $params, array $filterable, array $body )
$path string Api endpoint
$type string | Exceptio\Exception Api specifications type
$adapter string Adapter name
$aclType string Acl type for test
$userType string UserType for test
$method string HTTP method
$responseCode integer HTTP code
$params array Array of path parameters
$filterable array Array of GET parameters
$body array Array of POST parameters

testGetEndpoint() public méthode

Test for base user and account Api GET endpoints
public testGetEndpoint ( string $path, string $type )
$path string path from api specifications
$type string api specifications type

Property Details

$accountSpec protected_oe static_oe property

Object generated of Account Api specifications
protected static SpecManager,Scalr\Tests\Functional\Api\V2\SpecSchema $accountSpec
Résultat Scalr\Tests\Functional\Api\V2\SpecSchema\SpecManager

$adapters protected_oe static_oe property

List of adapters using in test
protected static ApiEntityAdapter[],Scalr\Api\DataType $adapters
Résultat Scalr\Api\DataType\ApiEntityAdapter[]

$checkScope protected_oe property

Object where should check scope
protected array $checkScope
Résultat array

$data protected_oe static_oe property

Test data container for testGetEndpoint()
protected static array $data
Résultat array

$dbObjectMapping protected_oe property

Mapping api object name and specific which gives an entity this object Key is object name Value is functions name
protected array $dbObjectMapping
Résultat array

$defaultAcl protected_oe static_oe property

Default test Acl
protected static Acl,Scalr\Acl $defaultAcl
Résultat Scalr\Acl\Acl

$filterPropertyMap protected_oe property

Map filterable properties key based on object name in Api definitions
protected array $filterPropertyMap
Résultat array

$fullAccessAcl protected_oe static_oe property

protected static ApiTestAcl,Scalr\Tests\Fixtures\Api\V2\Acl $fullAccessAcl
Résultat Scalr\Tests\Fixtures\Api\V2\Acl\ApiTestAcl

$ignoreCheckRules protected_oe property

List of objects where should ignore check filterable properties
protected array $ignoreCheckRules
Résultat array

$maxResults protected_oe static_oe property

Max response results
protected static false|int $maxResults
Résultat false | integer

$noAccessAcl protected_oe static_oe property

protected static PHPUnit_Framework_MockObject_MockObject $noAccessAcl
Résultat PHPUnit_Framework_MockObject_MockObject

$paramMap protected_oe property

Mapping params in path definitions and response objects
protected array $paramMap
Résultat array

$pathMap protected_oe property

Map save structure if object need other data structure key based on object name in Api definitions
protected array $pathMap
Résultat array

$propertyAssertMap protected_oe property

Mapping specifics assert for properties Key is property name Value is functions name
protected array $propertyAssertMap
Résultat array

$readOnlyAccessAcl protected_oe static_oe property

protected static ApiTestAcl,Scalr\Tests\Fixtures\Api\V2\Acl $readOnlyAccessAcl
Résultat Scalr\Tests\Fixtures\Api\V2\Acl\ApiTestAcl

$simpleFilterRules protected_oe property

protected $simpleFilterRules

$testData protected_oe static_oe property

Ids of data generated during the test Destructor clean up data by these ids
protected static array $testData
Résultat array

$testUserType protected_oe static_oe property

Default user type
protected static string $testUserType
Résultat string

$userSpec protected_oe static_oe property

Object generated of User Api specifications
protected static SpecManager,Scalr\Tests\Functional\Api\V2\SpecSchema $userSpec
Résultat Scalr\Tests\Functional\Api\V2\SpecSchema\SpecManager