Example #1
0
    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()
Example #2
0
    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,
        )
Example #3
0
    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])
Example #4
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)
Example #5
0
    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])