From ff3833b084c7a72ffe65725756090b03281cb0a4 Mon Sep 17 00:00:00 2001 From: eileen Date: Mon, 18 Mar 2019 13:03:42 +1300 Subject: [PATCH] [NFC] Code reformatting IDE reformat to fix array() vs [] --- tests/phpunit/api/v3/ACLPermissionTest.php | 479 ++++++++++++++------- 1 file changed, 319 insertions(+), 160 deletions(-) diff --git a/tests/phpunit/api/v3/ACLPermissionTest.php b/tests/phpunit/api/v3/ACLPermissionTest.php index 689c0cf6c7..4d37a88d9c 100644 --- a/tests/phpunit/api/v3/ACLPermissionTest.php +++ b/tests/phpunit/api/v3/ACLPermissionTest.php @@ -43,8 +43,8 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { public function setUp() { parent::setUp(); $baoObj = new CRM_Core_DAO(); - $baoObj->createTestObject('CRM_Pledge_BAO_Pledge', array(), 1, 0); - $baoObj->createTestObject('CRM_Core_BAO_Phone', array(), 1, 0); + $baoObj->createTestObject('CRM_Pledge_BAO_Pledge', [], 1, 0); + $baoObj->createTestObject('CRM_Core_BAO_Phone', [], 1, 0); $this->prepareForACLs(); } @@ -54,7 +54,7 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function tearDown() { $this->cleanUpAfterACLs(); - $tablesToTruncate = array( + $tablesToTruncate = [ 'civicrm_contact', 'civicrm_group_contact', 'civicrm_group', @@ -70,7 +70,7 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { 'civicrm_note', 'civicrm_entity_tag', 'civicrm_tag', - ); + ]; $this->quickCleanup($tablesToTruncate); } @@ -78,11 +78,14 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Function tests that an empty where hook returns no results. */ public function testContactGetNoResultsHook() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookNoResults')); - $result = $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookNoResults', + ]); + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => 'display_name', - )); + ]); $this->assertEquals(0, $result['count']); } @@ -93,12 +96,18 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testContactGetOneResultHookWithViewMyContact() { $this->createLoggedInUser(); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookNoResults')); - CRM_Core_Config::singleton()->userPermissionClass->permissions = array('access CiviCRM', 'view my contact'); - $result = $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookNoResults', + ]); + CRM_Core_Config::singleton()->userPermissionClass->permissions = [ + 'access CiviCRM', + 'view my contact', + ]; + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => 'display_name', - )); + ]); $this->assertEquals(1, $result['count']); } @@ -107,12 +116,18 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testContactEditHookWithEditMyContact() { $cid = $this->createLoggedInUser(); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookNoResults')); - CRM_Core_Config::singleton()->userPermissionClass->permissions = array('access CiviCRM', 'edit my contact'); - $this->callAPISuccess('contact', 'create', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookNoResults', + ]); + CRM_Core_Config::singleton()->userPermissionClass->permissions = [ + 'access CiviCRM', + 'edit my contact', + ]; + $this->callAPISuccess('contact', 'create', [ 'check_permissions' => 1, 'id' => $cid, - )); + ]); } /** @@ -120,16 +135,30 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testAddressWithoutContactIDAccess() { $ownID = $this->createLoggedInUser(); - CRM_Core_Config::singleton()->userPermissionClass->permissions = array('access CiviCRM', 'view all contacts'); - $this->callAPISuccess('Address', 'create', array( + CRM_Core_Config::singleton()->userPermissionClass->permissions = [ + 'access CiviCRM', + 'view all contacts', + ]; + $this->callAPISuccess('Address', 'create', [ 'city' => 'Mouseville', 'location_type_id' => 'Main', 'api.LocBlock.create' => 1, 'contact_id' => $ownID, - )); - $this->callAPISuccessGetSingle('Address', array('city' => 'Mouseville', 'check_permissions' => 1)); - CRM_Core_DAO::executeQuery('UPDATE civicrm_address SET contact_id = NULL WHERE contact_id = %1', array(1 => array($ownID, 'Integer'))); - $this->callAPISuccessGetSingle('Address', array('city' => 'Mouseville', 'check_permissions' => 1)); + ]); + $this->callAPISuccessGetSingle('Address', [ + 'city' => 'Mouseville', + 'check_permissions' => 1, + ]); + CRM_Core_DAO::executeQuery('UPDATE civicrm_address SET contact_id = NULL WHERE contact_id = %1', [ + 1 => [ + $ownID, + 'Integer', + ], + ]); + $this->callAPISuccessGetSingle('Address', [ + 'city' => 'Mouseville', + 'check_permissions' => 1, + ]); } /** @@ -137,57 +166,77 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testRelatedEntityPermissions() { $this->createLoggedInUser(); - $disallowedContact = $this->individualCreate(array(), 0); - $this->allowedContactId = $this->individualCreate(array(), 1); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereOnlyOne')); - CRM_Core_Config::singleton()->userPermissionClass->permissions = array('access CiviCRM'); - $testEntities = array( - 'Email' => array('email' => 'null@nothing', 'location_type_id' => 1), - 'Phone' => array('phone' => '123456', 'location_type_id' => 1), - 'IM' => array('name' => 'hello', 'location_type_id' => 1), - 'Website' => array('url' => 'http://test'), - 'Address' => array('street_address' => '123 Sesame St.', 'location_type_id' => 1), - ); + $disallowedContact = $this->individualCreate([], 0); + $this->allowedContactId = $this->individualCreate([], 1); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereOnlyOne', + ]); + CRM_Core_Config::singleton()->userPermissionClass->permissions = ['access CiviCRM']; + $testEntities = [ + 'Email' => ['email' => 'null@nothing', 'location_type_id' => 1], + 'Phone' => ['phone' => '123456', 'location_type_id' => 1], + 'IM' => ['name' => 'hello', 'location_type_id' => 1], + 'Website' => ['url' => 'http://test'], + 'Address' => [ + 'street_address' => '123 Sesame St.', + 'location_type_id' => 1, + ], + ]; foreach ($testEntities as $entity => $params) { - $params += array( + $params += [ 'contact_id' => $disallowedContact, 'check_permissions' => 1, - ); + ]; // We should be prevented from getting or creating entities for a contact we don't have permission for $this->callAPIFailure($entity, 'create', $params); - $this->callAPISuccess($entity, 'create', array('check_permissions' => 0) + $params); - $results = $this->callAPISuccess($entity, 'get', array('contact_id' => $disallowedContact, 'check_permissions' => 1)); + $this->callAPISuccess($entity, 'create', ['check_permissions' => 0] + $params); + $results = $this->callAPISuccess($entity, 'get', [ + 'contact_id' => $disallowedContact, + 'check_permissions' => 1, + ]); $this->assertEquals(0, $results['count']); // We should be allowed to create and get for contacts we do have permission on $params['contact_id'] = $this->allowedContactId; $this->callAPISuccess($entity, 'create', $params); - $results = $this->callAPISuccess($entity, 'get', array('contact_id' => $this->allowedContactId, 'check_permissions' => 1)); + $results = $this->callAPISuccess($entity, 'get', [ + 'contact_id' => $this->allowedContactId, + 'check_permissions' => 1, + ]); $this->assertGreaterThan(0, $results['count']); } - $newTag = civicrm_api3('Tag', 'create', array( + $newTag = civicrm_api3('Tag', 'create', [ 'name' => 'Foo123', - )); - $relatedEntities = array( - 'Note' => array('note' => 'abc'), - 'EntityTag' => array('tag_id' => $newTag['id']), - ); + ]); + $relatedEntities = [ + 'Note' => ['note' => 'abc'], + 'EntityTag' => ['tag_id' => $newTag['id']], + ]; foreach ($relatedEntities as $entity => $params) { - $params += array( + $params += [ 'entity_id' => $disallowedContact, 'entity_table' => 'civicrm_contact', 'check_permissions' => 1, - ); + ]; // We should be prevented from getting or creating entities for a contact we don't have permission for $this->callAPIFailure($entity, 'create', $params); - $this->callAPISuccess($entity, 'create', array('check_permissions' => 0) + $params); - $results = $this->callAPISuccess($entity, 'get', array('entity_id' => $disallowedContact, 'entity_table' => 'civicrm_contact', 'check_permissions' => 1)); + $this->callAPISuccess($entity, 'create', ['check_permissions' => 0] + $params); + $results = $this->callAPISuccess($entity, 'get', [ + 'entity_id' => $disallowedContact, + 'entity_table' => 'civicrm_contact', + 'check_permissions' => 1, + ]); $this->assertEquals(0, $results['count']); // We should be allowed to create and get for entities we do have permission on $params['entity_id'] = $this->allowedContactId; $this->callAPISuccess($entity, 'create', $params); - $results = $this->callAPISuccess($entity, 'get', array('entity_id' => $this->allowedContactId, 'entity_table' => 'civicrm_contact', 'check_permissions' => 1)); + $results = $this->callAPISuccess($entity, 'get', [ + 'entity_id' => $this->allowedContactId, + 'entity_table' => 'civicrm_contact', + 'check_permissions' => 1, + ]); $this->assertGreaterThan(0, $results['count']); } } @@ -196,11 +245,14 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Function tests all results are returned. */ public function testContactGetAllResultsHook() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $result = $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => 'display_name', - )); + ]); $this->assertEquals(2, $result['count']); } @@ -209,12 +261,15 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Function tests that deleted contacts are not returned. */ public function testContactGetPermissionHookNoDeleted() { - $this->callAPISuccess('contact', 'create', array('id' => 2, 'is_deleted' => 1)); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $result = $this->callAPISuccess('contact', 'get', array( + $this->callAPISuccess('contact', 'create', ['id' => 2, 'is_deleted' => 1]); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => 'display_name', - )); + ]); $this->assertEquals(1, $result['count']); } @@ -222,12 +277,15 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Test permissions limited by hook. */ public function testContactGetHookLimitingHook() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereOnlySecond')); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereOnlySecond', + ]); - $result = $this->callAPISuccess('contact', 'get', array( + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => 'display_name', - )); + ]); $this->assertEquals(1, $result['count']); } @@ -235,10 +293,10 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Confirm that without check permissions we still get 2 contacts returned. */ public function testContactGetHookLimitingHookDontCheck() { - $result = $this->callAPISuccess('contact', 'get', array( + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 0, 'return' => 'display_name', - )); + ]); $this->assertEquals(2, $result['count']); } @@ -246,12 +304,15 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Check that id works as a filter. */ public function testContactGetIDFilter() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $result = $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $result = $this->callAPISuccess('contact', 'get', [ 'sequential' => 1, 'id' => 2, 'check_permissions' => 1, - )); + ]); $this->assertEquals(1, $result['count']); $this->assertEquals(2, $result['id']); @@ -261,14 +322,17 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Check that address IS returned. */ public function testContactGetAddressReturned() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereOnlySecond')); - $fullresult = $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereOnlySecond', + ]); + $fullresult = $this->callAPISuccess('contact', 'get', [ 'sequential' => 1, - )); + ]); //return doesn't work for all keys - can't fix that here so let's skip ... //prefix & suffix are inconsistent due to CRM-7929 // unsure about others but return doesn't work on them - $elementsReturnDoesntSupport = array( + $elementsReturnDoesntSupport = [ 'prefix', 'suffix', 'gender', @@ -278,13 +342,13 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { 'phone', 'worldregion_id', 'world_region', - ); + ]; $expectedReturnElements = array_diff(array_keys($fullresult['values'][0]), $elementsReturnDoesntSupport); - $result = $this->callAPISuccess('contact', 'get', array( + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => $expectedReturnElements, 'sequential' => 1, - )); + ]); $this->assertEquals(1, $result['count']); foreach ($expectedReturnElements as $element) { $this->assertArrayHasKey($element, $result['values'][0]); @@ -295,15 +359,18 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Check that pledge IS not returned. */ public function testContactGetPledgeIDNotReturned() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $this->callAPISuccess('contact', 'get', [ 'sequential' => 1, - )); - $result = $this->callAPISuccess('contact', 'get', array( + ]); + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'return' => 'pledge_id', 'sequential' => 1, - )); + ]); $this->assertArrayNotHasKey('pledge_id', $result['values'][0]); } @@ -311,15 +378,18 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Check that pledge IS not an allowable filter. */ public function testContactGetPledgeIDNotFiltered() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $this->callAPISuccess('contact', 'get', [ 'sequential' => 1, - )); - $result = $this->callAPISuccess('contact', 'get', array( + ]); + $result = $this->callAPISuccess('contact', 'get', [ 'check_permissions' => 1, 'pledge_id' => 1, 'sequential' => 1, - )); + ]); $this->assertEquals(2, $result['count']); } @@ -327,31 +397,34 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Check that chaining doesn't bypass permissions */ public function testContactGetPledgeNotChainable() { - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereOnlySecond')); - $this->callAPISuccess('contact', 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereOnlySecond', + ]); + $this->callAPISuccess('contact', 'get', [ 'sequential' => 1, - )); - $this->callAPIFailure('contact', 'get', array( - 'check_permissions' => 1, - 'api.pledge.get' => 1, - 'sequential' => 1, - ), + ]); + $this->callAPIFailure('contact', 'get', [ + 'check_permissions' => 1, + 'api.pledge.get' => 1, + 'sequential' => 1, + ], 'Error in call to Pledge_get : API permission check failed for Pledge/get call; insufficient permission: require access CiviCRM and access CiviPledge' ); } public function setupCoreACL() { $this->createLoggedInUser(); - $this->_permissionedDisabledGroup = $this->groupCreate(array( + $this->_permissionedDisabledGroup = $this->groupCreate([ 'title' => 'pick-me-disabled', 'is_active' => 0, 'name' => 'pick-me-disabled', - )); - $this->_permissionedGroup = $this->groupCreate(array( + ]); + $this->_permissionedGroup = $this->groupCreate([ 'title' => 'pick-me-active', 'is_active' => 1, 'name' => 'pick-me-active', - )); + ]); $this->setupACL(); } @@ -361,13 +434,16 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * @param $entity */ public function testEntitiesGetHookLimitingHookNoCheck($entity) { - CRM_Core_Config::singleton()->userPermissionClass->permissions = array(); + CRM_Core_Config::singleton()->userPermissionClass->permissions = []; $this->setUpEntities($entity); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookNoResults')); - $result = $this->callAPISuccess($entity, 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookNoResults', + ]); + $result = $this->callAPISuccess($entity, 'get', [ 'check_permissions' => 0, 'return' => 'contact_id', - )); + ]); $this->assertEquals(2, $result['count']); } @@ -380,11 +456,14 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { $this->setupCoreACL(); //CRM_Core_Config::singleton()->userPermissionClass->permissions = array(); $this->setUpEntities($entity); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookNoResults')); - $result = $this->callAPISuccess($entity, 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookNoResults', + ]); + $result = $this->callAPISuccess($entity, 'get', [ 'check_permissions' => 0, 'return' => 'contact_id', - )); + ]); $this->assertEquals(2, $result['count']); } @@ -397,10 +476,10 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { public function testEntitiesGetCoreACLLimitingCheck($entity) { $this->setupCoreACL(); $this->setUpEntities($entity); - $result = $this->callAPISuccess($entity, 'get', array( + $result = $this->callAPISuccess($entity, 'get', [ 'check_permissions' => 1, 'return' => 'contact_id', - )); + ]); $this->assertEquals(0, $result['count']); } @@ -412,12 +491,15 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testEntityGetNoResultsHook($entity) { $this->markTestIncomplete('hook acls only work with contacts so far'); - CRM_Core_Config::singleton()->userPermissionClass->permissions = array(); + CRM_Core_Config::singleton()->userPermissionClass->permissions = []; $this->setUpEntities($entity); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookNoResults')); - $result = $this->callAPISuccess($entity, 'get', array( + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookNoResults', + ]); + $result = $this->callAPISuccess($entity, 'get', [ 'check_permission' => 1, - )); + ]); $this->assertEquals(0, $result['count']); } @@ -425,7 +507,10 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * @return array */ public static function entities() { - return array(array('contribution'), array('participant'));// @todo array('pledge' => 'pledge') + return [ + ['contribution'], + ['participant'], + ];// @todo array('pledge' => 'pledge') } /** @@ -434,22 +519,22 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function setUpEntities($entity) { $baoObj = new CRM_Core_DAO(); - $baoObj->createTestObject(_civicrm_api3_get_BAO($entity), array(), 2, 0); - CRM_Core_Config::singleton()->userPermissionClass->permissions = array( + $baoObj->createTestObject(_civicrm_api3_get_BAO($entity), [], 2, 0); + CRM_Core_Config::singleton()->userPermissionClass->permissions = [ 'access CiviCRM', 'access CiviContribute', 'access CiviEvent', 'view event participants', - ); + ]; } /** * Basic check that an unpermissioned call keeps working and permissioned call fails. */ public function testGetActivityNoPermissions() { - $this->setPermissions(array()); - $this->callAPISuccess('Activity', 'get', array()); - $this->callAPIFailure('Activity', 'get', array('check_permissions' => 1)); + $this->setPermissions([]); + $this->callAPISuccess('Activity', 'get', []); + $this->callAPIFailure('Activity', 'get', ['check_permissions' => 1]); } /** @@ -457,16 +542,19 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testGetActivityViewAllActivitiesDoesntCutItAnymore() { $activity = $this->activityCreate(); - $this->setPermissions(array('view all activities', 'access CiviCRM')); - $this->callAPISuccessGetCount('Activity', ['check_permissions' => 1, 'id' => $activity['id']], 0); + $this->setPermissions(['view all activities', 'access CiviCRM']); + $this->callAPISuccessGetCount('Activity', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ], 0); } /** * View all activities is required unless id is passed in. */ public function testGetActivityViewAllContactsEnoughWithoutID() { - $this->setPermissions(array('view all contacts', 'access CiviCRM')); - $this->callAPISuccess('Activity', 'get', array('check_permissions' => 1)); + $this->setPermissions(['view all contacts', 'access CiviCRM']); + $this->callAPISuccess('Activity', 'get', ['check_permissions' => 1]); } /** @@ -474,8 +562,11 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testGetActivityViewAllContactsEnoughWIthID() { $activity = $this->activityCreate(); - $this->setPermissions(array('view all contacts', 'access CiviCRM')); - $this->callAPISuccess('Activity', 'getsingle', array('check_permissions' => 1, 'id' => $activity['id'])); + $this->setPermissions(['view all contacts', 'access CiviCRM']); + $this->callAPISuccess('Activity', 'getsingle', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ]); } /** @@ -483,8 +574,11 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { */ public function testGetActivityAccessCiviCRMNotEnough() { $activity = $this->activityCreate(); - $this->setPermissions(array('access CiviCRM')); - $this->callAPIFailure('Activity', 'getsingle', array('check_permissions' => 1, 'id' => $activity['id'])); + $this->setPermissions(['access CiviCRM']); + $this->callAPIFailure('Activity', 'getsingle', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ]); } /** @@ -499,10 +593,19 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { public function testGetActivityCheckPermissionsByComponent() { $activity = $this->activityCreate(['activity_type_id' => 'Contribution']); $activity2 = $this->activityCreate(['activity_type_id' => 'Pledge Reminder']); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); $this->setPermissions(['access CiviCRM', 'access CiviContribute']); - $this->callAPISuccessGetSingle('Activity', ['check_permissions' => 1, 'id' => ['IN' => [$activity['id'], $activity2['id']]]]); - $this->callAPISuccessGetCount('Activity', ['check_permissions' => 1, 'id' => ['IN' => [$activity['id'], $activity2['id']]]], 1); + $this->callAPISuccessGetSingle('Activity', [ + 'check_permissions' => 1, + 'id' => ['IN' => [$activity['id'], $activity2['id']]], + ]); + $this->callAPISuccessGetCount('Activity', [ + 'check_permissions' => 1, + 'id' => ['IN' => [$activity['id'], $activity2['id']]], + ], 1); } @@ -513,10 +616,23 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { CRM_Core_BAO_ConfigSetting::enableComponent('CiviCase'); $activity = $this->activityCreate(['activity_type_id' => 'Open Case']); $activity2 = $this->activityCreate(['activity_type_id' => 'Pledge Reminder']); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $this->setPermissions(['access CiviCRM', 'access CiviContribute', 'access all cases and activities']); - $this->callAPISuccessGetSingle('Activity', ['check_permissions' => 1, 'id' => ['IN' => [$activity['id'], $activity2['id']]]]); - $this->callAPISuccessGetCount('Activity', ['check_permissions' => 1, 'id' => ['IN' => [$activity['id'], $activity2['id']]]], 1); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $this->setPermissions([ + 'access CiviCRM', + 'access CiviContribute', + 'access all cases and activities', + ]); + $this->callAPISuccessGetSingle('Activity', [ + 'check_permissions' => 1, + 'id' => ['IN' => [$activity['id'], $activity2['id']]], + ]); + $this->callAPISuccessGetCount('Activity', [ + 'check_permissions' => 1, + 'id' => ['IN' => [$activity['id'], $activity2['id']]], + ], 1); } /** @@ -526,12 +642,21 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * Otherwise it sticks with the blunt original permissions. */ public function testGetActivityByACL() { - $this->setPermissions(array('access CiviCRM')); + $this->setPermissions(['access CiviCRM']); $activity = $this->activityCreate(); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); - $this->callAPISuccessGetSingle('Activity', ['check_permissions' => 1, 'id' => $activity['id']]); - $this->callAPISuccessGetCount('Activity', ['check_permissions' => 1, 'id' => $activity['id']]); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); + $this->callAPISuccessGetSingle('Activity', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ]); + $this->callAPISuccessGetCount('Activity', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ]); } /** @@ -544,14 +669,25 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { foreach ($contacts as $role => $contact_id) { $this->allowedContactId = $contact_id; - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereOnlyOne')); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereOnlyOne', + ]); $this->cleanupCachedPermissions(); $result = $this->callAPISuccessGetSingle('Activity', [ 'check_permissions' => 1, 'id' => $activity['id'], - 'return' => ['source_contact_id', 'target_contact_id', 'assignee_contact_id'], + 'return' => [ + 'source_contact_id', + 'target_contact_id', + 'assignee_contact_id', + ], ]); - foreach (['source_contact', 'target_contact', 'assignee_contact'] as $roleName) { + foreach ([ + 'source_contact', + 'target_contact', + 'assignee_contact', + ] as $roleName) { $roleKey = $roleName . '_id'; if ($role !== $roleKey) { $this->assertTrue(empty($result[$roleKey]), "Only contact in $role is permissioned to be returned, not $roleKey"); @@ -570,10 +706,13 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { public function testGetActivityByAclCannotViewAnyContacts() { $activity = $this->activityCreate(); $contacts = $this->getActivityContacts($activity); - $this->setPermissions(array('access CiviCRM')); + $this->setPermissions(['access CiviCRM']); foreach ($contacts as $contact_id) { - $this->callAPIFailure('Activity', 'getsingle', array('check_permissions' => 1, 'id' => $activity['id'])); + $this->callAPIFailure('Activity', 'getsingle', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ]); } } @@ -585,13 +724,19 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * @throws \CRM_Core_Exception */ public function testGetActivityACLSourceContactDeleted() { - $this->setPermissions(array('access CiviCRM', 'delete contacts')); + $this->setPermissions(['access CiviCRM', 'delete contacts']); $activity = $this->activityCreate(); $contacts = $this->getActivityContacts($activity); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); $this->contactDelete($contacts['source_contact_id']); - $this->callAPISuccess('Activity', 'getsingle', array('check_permissions' => 1, 'id' => $activity['id'])); + $this->callAPISuccess('Activity', 'getsingle', [ + 'check_permissions' => 1, + 'id' => $activity['id'], + ]); } /** @@ -602,13 +747,16 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { $this->createLoggedInUser(); $activity = $this->activityCreate(); $activity2 = $this->activityCreate(); - $this->setPermissions(array('access CiviCRM')); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); + $this->setPermissions(['access CiviCRM']); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); // Get activities associated with contact $this->_contactID. - $params = array( - 'id' => array('IN' => array($activity['id'], $activity2['id'])), + $params = [ + 'id' => ['IN' => [$activity['id'], $activity2['id']]], 'check_permissions' => TRUE, - ); + ]; $result = $this->callAPISuccess('activity', 'get', $params); $this->assertEquals(2, $result['count']); } @@ -622,21 +770,29 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { $this->createLoggedInUser(); $activity = $this->activityCreate(); $contacts = $this->getActivityContacts($activity); - $this->setPermissions(array('access CiviCRM')); + $this->setPermissions(['access CiviCRM']); foreach ($contacts as $contact_id) { $this->allowedContacts[] = $contact_id; } - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereMultipleContacts')); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereMultipleContacts', + ]); $contact2 = $this->individualCreate(); - $activity2 = $this->activityCreate(array('source_contact_id' => $contact2)); + $activity2 = $this->activityCreate(['source_contact_id' => $contact2]); // Get activities associated with contact $this->_contactID. - $params = array( - 'id' => array('IN' => array($activity['id'])), + $params = [ + 'id' => ['IN' => [$activity['id']]], 'check_permissions' => TRUE, - ); + ]; $result = $this->callAPISuccess('activity', 'get', $params); $this->assertEquals(1, $result['count']); - $this->callAPIFailure('activity', 'get', array_merge($params, array('id' => array('IN', array($activity2['id']))))); + $this->callAPIFailure('activity', 'get', array_merge($params, [ + 'id' => [ + 'IN', + [$activity2['id']], + ], + ])); } /** @@ -647,13 +803,16 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { $this->createLoggedInUser(); $activity = $this->activityCreate(); $activity2 = $this->activityCreate(); - $this->setPermissions(array('access CiviCRM')); - $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults')); + $this->setPermissions(['access CiviCRM']); + $this->hookClass->setHook('civicrm_aclWhereClause', [ + $this, + 'aclWhereHookAllResults', + ]); // Get activities associated with contact $this->_contactID. - $params = array( - 'id' => array('NOT IN' => array($activity['id'], $activity2['id'])), + $params = [ + 'id' => ['NOT IN' => [$activity['id'], $activity2['id']]], 'check_permissions' => TRUE, - ); + ]; $result = $this->callAPISuccess('activity', 'get', $params); $this->assertEquals(0, $result['count']); } @@ -667,14 +826,14 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase { * @throws \CRM_Core_Exception */ protected function getActivityContacts($activity) { - $contacts = array(); + $contacts = []; - $activityContacts = $this->callAPISuccess('ActivityContact', 'get', array( + $activityContacts = $this->callAPISuccess('ActivityContact', 'get', [ 'activity_id' => $activity['id'], - ) + ] ); - $activityRecordTypes = $this->callAPISuccess('ActivityContact', 'getoptions', array('field' => 'record_type_id')); + $activityRecordTypes = $this->callAPISuccess('ActivityContact', 'getoptions', ['field' => 'record_type_id']); foreach ($activityContacts['values'] as $activityContact) { $type = $activityRecordTypes['values'][$activityContact['record_type_id']]; switch ($type) { -- 2.25.1