Documentation

api_v4_OAuthContactTokenTest extends TestCase
in package
implements HeadlessInterface, HookInterface, TransactionalInterface uses ContactTestTrait, Api3TestTrait

Create, read, and destroy contact-specific OAuth tokens

A logged in user who has permission to "manage my OAuth contact tokens" can create tokens associated with their own contact id, and can read/update/delete those tokens if they have at least view access to their own contact record.

A user who has permission to "manage all OAuth contact tokens" can create tokens associated with any contact, and can read/update/delete tokens associated with any contact for whom they have at least view access.

Users who have either of the "manage OAuth contact tokens" permissions can also get basic OAuthClient information, NOT including the client's secret.

Tags
group

headless

Table of Contents

Interfaces

HeadlessInterface
Interface HeadlessInterface
HookInterface
TransactionalInterface
Interface HeadlessInterface

Properties

$apiversion  : int
API version to use for any api calls.
$_apiversion  : int
Api version - easier to override than just a define
$ids  : mixed
$hookEvents  : mixed

Methods

assertAPIArrayComparison()  : mixed
Check that api returned 'is_error' => 1 else provide full message
assertAPIDeleted()  : mixed
Check that a deleted item has been deleted.
assertAPIFailure()  : void
Check that api returned 'is_error' => 1.
assertAPISuccess()  : mixed
Check that api returned 'is_error' => 0.
callAPIAndDocument()  : array<string|int, mixed>|int
callAPIFailure()  : array<string|int, mixed>|int
This function exists to wrap api functions.
callAPISuccess()  : array<string|int, mixed>|int
wrap api functions.
callAPISuccessGetCount()  : array<string|int, mixed>|int
This function exists to wrap api getValue function & check the result so we can ensure they succeed & throw exceptions without littering the test with checks There is a type check in this
callAPISuccessGetSingle()  : array<string|int, mixed>|int
This function exists to wrap api getsingle function & check the result so we can ensure they succeed & throw exceptions without litterering the test with checks
callAPISuccessGetValue()  : array<string|int, mixed>|int
This function wraps the getValue api and checks the result.
civicrm_api()  : array<string|int, mixed>|int
A stub for the API interface. This can be overriden by subclasses to change how the API is called.
contactDelete()  : void
Delete contact, ensuring it is not the domain contact
createLoggedInUser()  : int
Emulate a logged in user since certain functions use that.
groupContactCreate()  : int
Function to add a Group.
groupCreate()  : int
Add a Group.
groupDelete()  : mixed
Delete a Group.
hook_civicrm_post()  : mixed
householdCreate()  : int
Generic function to create Household, to be used in test cases
individualCreate()  : int
Generic function to create Individual, to be used in test cases
organizationCreate()  : int
Generic function to create Organisation, to be used in test cases
runApi4Legacy()  : array<string|int, mixed>|int
Emulate v3 syntax so we can run api3 tests on v4
sampleContact()  : array<string|int, mixed>
Helper function for getting sample contact properties.
setUp()  : void
setUpHeadless()  : CiviEnvBuilder
The setupHeadless function runs at the start of each test case, right before the headless environment reboots.
tearDown()  : void
testCreate()  : mixed
testDelete()  : mixed
testGetByScope()  : mixed
testGetClientDetails()  : mixed
testPostHook()  : mixed
testRead()  : mixed
testUpdate()  : mixed
versionThreeAndFour()  : array<string|int, mixed>
Get the api versions to test.
runApi4LegacyChain()  : array<string|int, mixed>
_contactCreate()  : int
Private helper function for calling civicrm_contact_add.
createClient()  : array<string|int, mixed>|null
createOwnAndStrangerTokens()  : array<string|int, mixed>
createTestContactIDs()  : array<string|int, mixed>
getTestTokenCreateValues()  : mixed
makeToken()  : array<string|int, mixed>|null
usePerms()  : mixed

Properties

$apiversion

API version to use for any api calls.

public int $apiversion = 4

$_apiversion

Api version - easier to override than just a define

protected int $_apiversion = 3

Methods

assertAPIArrayComparison()

Check that api returned 'is_error' => 1 else provide full message

public assertAPIArrayComparison(array<string|int, mixed> $result, mixed $expected[, array<string|int, mixed> $valuesToExclude = [] ][, string $prefix = '' ]) : mixed
Parameters
$result : array<string|int, mixed>
$expected : mixed
$valuesToExclude : array<string|int, mixed> = []
$prefix : string = ''

Extra test to add to message.

assertAPIDeleted()

Check that a deleted item has been deleted.

public assertAPIDeleted(mixed $entity, mixed $id) : mixed
Parameters
$entity : mixed
$id : mixed

assertAPIFailure()

Check that api returned 'is_error' => 1.

public assertAPIFailure(array<string|int, mixed> $apiResult[, string $prefix = '' ][, string|null $expectedError = NULL ]) : void
Parameters
$apiResult : array<string|int, mixed>

Api result.

$prefix : string = ''

Extra test to add to message.

$expectedError : string|null = NULL

assertAPISuccess()

Check that api returned 'is_error' => 0.

public assertAPISuccess(array<string|int, mixed> $apiResult[, string $prefix = '' ]) : mixed
Parameters
$apiResult : array<string|int, mixed>

Api result.

$prefix : string = ''

Extra test to add to message.

callAPIAndDocument()

public callAPIAndDocument(string $entity, string $action, array<string|int, mixed> $params) : array<string|int, mixed>|int
Parameters
$entity : string
$action : string
$params : array<string|int, mixed>
Return values
array<string|int, mixed>|int

callAPIFailure()

This function exists to wrap api functions.

public callAPIFailure(string $entity, string $action[, array<string|int, mixed> $params = [] ][, string $expectedErrorMessage = NULL ][, null $extraOutput = NULL ]) : array<string|int, mixed>|int

so we can ensure they fail where expected & throw exceptions without litterering the test with checks

Parameters
$entity : string
$action : string
$params : array<string|int, mixed> = []
$expectedErrorMessage : string = NULL

Error.

$extraOutput : null = NULL
Return values
array<string|int, mixed>|int

callAPISuccess()

wrap api functions.

public callAPISuccess(string $entity, string $action[, array<string|int, mixed> $params = [] ][, mixed $checkAgainst = NULL ]) : array<string|int, mixed>|int

so we can ensure they succeed & throw exceptions without litterering the test with checks

Parameters
$entity : string
$action : string
$params : array<string|int, mixed> = []
$checkAgainst : mixed = NULL

Optional value to check result against, implemented for getvalue,. getcount, getsingle. Note that for getvalue the type is checked rather than the value for getsingle the array is compared against an array passed in - the id is not compared (for better or worse )

Return values
array<string|int, mixed>|int

callAPISuccessGetCount()

This function exists to wrap api getValue function & check the result so we can ensure they succeed & throw exceptions without littering the test with checks There is a type check in this

public callAPISuccessGetCount(string $entity, array<string|int, mixed> $params[, int $count = NULL ]) : array<string|int, mixed>|int
Parameters
$entity : string
$params : array<string|int, mixed>
$count : int = NULL
Return values
array<string|int, mixed>|int

callAPISuccessGetSingle()

This function exists to wrap api getsingle function & check the result so we can ensure they succeed & throw exceptions without litterering the test with checks

public callAPISuccessGetSingle(string $entity, array<string|int, mixed> $params[, array<string|int, mixed> $checkAgainst = NULL ]) : array<string|int, mixed>|int
Parameters
$entity : string
$params : array<string|int, mixed>
$checkAgainst : array<string|int, mixed> = NULL

Array to compare result against.

  • boolean
  • integer
  • double
  • string
  • array
  • object
Return values
array<string|int, mixed>|int

callAPISuccessGetValue()

This function wraps the getValue api and checks the result.

public callAPISuccessGetValue(string $entity, array<string|int, mixed> $params[, string $type = NULL ]) : array<string|int, mixed>|int
Parameters
$entity : string
$params : array<string|int, mixed>
$type : string = NULL

Per http://php.net/manual/en/function.gettype.php possible types.

  • boolean
  • integer
  • double
  • string
  • array
  • object
Return values
array<string|int, mixed>|int

civicrm_api()

A stub for the API interface. This can be overriden by subclasses to change how the API is called.

public civicrm_api(mixed $entity, mixed $action[, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>|int
Parameters
$entity : mixed
$action : mixed
$params : array<string|int, mixed> = []
Return values
array<string|int, mixed>|int

contactDelete()

Delete contact, ensuring it is not the domain contact

public contactDelete(int $contactID) : void
Parameters
$contactID : int

Contact ID to delete

groupContactCreate()

Function to add a Group.

public groupContactCreate(int $groupID[, int $totalCount = 10 ][, bool $random = FALSE ]) : int
Parameters
$groupID : int
$totalCount : int = 10
$random : bool = FALSE
Tags
params

array to add group

Return values
int

groupId of created group

groupCreate()

Add a Group.

public groupCreate([array<string|int, mixed> $params = [] ][, string $identifier = 'group' ]) : int
Parameters
$params : array<string|int, mixed> = []
$identifier : string = 'group'
Return values
int

groupId of created group

groupDelete()

Delete a Group.

public groupDelete(int $gid) : mixed
Parameters
$gid : int

hook_civicrm_post()

public hook_civicrm_post(mixed $op, mixed $objectName, mixed $objectId, mixed &$objectRef) : mixed
Parameters
$op : mixed
$objectName : mixed
$objectId : mixed
$objectRef : mixed

householdCreate()

Generic function to create Household, to be used in test cases

public householdCreate([array<string|int, mixed> $params = [] ][, int|string $identifier = 'household_0' ]) : int
Parameters
$params : array<string|int, mixed> = []

parameters for civicrm_contact_add api function call

$identifier : int|string = 'household_0'

If the identifier is numeric (discouraged) it will affect which contact is loaded. Numeric identifiers and values for random other than FALSE are generally discouraged in favour if specifying data in params where variety is needed.

Return values
int

id of Household created

individualCreate()

Generic function to create Individual, to be used in test cases

public individualCreate([array<string|int, mixed> $params = [] ][, int|string $identifier = 'individual_0' ][, bool $random = FALSE ]) : int
Parameters
$params : array<string|int, mixed> = []

parameters for civicrm_contact_add api function call

$identifier : int|string = 'individual_0'

If the identifier is numeric (discouraged) it will affect which contact is loaded. Numeric identifiers and values for random other than FALSE are generally discouraged in favour if specifying data in params where variety is needed.

$random : bool = FALSE

Random is deprecated.

Return values
int

id of Individual created

organizationCreate()

Generic function to create Organisation, to be used in test cases

public organizationCreate([array<string|int, mixed> $params = [] ][, int|string $identifier = 'organization_0' ]) : int
Parameters
$params : array<string|int, mixed> = []

parameters for civicrm_contact_add api function call

$identifier : int|string = 'organization_0'

If the identifier is numeric (discouraged) it will affect which contact is loaded. Numeric identifiers and values for random other than FALSE are generally discouraged in favour if specifying data in params where variety is needed.

Return values
int

id of Organisation created

runApi4Legacy()

Emulate v3 syntax so we can run api3 tests on v4

public runApi4Legacy(mixed $v3Entity, mixed $v3Action[, array<string|int, mixed> $v3Params = [] ]) : array<string|int, mixed>|int
Parameters
$v3Entity : mixed
$v3Action : mixed
$v3Params : array<string|int, mixed> = []
Tags
throws
CRM_Core_Exception
throws
Exception
Return values
array<string|int, mixed>|int

sampleContact()

Helper function for getting sample contact properties.

public sampleContact(string $contact_type[, int $seq = 0 ][, bool $random = FALSE ]) : array<string|int, mixed>
Parameters
$contact_type : string

enum contact type: Individual, Organization

$seq : int = 0

sequence number for the values of this type

$random : bool = FALSE
Return values
array<string|int, mixed>

properties of sample contact (ie. $params for API call)

setUpHeadless()

The setupHeadless function runs at the start of each test case, right before the headless environment reboots.

public setUpHeadless() : CiviEnvBuilder

It should perform any necessary steps required for putting the database in a consistent baseline -- such as loading schema and extensions.

The utility \Civi\Test::headless() provides a number of helper functions for managing this setup, and it includes optimizations to avoid redundant setup work.

Return values
CiviEnvBuilder

versionThreeAndFour()

Get the api versions to test.

public versionThreeAndFour() : array<string|int, mixed>
Return values
array<string|int, mixed>

runApi4LegacyChain()

protected runApi4LegacyChain(string $key, mixed $params, string $mainEntity, array<string|int, mixed> $result, bool $sequential) : array<string|int, mixed>
Parameters
$key : string
$params : mixed
$mainEntity : string
$result : array<string|int, mixed>
$sequential : bool
Tags
throws
CRM_Core_Exception
Return values
array<string|int, mixed>

_contactCreate()

Private helper function for calling civicrm_contact_add.

private _contactCreate(array<string|int, mixed> $params[, string $identifier = 'Contact' ]) : int
Parameters
$params : array<string|int, mixed>

For civicrm_contact_add api function call.

$identifier : string = 'Contact'
Return values
int

id of contact created

createClient()

private createClient() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null

createOwnAndStrangerTokens()

private createOwnAndStrangerTokens(mixed $client, mixed $loggedInContactID, mixed $notLoggedInContactID) : array<string|int, mixed>
Parameters
$client : mixed
$loggedInContactID : mixed
$notLoggedInContactID : mixed
Return values
array<string|int, mixed>

createTestContactIDs()

private createTestContactIDs() : array<string|int, mixed>
Return values
array<string|int, mixed>

getTestTokenCreateValues()

private getTestTokenCreateValues(mixed $client, mixed $contactId, mixed $prefix) : mixed
Parameters
$client : mixed
$contactId : mixed
$prefix : mixed

makeToken()

private makeToken(array<string|int, mixed> $values) : array<string|int, mixed>|null
Parameters
$values : array<string|int, mixed>
Return values
array<string|int, mixed>|null

usePerms()

private usePerms(array<string|int, mixed> $permissions) : mixed
Parameters
$permissions : array<string|int, mixed>

        
On this page

Search results