Exemplo n.º 1
0
    def __init__(self, master=None, controller_mailbox=None):
        self.master = master if master else Master.get_master(mailbox=controller_mailbox)
        self.controller_mailbox = controller_mailbox
        self.config_handler = ConfigHandler()
        initialize_storage_db()
        check_tool_availability()
        self.access_handler = AccessHandler()
        acl_parser = ACLConfigHandler()

        #database access authorization
        self.table_to_class = dict(workspaces=Workspaces, storages=Storage)
        self.cls_to_identifier_method = { Workspaces: Workspaces.get_by_full_name,
                                          Storage: Storage.get_storage_by_name}
        self.cls_to_acl = {Workspaces: acl_parser.get_workspaces_setter_acl,
                           Storage: acl_parser.get_storages_setter_acl}
Exemplo n.º 2
0
def test_cancel_job():
    try:
        johann = User.get_user_by_username('johann')
    except UserNotFoundException:
        johann = User('johann', 'jtoken')
    job = Job('dmd_home', 'dmd1', 'home/centos/testdata/johann-directory-1', [False, False, False], johann)
    job_id = job.id
    master = Master.get_master()
    master.add_to_queue(job)
    master.cancel_job(job)

    worker = master.get_workers()[0]

    assert worker.name == 'worker1'
    assert worker.status.name == 'WAITING'
    assert Job.get_job_by_id(job_id).status.name == 'CANCELED'
Exemplo n.º 3
0
def test_success_job(env):
    try:
        johann = User.get_user_by_username('johann')
    except UserNotFoundException:
        johann = User('johann', 'jtoken')
    job = Job(source_alias = 'dmd_home', target_alias = 'archive1', 
              source_relative_path = 'export/master_data/tests/johann-directory-1', 
              notification = [False, False, False], user = johann)
    job_id = job.id
    master = Master.get_master()
    worker = master.get_workers()[0]
    assert worker.name == 'worker1'
    assert worker.status.name == 'WAITING'
    master.add_to_queue(job)
    time.sleep(5)
    while (worker.status.name == 'ACTIVE'):
        #wait for worker to finish
        time.sleep(5)
    assert worker.status.name == 'WAITING'
    assert Job.get_job_by_id(job_id).status.name == 'DONE'
    #make sure the file was actually copied
    assert os.path.exists("/export/archive1/1-johann-directory.tar")
Exemplo n.º 4
0
def test_constructor():
    master = Master.get_master()
    assert (type(master) is Master)

    master2 = Master.get_master()
    assert (master == master2)