22 use \PHPUnit\Framework\TestCase;
24 require_once dirname(dirname(dirname(dirname(__DIR__)))) .
25 '/lib/php/Plugin/FO_Plugin.php';
58 protected function setUp() : void
61 $container = M::mock(
'ContainerBuilder');
62 $this->restHelper = M::mock(RestHelper::class);
63 $this->userDao = M::mock(UserDao::class);
65 $this->restHelper->shouldReceive(
'getDbHelper')->andReturn($this->dbHelper);
66 $this->restHelper->shouldReceive(
'getUserDao')
67 ->andReturn($this->userDao);
69 $container->shouldReceive(
'get')->withArgs(array(
70 'helper.restHelper'))->andReturn($this->restHelper);
82 $user =
new User(1,
"fossy",
"Admin user",
"fossy@gmail.com",
"admin", 4,
"fossy@gmail.com",
"monk", 3,
null);
83 $this->assertInstanceOf(User::class, $user);
92 $this->addToAssertionCount(
93 \Hamcrest\MatcherAssert::getCount() - $this->assertCountBefore);
134 if($version==ApiVersion::V1){
135 $expectedCurrentUser = [
138 "description" =>
'super user',
139 "email" =>
'fossy@localhost',
140 "accessLevel" =>
'admin',
143 "emailNotification" =>
true,
146 "copyright_email_author" =>
true,
158 "compatibility" => false
162 $expectedCurrentUser = [
165 "description" =>
'super user',
166 "email" =>
'fossy@localhost',
167 "accessLevel" =>
'admin',
169 "defaultGroup" =>
"fossy",
170 "emailNotification" =>
true,
173 "copyrightEmailAuthor" =>
true,
182 "softwareHeritage" =>
false,
185 "compatibility" => false
189 $expectedNonAdminUser = [
192 "description" =>
'very useri',
196 $actualCurrentUserV1 =
new User(2,
'fossy',
'super user',
'fossy@localhost',
199 $this->userDao->shouldReceive(
'getGroupNameById')->withArgs([0])->andReturn(
"fossy");
201 $actualCurrentUserV2 =
new User(2,
'fossy',
'super user',
'fossy@localhost',
203 $actualNonAdminUser =
new User(8,
'userii',
'very useri',
null,
null,
null,
205 if ($version == ApiVersion::V2) {
206 $this->assertEquals($expectedCurrentUser, $actualCurrentUserV2->getArray($version));
208 $this->assertEquals($expectedCurrentUser, $actualCurrentUserV1->getArray($version));
210 $this->assertEquals($expectedNonAdminUser, $actualNonAdminUser->getArray());
Provides helper methods to access database for REST api.
Provides various DAO helper functions for REST api.
Model to hold user information.
tearDown()
Remove test objects.
setUp()
Setup test objects.
#define PLUGIN_DB_ADMIN
Plugin requires admin level permission on DB.