def test_create_sharing_fileset(self, mock_gpfs): test_vo_id = "gvo03442" mc = mock.MagicMock() mc.vo = mock.MagicMock() v = mock.MagicMock() mc.vo[test_vo_id].get.return_value = v with mock.patch('vsc.administration.vo.mkVscAccount') as mock_mkvscaccount: mock_mkvscaccount.side_effect = IndexError("Nope") s = config.VscStorage() mock_gpfs.get_fileset_info.return_value = False mock_gpfs.make_dir.return_value = None mock_gpfs.make_fileset.return_value = None test_vo = vo.VscTier2AccountpageVo(test_vo_id, storage=s, rest_client=mc) for storage_name in (VSC_DATA_SHARED,): with mock.patch("vsc.administration.vo.VscTier2AccountpageVo.data_sharing", new_callable=mock.PropertyMock) as mock_data_sharing: with mock.patch("vsc.administration.vo.VscTier2AccountpageVo.sharing_group", new_callable=mock.PropertyMock) as mock_sharing_group: mock_data_sharing.return_value = True mock_sharing_group.return_value = VscAutogroup( vsc_id=test_vo_id.replace('gvo', 'gvos'), status='active', vsc_id_number=123456, institute='Gent', members=['vsc40075'], description="test autogroup" ) test_vo.create_data_shared_fileset()
def test_process_user_quota_no_store(self, mock_django_pusher): storage_name = VSC_DATA item = 'vsc40075' filesystem = 'kyukondata' quota = QuotaUser(storage_name, filesystem, item) quota.update('vsc400', used=1230, soft=456, hard=789, doubt=0, expired=(False, None), timestamp=None) quota.update('gvo00002', used=1230, soft=456, hard=789, doubt=0, expired=(False, None), timestamp=None) storage = config.VscStorage() client = mock.MagicMock() quota_map = { '2540075': quota, '2510042': None, # should be skipped } user_map = { 2540075: 'vsc40075', 2510042: 'vsc10042', } tools.process_user_quota( storage, None, storage_name, None, quota_map, user_map, client, dry_run=False, institute=GENT ) self.assertEqual(mock_django_pusher.call_count, 2) mock_django_pusher.assert_has_calls( [mock.call('vsc40075', fileset, quota.quota_map[fileset]) for fileset in ['gvo00002', 'vsc400']], any_order=True, )
def test_init_quota(self): tests = [(test_account_1, test_quota_1, GENT, 'vsc400'), (test_account_3, test_quota_2, BRUSSEL, 'vsc100')] for account, quota, site, fileset in tests: mock_client = mock.MagicMock() test_account = mkVscAccount(account) mock_client.account[test_account.vsc_id].quota.get.return_value = ( 200, quota) accountpageuser = user.VscTier2AccountpageUser( test_account.vsc_id, storage=config.VscStorage(), rest_client=mock_client, account=test_account, host_institute=site) self.assertEqual(accountpageuser.user_home_quota, [ q['hard'] for q in quota if q['storage']['name'] == 'VSC_HOME' and q['fileset'] == fileset ][0]) self.assertEqual(accountpageuser.user_data_quota, [ q['hard'] for q in quota if q['storage']['name'] == 'VSC_DATA' and q['fileset'] == fileset ][0])
def set_up_accountpageuser(account, quota, site): mock_client = mock.MagicMock() test_account = mkVscAccount(account) mock_client.account[test_account.vsc_id].quota.get.return_value = ( 200, quota) return user.VscTier2AccountpageUser(test_account.vsc_id, storage=config.VscStorage(), rest_client=mock_client, account=test_account, host_institute=site)
def test_create_scratch_dir_tier2_user(self, mock_client, mock_gpfsoperations): test_accounts = [(test_account_1, GENT), (test_account_3, BRUSSEL)] for account, site in test_accounts: test_account = mkVscAccount(account) accountpageuser = user.VscTier2AccountpageUser( test_account.vsc_id, storage=config.VscStorage(), rest_client=mock_client, account=test_account, host_institute=site) accountpageuser.create_scratch_dir(VSC_PRODUCTION_SCRATCH[site][0])