FOSSology  4.7.1
Open Source License Compliance by Open Source Software
Fossology\UI\Api\Test\Controllers\GroupControllerTest Class Reference

Tests for GroupController. More...

Inheritance diagram for Fossology\UI\Api\Test\Controllers\GroupControllerTest:
Inheritance graph
Collaboration diagram for Fossology\UI\Api\Test\Controllers\GroupControllerTest:
Collaboration graph

Public Member Functions

 testCreateGroupV1 ()
 
 testCreateGroupV2 ()
 
 testDeleteGroupV1 ()
 
 testDeleteGroupV2 ()
 
 testUpdateGroupV1 ()
 
 testUpdateGroupV2 ()
 
 testUpdateGroupNoNameProvidedV2 ()
 
 testUpdateGroupInvalidNameV2 ()
 
 testUpdateGroupNotFoundV2 ()
 
 testUpdateGroupNotGroupAdminV2 ()
 
 testUpdateGroupNameAlreadyExistsV2 ()
 
 testGetDeletableGroupsV1 ()
 
 testGetDeletableGroupsV2 ()
 
 testGetGroupMembersV2 ()
 
 testGetGroupMembersV1 ()
 
 testGetGroupMembersNotGroupAdminV1 ()
 
 testGetGroupMembersGroupNotFoundV1 ()
 
 testGetGroupMembersGlobalAdminV1 ()
 
 testAddMemberUserNotMemberV1 ()
 
 testAddMemberUserNotMemberV2 ()
 
 testAddMemberUserNotMember ($version=ApiVersion::V2)
 
 testAddMemberUserNotAdminV2 ()
 
 testAddMemberUserNotAdminV1 ()
 
 testAddMemberUserGroupAdminV1 ()
 
 testAddMemberUserGroupAdminV2 ()
 
 testAddMemberUserAlreadyMemberV2 ()
 
 testAddMemberUserAlreadyMemberV1 ()
 
 testChangeUserPermissionV2 ()
 
 testChangeUserPermissionV1 ()
 
 testDeleteGroupMemberSuccessV2 ()
 
 testDeleteGroupMemberSuccessV1 ()
 
 testDeleteGroupMemberUserNotFoundV2 ()
 
 testAddMemberUserNotFoundV2 ()
 
 testChangeUserPermissionUserNotFoundV2 ()
 

Public Attributes

const YAML_LOC = __DIR__ . '/../../../ui/api/documentation/openapi.yaml'
 

Protected Member Functions

 setUp ()
 Setup test objects. More...
 
 tearDown ()
 Remove test objects. More...
 

Private Member Functions

 getResponseJson ($response)
 
 getGroupMembers ($userIds)
 
 getUsersWithGroup ($userIds)
 
 testCreateGroup ($version=ApiVersion::V2)
 
 testDeleteGroup ($version=ApiVersion::V2)
 
 testUpdateGroup ($version=ApiVersion::V2)
 
 getUpdateGroupRequest ($newGroupName, $version=ApiVersion::V2)
 
 testGetDeletableGroups ($version=ApiVersion::V2)
 
 testGetGroupMembers ($version=ApiVersion::V2)
 
 testAddMemberUserNotAdmin ($version=ApiVersion::V2)
 
 testAddMemberUserGroupAdmin ($version=ApiVersion::V2)
 
 testAddMemberUserAlreadyMember ($version=ApiVersion::V2)
 
 testChangeUserPermission ($version=ApiVersion::V2)
 
 testDeleteGroupMemberSuccess ($version=ApiVersion::V2)
 

Private Attributes

 $assertCountBefore
 
 $dbHelper
 
 $restHelper
 
 $adminPlugin
 
 $adminEditPlugin
 

Detailed Description

Tests for GroupController.

Definition at line 44 of file GroupControllerTest.php.

Member Function Documentation

◆ getGroupMembers()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::getGroupMembers (   $userIds)
private

Generate array of group-members

Parameters
array$userIdsUser ids to be generated
Returns
array[]

Definition at line 145 of file GroupControllerTest.php.

◆ getResponseJson()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::getResponseJson (   $response)
private

Helper function to get JSON array from response

Parameters
Response$response
Returns
array Decoded response

Definition at line 134 of file GroupControllerTest.php.

◆ getUpdateGroupRequest()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::getUpdateGroupRequest (   $newGroupName,
  $version = ApiVersion::V2 
)
private

Create a rename request for the given group name

Parameters
string$newGroupNameNew name of the group
int$versionAPI version
Returns
Request

Definition at line 483 of file GroupControllerTest.php.

◆ getUsersWithGroup()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::getUsersWithGroup (   $userIds)
private

Generate array of users-with-group

Parameters
array$userIdsUser ids to be generated
Returns
array[]

Definition at line 165 of file GroupControllerTest.php.

◆ setUp()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::setUp ( )
protected

Setup test objects.

See also
PHPUnit_Framework_TestCase::setUp()

Definition at line 87 of file GroupControllerTest.php.

◆ tearDown()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::tearDown ( )
protected

Remove test objects.

See also
PHPUnit_Framework_TestCase::tearDown()

Definition at line 121 of file GroupControllerTest.php.

◆ testAddMemberUserAlreadyMember()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserAlreadyMember (   $version = ApiVersion::V2)
private
Parameters
$versionto test
Returns
void

Definition at line 904 of file GroupControllerTest.php.

◆ testAddMemberUserAlreadyMemberV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserAlreadyMemberV1 ( )
Test:
  1. Test GroupController::addMember() for version 1
  2. The user already a member
  3. Test if the response body matches
  4. Test if the response status is 400

Definition at line 895 of file GroupControllerTest.php.

◆ testAddMemberUserAlreadyMemberV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserAlreadyMemberV2 ( )
Test:
  1. Test GroupController::addMember() for version 2
  2. The user already a member
  3. Test if the response body matches
  4. Test if the response status is 400

Definition at line 883 of file GroupControllerTest.php.

◆ testAddMemberUserGroupAdminV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserGroupAdminV1 ( )
Test:
  1. Test GroupController::addMember() for version 1
  2. The user is not an admin but group admin
  3. Test if the response status is 200

Definition at line 821 of file GroupControllerTest.php.

◆ testAddMemberUserGroupAdminV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserGroupAdminV2 ( )
Test:
  1. Test GroupController::addMember() for version 2
  2. The user is not an admin but group admin
  3. Test if the response status is 200

Definition at line 831 of file GroupControllerTest.php.

◆ testAddMemberUserNotAdmin()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotAdmin (   $version = ApiVersion::V2)
private
Parameters
$versionto test
Returns
void

Definition at line 782 of file GroupControllerTest.php.

◆ testAddMemberUserNotAdminV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotAdminV1 ( )
Test:
  1. Test GroupController::addMember() for version 1
  2. The user is not an admin
  3. Test if the response status is 403

Definition at line 774 of file GroupControllerTest.php.

◆ testAddMemberUserNotAdminV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotAdminV2 ( )
Test:
  1. Test GroupController::addMember() for version 2
  2. The user is not an admin
  3. Test if the response status is 403

Definition at line 764 of file GroupControllerTest.php.

◆ testAddMemberUserNotFoundV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotFoundV2 ( )
Test:
  1. Test GroupController::addMember() for V2 when username not found
  2. Check if HttpNotFoundException is thrown

Definition at line 1089 of file GroupControllerTest.php.

◆ testAddMemberUserNotMember()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotMember (   $version = ApiVersion::V2)
Parameters
$versionto test
Returns
void

Definition at line 719 of file GroupControllerTest.php.

◆ testAddMemberUserNotMemberV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotMemberV1 ( )
Test:
  1. Test GroupController::addMember() for version 1
  2. The user already a member
  3. Test if the response body matches
  4. Test if the response status is 200

Definition at line 699 of file GroupControllerTest.php.

◆ testAddMemberUserNotMemberV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testAddMemberUserNotMemberV2 ( )
Test:
  1. Test GroupController::addMember() for version 2
  2. The user already a member
  3. Test if the response body matches
  4. Test if the response status is 200

Definition at line 711 of file GroupControllerTest.php.

◆ testChangeUserPermission()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testChangeUserPermission (   $version = ApiVersion::V2)
private
Parameters
$versionto test
Returns
void

Definition at line 960 of file GroupControllerTest.php.

◆ testChangeUserPermissionUserNotFoundV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testChangeUserPermissionUserNotFoundV2 ( )
Test:
  1. Test GroupController::changeUserPermission() for V2 when username not found
  2. Check if HttpNotFoundException is thrown

Definition at line 1116 of file GroupControllerTest.php.

◆ testChangeUserPermissionV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testChangeUserPermissionV1 ( )
Test:
  1. Test GroupController::changeUserPermission() in version 1
  2. Check if the response is list of group members

Definition at line 952 of file GroupControllerTest.php.

◆ testChangeUserPermissionV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testChangeUserPermissionV2 ( )
Test:
  1. Test GroupController::changeUserPermission() in version 2
  2. Check if the response is list of group members

Definition at line 943 of file GroupControllerTest.php.

◆ testCreateGroup()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testCreateGroup (   $version = ApiVersion::V2)
private
Parameters
$version
Returns
void

Definition at line 206 of file GroupControllerTest.php.

◆ testCreateGroupV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testCreateGroupV1 ( )
Test:
  1. Test GroupController::createGroup() for valid create request in version 1
  2. Check if response status is 200

Definition at line 189 of file GroupControllerTest.php.

◆ testCreateGroupV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testCreateGroupV2 ( )
Test:
  1. Test GroupController::createGroup() for valid create request in version 2
  2. Check if response status is 201

Definition at line 198 of file GroupControllerTest.php.

◆ testDeleteGroup()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroup (   $version = ApiVersion::V2)
private
Parameters
$version
Returns
void

Definition at line 264 of file GroupControllerTest.php.

◆ testDeleteGroupMemberSuccess()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroupMemberSuccess (   $version = ApiVersion::V2)
private
Parameters
int$versionAPI version

Definition at line 1022 of file GroupControllerTest.php.

◆ testDeleteGroupMemberSuccessV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroupMemberSuccessV1 ( )
Test:
  1. Test GroupController::deleteGroupMember() for V1 with a valid member removal
  2. Check if the response status is 202

Definition at line 1014 of file GroupControllerTest.php.

◆ testDeleteGroupMemberSuccessV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroupMemberSuccessV2 ( )
Test:
  1. Test GroupController::deleteGroupMember() for V2 with a valid member removal
  2. Check if the response status is 202

Definition at line 1004 of file GroupControllerTest.php.

◆ testDeleteGroupMemberUserNotFoundV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroupMemberUserNotFoundV2 ( )
Test:
  1. Test GroupController::deleteGroupMember() for V2 when username not found
  2. Check if HttpNotFoundException is thrown

Definition at line 1065 of file GroupControllerTest.php.

◆ testDeleteGroupV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroupV1 ( )
Test:
  1. Test GroupController::deleteGroup() for valid delete request in version 1
  2. Check if response status is 202

Definition at line 247 of file GroupControllerTest.php.

◆ testDeleteGroupV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testDeleteGroupV2 ( )
Test:
  1. Test GroupController::deleteGroup() for valid delete request in version 2
  2. Check if response status is 202

Definition at line 256 of file GroupControllerTest.php.

◆ testGetDeletableGroups()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetDeletableGroups (   $version = ApiVersion::V2)
private
Parameters
$version
Returns
void

Definition at line 518 of file GroupControllerTest.php.

◆ testGetDeletableGroupsV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetDeletableGroupsV1 ( )
Test:
  1. Test GroupController::getDeletableGroups() for version 1
  2. Check if the response is a list of groups.

Definition at line 501 of file GroupControllerTest.php.

◆ testGetDeletableGroupsV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetDeletableGroupsV2 ( )
Test:
  1. Test GroupController::getDeletableGroups() for version 2
  2. Check if the response is a list of groups.

Definition at line 510 of file GroupControllerTest.php.

◆ testGetGroupMembers()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetGroupMembers (   $version = ApiVersion::V2)
private
Parameters
$version
Returns
void

Definition at line 553 of file GroupControllerTest.php.

◆ testGetGroupMembersGlobalAdminV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetGroupMembersGlobalAdminV1 ( )
Test:
  1. Test GroupController::getGroupMembers() for a global admin who is not advisor or admin of the specific group being requested
  2. Check if the response status is 200

Definition at line 654 of file GroupControllerTest.php.

◆ testGetGroupMembersGroupNotFoundV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetGroupMembersGroupNotFoundV1 ( )
Test:
  1. Test GroupController::getGroupMembers() for a group that does not exist
  2. Check if HttpNotFoundException is thrown

Definition at line 626 of file GroupControllerTest.php.

◆ testGetGroupMembersNotGroupAdminV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetGroupMembersNotGroupAdminV1 ( )
Test:
  1. Test GroupController::getGroupMembers() when the caller administers a different group but not the one being requested
  2. Check if HttpForbiddenException is thrown

Definition at line 599 of file GroupControllerTest.php.

◆ testGetGroupMembersV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetGroupMembersV1 ( )
Test:
  1. Test GroupController::getGroupMembers() for all groups in version 1
  2. Check if the response is list of group members

Definition at line 545 of file GroupControllerTest.php.

◆ testGetGroupMembersV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testGetGroupMembersV2 ( )
Test:
  1. Test GroupController::getGroupMembers() for all groups in version 2
  2. Check if the response is list of group members

Definition at line 536 of file GroupControllerTest.php.

◆ testUpdateGroup()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroup (   $version = ApiVersion::V2)
private
Parameters
$version
Returns
void

Definition at line 319 of file GroupControllerTest.php.

◆ testUpdateGroupInvalidNameV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupInvalidNameV2 ( )
Test:
  1. Test GroupController::updateGroup() with an invalid new group name
  2. Check if HttpBadRequestException is thrown

Definition at line 375 of file GroupControllerTest.php.

◆ testUpdateGroupNameAlreadyExistsV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupNameAlreadyExistsV2 ( )
Test:
  1. Test GroupController::updateGroup() when the new name is already taken
  2. Check if HttpConflictException is thrown

Definition at line 448 of file GroupControllerTest.php.

◆ testUpdateGroupNoNameProvidedV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupNoNameProvidedV2 ( )
Test:
  1. Test GroupController::updateGroup() with an empty new group name
  2. Check if HttpBadRequestException is thrown

Definition at line 361 of file GroupControllerTest.php.

◆ testUpdateGroupNotFoundV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupNotFoundV2 ( )
Test:
  1. Test GroupController::updateGroup() for a group which does not exist
  2. Check if HttpNotFoundException is thrown

Definition at line 394 of file GroupControllerTest.php.

◆ testUpdateGroupNotGroupAdminV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupNotGroupAdminV2 ( )
Test:
  1. Test GroupController::updateGroup() when the user is not admin of the group
  2. Check if HttpForbiddenException is thrown

Definition at line 418 of file GroupControllerTest.php.

◆ testUpdateGroupV1()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupV1 ( )
Test:
  1. Test GroupController::updateGroup() for valid rename request in version 1
  2. Check if response status is 200

Definition at line 302 of file GroupControllerTest.php.

◆ testUpdateGroupV2()

Fossology\UI\Api\Test\Controllers\GroupControllerTest::testUpdateGroupV2 ( )
Test:
  1. Test GroupController::updateGroup() for valid rename request in version 2
  2. Check if response status is 200

Definition at line 311 of file GroupControllerTest.php.

Member Data Documentation

◆ $adminEditPlugin

M MockInterface Fossology\UI\Api\Test\Controllers\GroupControllerTest::$adminEditPlugin
private

AdminGroupEdit plugin mock

Definition at line 81 of file GroupControllerTest.php.

◆ $adminPlugin

M MockInterface Fossology\UI\Api\Test\Controllers\GroupControllerTest::$adminPlugin
private

AdminGroupUsersPlugin mock

Definition at line 75 of file GroupControllerTest.php.

◆ $assertCountBefore

integer Fossology\UI\Api\Test\Controllers\GroupControllerTest::$assertCountBefore
private

Assertions before running tests

Definition at line 57 of file GroupControllerTest.php.

◆ $dbHelper

DbHelper Fossology\UI\Api\Test\Controllers\GroupControllerTest::$dbHelper
private

DbHelper mock

Definition at line 63 of file GroupControllerTest.php.

◆ $restHelper

RestHelper Fossology\UI\Api\Test\Controllers\GroupControllerTest::$restHelper
private

RestHelper mock

Definition at line 69 of file GroupControllerTest.php.

◆ YAML_LOC

string Fossology\UI\Api\Test\Controllers\GroupControllerTest::YAML_LOC = __DIR__ . '/../../../ui/api/documentation/openapi.yaml'

Location of openapi.yaml file

Definition at line 51 of file GroupControllerTest.php.


The documentation for this class was generated from the following file: