mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 23:13:15 +00:00
Fix tests
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Alchemy\Phrasea\Application;
|
||||
use Doctrine\ORM\UnitOfWork;
|
||||
|
||||
class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
{
|
||||
@@ -11,19 +12,6 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
$application = new Application('test');
|
||||
if (null !== $template = self::$DI['app']['manipulator.user']->getRepository()->findByLogin('test_phpunit2')) {
|
||||
self::$DI['app']['model.user-manager']->delete($template);
|
||||
}
|
||||
|
||||
if (null !== $template = self::$DI['app']['manipulator.user']->getRepository()->findByLogin('test_phpunit3')) {
|
||||
self::$DI['app']['model.user-manager']->delete($template);
|
||||
}
|
||||
|
||||
self::giveRightsToUser($application, self::$DI['user']);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_access_from_bases(array(self::$DI['collection_no_access']->get_base_id()));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_masks_on_base(self::$DI['collection_no_access_by_status']->get_base_id(), '0000000000000000000000000000000000000000000000000001000000000000', '0000000000000000000000000000000000000000000000000001000000000000', '0000000000000000000000000000000000000000000000000001000000000000', '0000000000000000000000000000000000000000000000000001000000000000');
|
||||
|
||||
self::resetUsersRights(self::$DI['app'], self::$DI['user']);
|
||||
self::$object = null;
|
||||
|
||||
@@ -34,7 +22,9 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
self::$object = self::$DI['app']['acl']->get(self::$DI['user']);
|
||||
if (!self::$object) {
|
||||
self::$object = self::$DI['app']['acl']->get(self::$DI['user']);
|
||||
}
|
||||
}
|
||||
|
||||
public function testHasAccesToRecord()
|
||||
@@ -45,24 +35,16 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
public function testHasAccesToRecordStatus()
|
||||
{
|
||||
self::$DI['record_1']->set_binary_status(str_repeat('0', 32));
|
||||
|
||||
self::$object->set_masks_on_base(self::$DI['record_1']->get_base_id(), '10000', '10000', '0', '0');
|
||||
|
||||
self::$DI['record_1']->set_binary_status('10000');
|
||||
$this->assertFalse(self::$object->has_status_access_to_record(self::$DI['record_1']));
|
||||
|
||||
self::$DI['record_1']->set_binary_status('00000');
|
||||
$this->assertTrue(self::$object->has_status_access_to_record(self::$DI['record_1']));
|
||||
|
||||
self::$object->set_masks_on_base(self::$DI['record_1']->get_base_id(), '10000', '10000', '10000', '10000');
|
||||
|
||||
$this->assertFalse(self::$object->has_status_access_to_record(self::$DI['record_1']));
|
||||
|
||||
self::$DI['record_1']->set_binary_status('10000');
|
||||
$this->assertTrue(self::$object->has_status_access_to_record(self::$DI['record_1']));
|
||||
|
||||
self::$object->set_masks_on_base(self::$DI['record_1']->get_base_id(), '0', '0', '0', '0');
|
||||
|
||||
$this->assertTrue(self::$object->has_status_access_to_record(self::$DI['record_1']));
|
||||
self::$DI['record_1']->set_binary_status(str_repeat('0', 32));
|
||||
$this->assertTrue(self::$object->has_status_access_to_record(self::$DI['record_1']));
|
||||
@@ -78,106 +60,55 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$this->assertFalse(self::$object->has_access_to_record(self::$DI['record_no_access_by_status']));
|
||||
}
|
||||
|
||||
public function testApply_model()
|
||||
public function testApplyModel()
|
||||
{
|
||||
$template = self::$DI['app']['manipulator.user']->createUser('test_phpunit2', 'blabla2', 'test2@example.com');
|
||||
$template->setModelOf(self::$DI['user']);
|
||||
$base_ids = [self::$DI['collection']->get_base_id()];
|
||||
self::$DI['app']['acl']->get(self::$DI['user_template'])->give_access_to_base($base_ids);
|
||||
|
||||
$base_ids = [];
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
foreach ($base_ids as $base_id) {
|
||||
self::$DI['app']['acl']->get(self::$DI['user_template'])->set_limits($base_id, 0);
|
||||
}
|
||||
self::$DI['app']['acl']->get($template)->give_access_to_base($base_ids);
|
||||
|
||||
$cobaye = self::$DI['app']['manipulator.user']->createUser('test_phpunit3', 'blabla3', 'test3@example.com');
|
||||
self::$DI['app']['acl']->get($cobaye)->apply_model($template, $base_ids);
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$this->assertTrue(self::$DI['app']['acl']->get($cobaye)->has_access_to_base($base_id));
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user_1'])->apply_model(self::$DI['user_template'], $base_ids);
|
||||
|
||||
foreach ($base_ids as $base_id) {
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user_1'])->has_access_to_base($base_id));
|
||||
}
|
||||
|
||||
foreach ($base_ids as $base_id) {
|
||||
$this->assertNull(self::$DI['app']['acl']->get($cobaye)->get_limits($base_id));
|
||||
$this->assertNull(self::$DI['app']['acl']->get(self::$DI['user_1'])->get_limits($base_id));
|
||||
}
|
||||
|
||||
self::$DI['app']['model.user-manager']->delete($template);
|
||||
self::$DI['app']['model.user-manager']->delete($cobaye);
|
||||
}
|
||||
|
||||
public function testApply_model_with_time_limit()
|
||||
public function testApplyModelWithTimeLimit()
|
||||
{
|
||||
$template = self::$DI['app']['manipulator.user']->createUser('test_phpunit2', 'blabla2', 'test2@example.com');
|
||||
$template->setModelOf(self::$DI['user']);
|
||||
|
||||
$base_ids = [];
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
}
|
||||
self::$DI['app']['acl']->get($template)->give_access_to_base($base_ids);
|
||||
$base_ids = [self::$DI['collection']->get_base_id()];
|
||||
self::$DI['app']['acl']->get(self::$DI['user_template'])->give_access_to_base($base_ids);
|
||||
|
||||
$limit_from = new \DateTime('-1 day');
|
||||
$limit_to = new \DateTime('+1 day');
|
||||
|
||||
foreach ($base_ids as $base_id) {
|
||||
self::$DI['app']['acl']->get($template)->set_limits($base_id, 1, $limit_from, $limit_to);
|
||||
self::$DI['app']['acl']->get(self::$DI['user_template'])->set_limits($base_id, 1, $limit_from, $limit_to);
|
||||
}
|
||||
|
||||
$cobaye = self::$DI['app']['manipulator.user']->createUser(self::$DI['app'], 'test_phpunit3', 'blabla3', 'test3@example.com');
|
||||
self::$DI['app']['acl']->get($cobaye)->apply_model($template, $base_ids);
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$this->assertTrue(self::$DI['app']['acl']->get($cobaye)->has_access_to_base($base_id));
|
||||
}
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user_2'])->apply_model(self::$DI['user_template'], $base_ids);
|
||||
|
||||
foreach ($base_ids as $base_id) {
|
||||
$this->assertEquals(['dmin' => $limit_from, 'dmax' => $limit_to], self::$DI['app']['acl']->get($cobaye)->get_limits($base_id));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user_2'])->has_access_to_base($base_id));
|
||||
}
|
||||
|
||||
self::$DI['app']['model.user-manager']->delete($template);
|
||||
self::$DI['app']['model.user-manager']->delete($cobaye);
|
||||
}
|
||||
|
||||
public function testRevoke_access_from_bases()
|
||||
{
|
||||
|
||||
$base_ids = [];
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_access_from_bases([$base_id]);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_access_from_bases($base_ids);
|
||||
|
||||
foreach ($base_ids as $base_id) {
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
$this->assertEquals(['dmin' => $limit_from, 'dmax' => $limit_to], self::$DI['app']['acl']->get(self::$DI['user_2'])->get_limits($base_id));
|
||||
}
|
||||
}
|
||||
|
||||
public function testGive_access_to_base()
|
||||
public function testRevokeAndGiveAccessFromBases()
|
||||
{
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
}
|
||||
}
|
||||
$baseId = self::$DI['collection']->get_base_id();
|
||||
$this->assertTrue(self::$object->has_access_to_base($baseId));
|
||||
self::$object->revoke_access_from_bases([$baseId]);
|
||||
$this->assertFalse(self::$object->has_access_to_base($baseId));
|
||||
self::$object->give_access_to_base([$baseId]);
|
||||
}
|
||||
|
||||
public function testGive_access_to_sbas()
|
||||
@@ -190,11 +121,11 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$base_ids[] = $collection->get_base_id();
|
||||
}
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_access_from_bases($base_ids);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_unused_sbas_rights();
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_sbas($sbas_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_sbas([$sbas_id]);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_sbas($sbas_id));
|
||||
self::$object->revoke_access_from_bases($base_ids);
|
||||
self::$object->revoke_unused_sbas_rights();
|
||||
$this->assertFalse(self::$object->has_access_to_sbas($sbas_id));
|
||||
self::$object->give_access_to_sbas([$sbas_id]);
|
||||
$this->assertTrue(self::$object->has_access_to_sbas($sbas_id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -207,11 +138,11 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$base_ids[] = $collection->get_base_id();
|
||||
}
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_access_from_bases($base_ids);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_sbas([$sbas_id]);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_sbas($sbas_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_unused_sbas_rights();
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_sbas($sbas_id));
|
||||
self::$object->revoke_access_from_bases($base_ids);
|
||||
self::$object->give_access_to_sbas([$sbas_id]);
|
||||
$this->assertTrue(self::$object->has_access_to_sbas($sbas_id));
|
||||
self::$object->revoke_unused_sbas_rights();
|
||||
$this->assertFalse(self::$object->has_access_to_sbas($sbas_id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -227,13 +158,13 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$base_id = $collection->get_base_id();
|
||||
$droits = 50;
|
||||
$restes = 40;
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_quotas_on_base($base_id, $droits, $restes);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->is_restricted_download($base_id));
|
||||
self::$object->set_quotas_on_base($base_id, $droits, $restes);
|
||||
$this->assertTrue(self::$object->is_restricted_download($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->remove_quotas_on_base($base_id);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_restricted_download($base_id));
|
||||
self::$object->remove_quotas_on_base($base_id);
|
||||
$this->assertFalse(self::$object->is_restricted_download($base_id));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -250,19 +181,19 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
|
||||
if ($first) {
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['imgtools' => true, 'chgstatus' => true, 'canaddrecord' => true, 'canputinalbum' => true]);
|
||||
self::$object->update_rights_to_base($base_id, ['imgtools' => true, 'chgstatus' => true, 'canaddrecord' => true, 'canputinalbum' => true]);
|
||||
$base_ref = $base_id;
|
||||
} else {
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->duplicate_right_from_bas($base_ref, $base_id);
|
||||
self::$object->duplicate_right_from_bas($base_ref, $base_id);
|
||||
}
|
||||
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canputinalbum'));
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'canputinalbum'));
|
||||
|
||||
$first = false;
|
||||
}
|
||||
@@ -277,41 +208,40 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
);
|
||||
}
|
||||
|
||||
public function testHas_right_on_base()
|
||||
public function testHasRightOnBase()
|
||||
{
|
||||
|
||||
$rights_false = [
|
||||
'imgtools' => false
|
||||
, 'chgstatus' => false
|
||||
, 'canaddrecord' => false
|
||||
, 'canputinalbum' => false
|
||||
'imgtools' => false,
|
||||
'chgstatus' => false,
|
||||
'canaddrecord' => false,
|
||||
'canputinalbum' => false,
|
||||
];
|
||||
|
||||
$rights_true = [
|
||||
'imgtools' => true
|
||||
, 'chgstatus' => true
|
||||
, 'canaddrecord' => true
|
||||
'imgtools' => true,
|
||||
'chgstatus' => true,
|
||||
'canaddrecord' => true,
|
||||
];
|
||||
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, $rights_false);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canputinalbum'));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, $rights_true);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canputinalbum'));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, $rights_false);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_base($base_id, 'canputinalbum'));
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
self::$object->update_rights_to_base($base_id, $rights_false);
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'canputinalbum'));
|
||||
self::$object->update_rights_to_base($base_id, $rights_true);
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertTrue(self::$object->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'canputinalbum'));
|
||||
self::$object->update_rights_to_base($base_id, $rights_false);
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'imgtools'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'chgstatus'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'canaddrecord'));
|
||||
$this->assertFalse(self::$object->has_right_on_base($base_id, 'canputinalbum'));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -323,7 +253,7 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
public function testGetSetOrder_master()
|
||||
{
|
||||
$appbox = self::$DI['app']['phraseanet.appbox'];
|
||||
$acl = self::$DI['app']['acl']->get(self::$DI['user']);
|
||||
$acl = self::$object;
|
||||
|
||||
foreach ($appbox->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
@@ -356,105 +286,93 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
|
||||
public function testRemaining_download()
|
||||
{
|
||||
$base_id = self::$DI['collection']->get_base_id();
|
||||
$droits = 50;
|
||||
$restes = 40;
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$droits = 50;
|
||||
$restes = 40;
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
self::$object->set_quotas_on_base($base_id, $droits, $restes);
|
||||
$this->assertEquals(40, self::$object->remaining_download($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_quotas_on_base($base_id, $droits, $restes);
|
||||
$this->assertEquals(40, self::$DI['app']['acl']->get(self::$DI['user'])->remaining_download($base_id));
|
||||
self::$object->remove_quotas_on_base($base_id);
|
||||
$this->assertFalse(self::$object->is_restricted_download($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->remove_quotas_on_base($base_id);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_restricted_download($base_id));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
public function testRemove_remaining()
|
||||
{
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$droits = 50;
|
||||
$restes = 40;
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
$base_id = self::$DI['collection']->get_base_id();
|
||||
$droits = 50;
|
||||
$restes = 40;
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_quotas_on_base($base_id, $droits, $restes);
|
||||
$this->assertEquals(40, self::$DI['app']['acl']->get(self::$DI['user'])->remaining_download($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->remove_remaining($base_id, 1);
|
||||
$this->assertEquals(39, self::$DI['app']['acl']->get(self::$DI['user'])->remaining_download($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->remove_remaining($base_id, 10);
|
||||
$this->assertEquals(29, self::$DI['app']['acl']->get(self::$DI['user'])->remaining_download($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->remove_remaining($base_id, 100);
|
||||
$this->assertEquals(0, self::$DI['app']['acl']->get(self::$DI['user'])->remaining_download($base_id));
|
||||
self::$object->set_quotas_on_base($base_id, $droits, $restes);
|
||||
$this->assertEquals(40, self::$object->remaining_download($base_id));
|
||||
self::$object->remove_remaining($base_id, 1);
|
||||
$this->assertEquals(39, self::$object->remaining_download($base_id));
|
||||
self::$object->remove_remaining($base_id, 10);
|
||||
$this->assertEquals(29, self::$object->remaining_download($base_id));
|
||||
self::$object->remove_remaining($base_id, 100);
|
||||
$this->assertEquals(0, self::$object->remaining_download($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->remove_quotas_on_base($base_id);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_restricted_download($base_id));
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
self::$object->remove_quotas_on_base($base_id);
|
||||
$this->assertFalse(self::$object->is_restricted_download($base_id));
|
||||
}
|
||||
|
||||
public function testHas_right()
|
||||
public function testHasRight()
|
||||
{
|
||||
$databox = self::$DI['collection']->get_databox();
|
||||
self::$object->give_access_to_sbas([$databox->get_sbas_id()]);
|
||||
self::$object->update_rights_to_sbas($databox->get_sbas_id(), [
|
||||
'bas_modify_struct' => false,
|
||||
'bas_modif_th' => false,
|
||||
]);
|
||||
|
||||
$rights = [
|
||||
'bas_modify_struct' => true
|
||||
];
|
||||
$this->assertFalse(self::$object->has_right('bas_modify_struct'));
|
||||
$this->assertFalse(self::$object->has_right('bas_modif_th'));
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right('bas_modify_struct'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right('bas_modif_th'));
|
||||
self::$object->update_rights_to_sbas($databox->get_sbas_id(), [
|
||||
'bas_modify_struct' => true,
|
||||
]);
|
||||
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_sbas([$databox->get_sbas_id()]);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_sbas($databox->get_sbas_id(), $rights);
|
||||
break;
|
||||
}
|
||||
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right('bas_modify_struct'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right('bas_modif_th'));
|
||||
$this->assertTrue(self::$object->has_right('bas_modify_struct'));
|
||||
$this->assertFalse(self::$object->has_right('bas_modif_th'));
|
||||
}
|
||||
|
||||
public function testHas_right_on_sbas()
|
||||
public function testHasRightOnSbas()
|
||||
{
|
||||
|
||||
$rights_false = [
|
||||
'bas_modify_struct' => false
|
||||
, 'bas_manage' => false
|
||||
, 'bas_chupub' => false
|
||||
, 'bas_modif_th' => false
|
||||
'bas_modify_struct' => false,
|
||||
'bas_manage' => false,
|
||||
'bas_chupub' => false,
|
||||
'bas_modif_th' => false,
|
||||
];
|
||||
|
||||
$rights_true = [
|
||||
'bas_modify_struct' => true
|
||||
, 'bas_manage' => true
|
||||
, 'bas_chupub' => true
|
||||
, 'bas_modif_th' => true
|
||||
'bas_modify_struct' => true,
|
||||
'bas_manage' => true,
|
||||
'bas_chupub' => true,
|
||||
'bas_modif_th' => true,
|
||||
];
|
||||
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_sbas([$databox->get_sbas_id()]);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_sbas($databox->get_sbas_id(), $rights_false);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_modify_struct'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_manage'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_chupub'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_modif_th'));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_sbas($databox->get_sbas_id(), $rights_true);
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_modify_struct'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_manage'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_chupub'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_modif_th'));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_sbas($databox->get_sbas_id(), $rights_false);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_modify_struct'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_manage'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_chupub'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_right_on_sbas($databox->get_sbas_id(), 'bas_modif_th'));
|
||||
self::$object->give_access_to_sbas([$databox->get_sbas_id()]);
|
||||
self::$object->update_rights_to_sbas($databox->get_sbas_id(), $rights_false);
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_modify_struct'));
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_manage'));
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_chupub'));
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_modif_th'));
|
||||
self::$object->update_rights_to_sbas($databox->get_sbas_id(), $rights_true);
|
||||
$this->assertTrue(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_modify_struct'));
|
||||
$this->assertTrue(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_manage'));
|
||||
$this->assertTrue(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_chupub'));
|
||||
$this->assertTrue(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_modif_th'));
|
||||
self::$object->update_rights_to_sbas($databox->get_sbas_id(), $rights_false);
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_modify_struct'));
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_manage'));
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_chupub'));
|
||||
$this->assertFalse(self::$object->has_right_on_sbas($databox->get_sbas_id(), 'bas_modif_th'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -464,15 +382,15 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_and($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['mask_and' => 42]);
|
||||
$this->assertEquals('42', self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_and($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['mask_and' => 1]);
|
||||
$this->assertEquals('1', self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_and($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['mask_and' => 0]);
|
||||
$this->assertEquals('0', self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_and($base_id));
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
self::$object->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertFalse(self::$object->get_mask_and($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['mask_and' => 42]);
|
||||
$this->assertEquals('42', self::$object->get_mask_and($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['mask_and' => 1]);
|
||||
$this->assertEquals('1', self::$object->get_mask_and($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['mask_and' => 0]);
|
||||
$this->assertEquals('0', self::$object->get_mask_and($base_id));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -483,16 +401,16 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base([$base_id]);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_xor($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['actif' => true]);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['mask_xor' => 42]);
|
||||
$this->assertEquals('42', self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_xor($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['mask_xor' => 1]);
|
||||
$this->assertEquals('1', self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_xor($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['mask_xor' => 0]);
|
||||
$this->assertEquals('0', self::$DI['app']['acl']->get(self::$DI['user'])->get_mask_xor($base_id));
|
||||
self::$object->give_access_to_base([$base_id]);
|
||||
self::$object->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertFalse(self::$object->get_mask_xor($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['actif' => true]);
|
||||
self::$object->update_rights_to_base($base_id, ['mask_xor' => 42]);
|
||||
$this->assertEquals('42', self::$object->get_mask_xor($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['mask_xor' => 1]);
|
||||
$this->assertEquals('1', self::$object->get_mask_xor($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['mask_xor' => 0]);
|
||||
$this->assertEquals('0', self::$object->get_mask_xor($base_id));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -506,14 +424,14 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$base_ids[] = $collection->get_base_id();
|
||||
$n ++;
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_sbas([$databox->get_sbas_id()]);
|
||||
self::$object->give_access_to_sbas([$databox->get_sbas_id()]);
|
||||
}
|
||||
|
||||
if ($n === 0)
|
||||
$this->fail('Not enough collection to test');
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base($base_ids);
|
||||
$bases = array_keys(self::$DI['app']['acl']->get(self::$DI['user'])->get_granted_base());
|
||||
self::$object->give_access_to_base($base_ids);
|
||||
$bases = array_keys(self::$object->get_granted_base());
|
||||
|
||||
$this->assertEquals(count($base_ids), count($bases));
|
||||
|
||||
@@ -525,35 +443,34 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$this->assertEquals(1, $row['actif']);
|
||||
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertTrue(self::$object->has_access_to_base($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['actif' => false]);
|
||||
|
||||
$stmt->execute([':usr_id' => self::$DI['app']['authentication']->getUser()->getId(), ':base_id' => $base_id]);
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$this->assertEquals(0, $row['actif']);
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['actif' => true]);
|
||||
$this->assertFalse(self::$object->has_access_to_base($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['actif' => true]);
|
||||
|
||||
$stmt->execute([':usr_id' => self::$DI['app']['authentication']->getUser()->getId(), ':base_id' => $base_id]);
|
||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||
$this->assertEquals(1, $row['actif']);
|
||||
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
$this->assertTrue(self::$object->has_access_to_base($base_id));
|
||||
self::$object->update_rights_to_base($base_id, ['actif' => false]);
|
||||
$this->assertFalse(self::$object->has_access_to_base($base_id));
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base($base_ids);
|
||||
self::$object->give_access_to_base($base_ids);
|
||||
|
||||
foreach ($bases as $base_id) {
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id));
|
||||
$this->assertTrue(self::$object->has_access_to_base($base_id));
|
||||
}
|
||||
$stmt->closeCursor();
|
||||
}
|
||||
|
||||
public function testGet_granted_base()
|
||||
{
|
||||
|
||||
$base_ids = [];
|
||||
$n = 0;
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
@@ -566,8 +483,8 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
if ($n === 0)
|
||||
$this->fail('Not enough collection to test');
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_base($base_ids);
|
||||
$bases = array_keys(self::$DI['app']['acl']->get(self::$DI['user'])->get_granted_base());
|
||||
self::$object->give_access_to_base($base_ids);
|
||||
$bases = array_keys(self::$object->get_granted_base());
|
||||
|
||||
$this->assertEquals(count($bases), count($base_ids));
|
||||
$this->assertEquals($n, count($base_ids));
|
||||
@@ -592,9 +509,9 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
$sbas_ids[] = $databox->get_sbas_id();
|
||||
$n ++;
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->give_access_to_sbas($sbas_ids);
|
||||
self::$object->give_access_to_sbas($sbas_ids);
|
||||
|
||||
$sbas = self::$DI['app']['acl']->get(self::$DI['user'])->get_granted_sbas();
|
||||
$sbas = self::$object->get_granted_sbas();
|
||||
|
||||
$this->assertEquals(count($sbas), count($sbas_ids));
|
||||
$this->assertEquals($n, count($sbas_ids));
|
||||
@@ -612,64 +529,63 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
|
||||
public function testHas_access_to_module()
|
||||
{
|
||||
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
$base_ids = [];
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_access_from_bases($base_ids);
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->revoke_unused_sbas_rights();
|
||||
self::$object->revoke_access_from_bases($base_ids);
|
||||
self::$object->revoke_unused_sbas_rights();
|
||||
}
|
||||
|
||||
if (self::$DI['app']['acl']->get(self::$DI['user'])->is_admin())
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('admin'));
|
||||
if (self::$object->is_admin())
|
||||
$this->assertTrue(self::$object->has_access_to_module('admin'));
|
||||
else
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('admin'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('thesaurus'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('upload'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('report'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('admin'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('thesaurus'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('upload'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('report'));
|
||||
|
||||
$found = false;
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$base_ids[] = $base_id;
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['canreport' => true]);
|
||||
self::$object->update_rights_to_base($base_id, ['canreport' => true]);
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
if ($found)
|
||||
break;
|
||||
}
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('report'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('thesaurus'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('upload'));
|
||||
$this->assertTrue(self::$object->has_access_to_module('report'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('thesaurus'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('upload'));
|
||||
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_sbas($databox->get_sbas_id(), ['bas_modif_th' => true]);
|
||||
self::$object->update_rights_to_sbas($databox->get_sbas_id(), ['bas_modif_th' => true]);
|
||||
$found = true;
|
||||
}
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('report'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('thesaurus'));
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('upload'));
|
||||
$this->assertTrue(self::$object->has_access_to_module('report'));
|
||||
$this->assertTrue(self::$object->has_access_to_module('thesaurus'));
|
||||
$this->assertFalse(self::$object->has_access_to_module('upload'));
|
||||
|
||||
$found = false;
|
||||
foreach (self::$DI['app']['phraseanet.appbox']->get_databoxes() as $databox) {
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
$base_ids[] = $base_id;
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->update_rights_to_base($base_id, ['canaddrecord' => true]);
|
||||
self::$object->update_rights_to_base($base_id, ['canaddrecord' => true]);
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
if ($found)
|
||||
break;
|
||||
}
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('report'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('thesaurus'));
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_module('upload'));
|
||||
$this->assertTrue(self::$object->has_access_to_module('report'));
|
||||
$this->assertTrue(self::$object->has_access_to_module('thesaurus'));
|
||||
$this->assertTrue(self::$object->has_access_to_module('upload'));
|
||||
}
|
||||
|
||||
public function testis_limited()
|
||||
@@ -681,35 +597,22 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
|
||||
if ( ! self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id))
|
||||
if ( ! self::$object->has_access_to_base($base_id))
|
||||
continue;
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, true, new DateTime('-1 day'), new DateTime('+1 day'));
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, false, new DateTime('-1 day'), new DateTime('+1 day'));
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, true, new DateTime('+1 day'), new DateTime('+2 day'));
|
||||
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, true, new DateTime('-2 day'), new DateTime('-1 day'));
|
||||
|
||||
$this->assertTrue(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, true, new DateTime('-2 day'), new DateTime('+2 day'));
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, false, new DateTime('-2 day'), new DateTime('+2 day'));
|
||||
|
||||
$this->assertFalse(self::$DI['app']['acl']->get(self::$DI['user'])->is_limited($base_id));
|
||||
|
||||
$this->assertFalse(self::$object->is_limited($base_id));
|
||||
self::$object->set_limits($base_id, true, new DateTime('-1 day'), new DateTime('+1 day'));
|
||||
$this->assertFalse(self::$object->is_limited($base_id));
|
||||
self::$object->set_limits($base_id, false, new DateTime('-1 day'), new DateTime('+1 day'));
|
||||
$this->assertFalse(self::$object->is_limited($base_id));
|
||||
self::$object->set_limits($base_id, true, new DateTime('+1 day'), new DateTime('+2 day'));
|
||||
$this->assertTrue(self::$object->is_limited($base_id));
|
||||
self::$object->set_limits($base_id, true, new DateTime('-2 day'), new DateTime('-1 day'));
|
||||
$this->assertTrue(self::$object->is_limited($base_id));
|
||||
self::$object->set_limits($base_id, true, new DateTime('-2 day'), new DateTime('+2 day'));
|
||||
$this->assertFalse(self::$object->is_limited($base_id));
|
||||
self::$object->set_limits($base_id, false, new DateTime('-2 day'), new DateTime('+2 day'));
|
||||
$this->assertFalse(self::$object->is_limited($base_id));
|
||||
$found = true;
|
||||
}
|
||||
}
|
||||
@@ -727,37 +630,23 @@ class ACLTest extends \PhraseanetAuthenticatedTestCase
|
||||
foreach ($databox->get_collections() as $collection) {
|
||||
$base_id = $collection->get_base_id();
|
||||
|
||||
if ( ! self::$DI['app']['acl']->get(self::$DI['user'])->has_access_to_base($base_id))
|
||||
if ( ! self::$object->has_access_to_base($base_id))
|
||||
continue;
|
||||
|
||||
$minusone = new DateTime('-1 day');
|
||||
|
||||
$plusone = new DateTime('+1 day');
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, true, $minusone, $plusone);
|
||||
|
||||
$limits = self::$DI['app']['acl']->get(self::$DI['user'])->get_limits($base_id);
|
||||
|
||||
self::$object->set_limits($base_id, true, $minusone, $plusone);
|
||||
$limits = self::$object->get_limits($base_id);
|
||||
$this->assertEquals($limits['dmin'], $minusone);
|
||||
|
||||
$this->assertEquals($limits['dmax'], $plusone);
|
||||
|
||||
$minustwo = new DateTime('-2 day');
|
||||
|
||||
$plustwo = new DateTime('-2 day');
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, true, $minustwo, $plustwo);
|
||||
|
||||
$limits = self::$DI['app']['acl']->get(self::$DI['user'])->get_limits($base_id);
|
||||
|
||||
self::$object->set_limits($base_id, true, $minustwo, $plustwo);
|
||||
$limits = self::$object->get_limits($base_id);
|
||||
$this->assertEquals($limits['dmin'], $minustwo);
|
||||
|
||||
$this->assertEquals($limits['dmax'], $plustwo);
|
||||
|
||||
self::$DI['app']['acl']->get(self::$DI['user'])->set_limits($base_id, false);
|
||||
|
||||
$this->assertNull(self::$DI['app']['acl']->get(self::$DI['user'])->get_limits($base_id));
|
||||
|
||||
self::$object->set_limits($base_id, false);
|
||||
$this->assertNull(self::$object->get_limits($base_id));
|
||||
$found = true;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user