def test_run_transmogrifier(self): """ SUBSCRIPTION (DAEMON): Test the transmogrifier and the split_rule mode """ rse1, _ = self.rse_factory.make_mock_rse() rse2, _ = self.rse_factory.make_mock_rse() rse3, _ = self.rse_factory.make_mock_rse() rse_expression = '%s|%s|%s' % (rse1, rse2, rse3) tmp_scope = InternalScope('mock_' + uuid()[:8], **self.vo) root = InternalAccount('root', **self.vo) add_scope(tmp_scope, root) subscription_name = uuid() dsn = 'dataset-%s' % uuid() add_did(scope=tmp_scope, name=dsn, did_type=DIDType.DATASET, account=root) subid = self.sub_client.add_subscription(name=subscription_name, account='root', filter_={ 'scope': [ tmp_scope.external, ], 'pattern': 'dataset-.*', 'split_rule': True }, replication_rules=[{ 'lifetime': 86400, 'rse_expression': rse_expression, 'copies': 2, 'activity': 'Data Brokering' }], lifetime=None, retroactive=0, dry_run=0, comments='Ni ! Ni!', priority=1) run(threads=1, bulk=1000000, once=True) rules = [ rule for rule in self.did_client.list_did_rules( scope=tmp_scope.external, name=dsn) if str(rule['subscription_id']) == str(subid) ] assert len(rules) == 2 set_new_dids([ { 'scope': tmp_scope, 'name': dsn }, ], 1) run(threads=1, bulk=1000000, once=True) rules = [ rule for rule in self.did_client.list_did_rules( scope=tmp_scope.external, name=dsn) if str(rule['subscription_id']) == str(subid) ] assert len(rules) == 2
def test_run_transmogrifier(self): """ SUBSCRIPTION (DAEMON): Test the transmogrifier and the split_rule mode """ tmp_scope = 'mock_' + uuid()[:8] add_scope(tmp_scope, 'root') subscription_name = uuid() dsn = 'dataset-%s' % uuid() add_did(scope=tmp_scope, name=dsn, type=DIDType.DATASET, account='root') subid = self.sub_client.add_subscription(name=subscription_name, account='root', filter={ 'scope': [ tmp_scope, ], 'pattern': 'dataset-.*', 'split_rule': True }, replication_rules=[{ 'lifetime': 86400, 'rse_expression': 'MOCK-POSIX|MOCK2|MOCK3', 'copies': 2, 'activity': 'Data Brokering' }], lifetime=None, retroactive=0, dry_run=0, comments='Ni ! Ni!', priority=1) run(threads=1, bulk=1000000, once=True) rules = [ rule for rule in self.did_client.list_did_rules(scope=tmp_scope, name=dsn) if str(rule['subscription_id']) == str(subid) ] assert_equal(len(rules), 2) set_new_dids([ { 'scope': tmp_scope, 'name': dsn }, ], 1) run(threads=1, bulk=1000000, once=True) rules = [ rule for rule in self.did_client.list_did_rules(scope=tmp_scope, name=dsn) if str(rule['subscription_id']) == str(subid) ] assert_equal(len(rules), 2)
def set_new_dids(dids, new_flag=True): """ Set/reset the flag new :param scope: The scope name. :param name: The data identifier name. :param new_flag: A boolean to flag new DIDs. """ return did.set_new_dids(dids, new_flag)
def set_new_dids(dids, new_flag=True): """ Set/reset the flag new :param scope: The scope name. :param name: The data identifier name. :param new_flag: A boolean to flag new DIDs. """ return did.set_new_dids(dids, new_flag)
def set_new_dids(dids, new_flag=True): """ Set/reset the flag new :param scope: The scope name. :param name: The data identifier name. :param new_flag: A boolean to flag new DIDs. """ for d in dids: d['scope'] = InternalScope(d['scope']) return did.set_new_dids(dids, new_flag)
def set_new_dids(dids, new_flag=True, vo='def', session=None): """ Set/reset the flag new :param scope: The scope name. :param name: The data identifier name. :param new_flag: A boolean to flag new DIDs. :param vo: The VO to act on. :param session: The database session in use. """ for d in dids: d['scope'] = InternalScope(d['scope'], vo=vo) return did.set_new_dids(dids, new_flag, session=session)