public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     ZurmoDatabaseCompatibilityUtil::dropStoredFunctionsAndProcedures();
     SecurityTestHelper::createSuperAdmin();
     Yii::app()->user->userModel = User::getByUsername('super');
     SecurityTestHelper::createUsers();
     SecurityTestHelper::createGroups();
     SecurityTestHelper::createAccounts();
 }
示例#2
0
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     SecurityTestHelper::createSuperAdmin();
     Yii::app()->user->userModel = User::getByUsername('super');
     SecurityTestHelper::createUsers();
     SecurityTestHelper::createGroups();
     SecurityTestHelper::createAccounts();
     SecurityTestHelper::createRoles();
     $everyone = Group::getByName('Everyone');
     $saved = $everyone->save();
     assert('$saved');
     // Not Coding Standard
     ReadPermissionsOptimizationUtil::rebuild();
 }
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     SecurityTestHelper::createSuperAdmin();
     Yii::app()->user->userModel = User::getByUsername('super');
     SecurityTestHelper::createUsers();
     SecurityTestHelper::createGroups();
     SecurityTestHelper::createAccounts();
     SecurityTestHelper::createRoles();
     $everyone = Group::getByName('Everyone');
     $saved = $everyone->save();
     assert('$saved');
     // Not Coding Standard
     //Add contacts to help test that the rebuild is working correctly
     $contact = ContactTestHelper::createContactByNameForOwner('jason', Yii::app()->user->userModel);
     $contact->addPermissions(User::getByUsername('betty'), Permission::READ);
     $contact->addPermissions(Group::getByName('Support Staff'), Permission::READ);
     $saved = $contact->save();
     assert('$saved');
     // Not Coding Standard
     ReadPermissionsOptimizationUtil::rebuild();
     assert('self::getAccountMungeRowCount() == 0');
     // Not Coding Standard
 }
 public function testSecurityExceptionThrownDuringExport()
 {
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     SecurityTestHelper::createAccounts();
     $billy = User::getByUsername('billy');
     Yii::app()->user->userModel = $billy;
     AllPermissionsOptimizationUtil::rebuild();
     $numberOfUserNotifications = Notification::getCountByTypeAndUser('ExportProcessCompleted', $billy);
     $account = new Account(false);
     $searchForm = new AccountsSearchForm($account);
     $dataProvider = ExportTestHelper::makeRedBeanDataProvider($searchForm, 'Account', 0, $billy->id);
     $totalItems = $dataProvider->getTotalItemCount();
     $this->assertEquals(3, $totalItems);
     $exportItem = new ExportItem();
     $exportItem->isCompleted = 0;
     $exportItem->exportFileType = 'csv';
     $exportItem->exportFileName = 'test7';
     $exportItem->modelClassName = 'Account';
     $exportItem->serializedData = serialize($dataProvider);
     $exportItem->owner = $billy;
     $this->assertTrue($exportItem->save());
     $id = $exportItem->id;
     $exportItem->forget();
     unset($exportItem);
     //Delete queued jobs from test exportItems created above
     Yii::app()->jobQueue->deleteAll();
     $accounts = Account::getByName('Microsoft');
     $account = $accounts[0];
     $account->owner = $super;
     $this->assertTrue($account->save());
     $job = new ExportJob();
     //ReadPermissionSubscriptionUpdate should get added to jobQueue
     $this->assertEquals(0, count(Yii::app()->jobQueue->getAll()));
     $this->assertTrue($job->run());
     $this->assertEquals(0, count(Yii::app()->jobQueue->getAll()));
     $exportItem = ExportItem::getById($id);
     $fileModel = $exportItem->exportFileModel;
     $this->assertEquals(1, $exportItem->isCompleted);
     $this->assertEquals('csv', $exportItem->exportFileType);
     $this->assertEquals('test7', $exportItem->exportFileName);
     $this->assertTrue($fileModel instanceof ExportFileModel);
     $data = array();
     $rows = $dataProvider->getData();
     $modelToExportAdapter = new ModelToExportAdapter($rows[0]);
     $headerData = $modelToExportAdapter->getHeaderData();
     foreach ($rows as $model) {
         //billy lost access to Microsoft account
         if ($model->id != $account->id) {
             $modelToExportAdapter = new ModelToExportAdapter($model);
             $data[] = $modelToExportAdapter->getData();
         }
     }
     $output = ExportItemToCsvFileUtil::export($data, $headerData, 'test7.csv', false);
     $this->assertEquals($output, $fileModel->fileContent->content);
 }