Exemple #1
0
def update_action(action, form, my_name):
    action = rename_action(action, form)
    wflow_step = getattr(form, action)

    saved_form = form_handler.save_form(form,
                                        my_name + ": " + action + " updated")
    return saved_form
Exemple #2
0
def test_form_completion():
    ## reads form json file and returns hierachical form object
    global sf
    
    workflow_form = utils.load_workflow_form(FORM_JSON)
    submission = workflow_form.sub
    
    submission.activity.start_time = now()
    submission.activity.status = "2:action-required" 
    submission.activity.error_status = "1:ok"
   
    sf = form_handler.save_form(workflow_form, "test: formcompletion()") 
    
    assert sf.sub.entity_out.status == '1:stored'
    assert sf.sub.activity.status == '2:action-required'
Exemple #3
0
def test_generate_submission_form():
    ## takes myconfig from .dkrz_forms if existing !! 
    global sf
    global init_form               
    sf = form_handler.generate_submission_form(init_form)
    # .. to do .. make some changes to sf ..
    sf = form_handler.save_form(sf,"test_generate_submission")
    assert sf.sub.activity.status =="1:in-progress"
    #assert sf.form_dir == form_repo
    assert sf.sub.agent.last_name == "testsuite"
    # assert sf.sub.activity. ..  --> to do 
    files = os.listdir(form_repo)
    
    assert sf.sub.entity_out.form_name+".ipynb" in files
    assert sf.sub.entity_out.form_name+".json" in files
Exemple #4
0
def finish_action(action, form, my_name, report):
    action = rename_action(action, form)
    wflow_step = getattr(form, action)

    wflow_step.activity.status = "4:closed"
    wflow_step.activity.error_status = "1:ok"
    wflow_step.entity_out.status = "1:stored"
    wflow_step.entity_out.check_status = "3:ok"
    wflow_step.entity_out.report = report

    wflow_step.activity.end_time = str(datetime.now())
    wflow_step.activity.timestamp = str(datetime.now())

    saved_form = form_handler.save_form(form,
                                        my_name + ": " + action + " finished")
    return saved_form
Exemple #5
0
def test_data_quality_assurance():
    
    global sf
    
    workflow_form = utils.load_workflow_form(FORM_JSON)
    test_report = {
    "QA_conclusion": "PASS",
    "project": "CORDEX",
    "model": "KNMI-RACMO22E",
    "domain": "EUR-11",
    "driving_experiment": [ "ICHEC-EC-EARTH" ],
    "experiment": [ "historical" ],
    "ensemble_member": [ "r12i1p1" ],
    "annotation":
    [
        {
            "scope": [ "mon", "sem" ],
            "variable": [ "sfcWindmax", "sund", "tasmax", "tasmin" ],
            "caption": "Attribute <cell_methods> entails <time>:climatology instead of <time>:time_bnds",
            "comment": "Here, data of variable climatology is equivalent to time_bnds",
            "severity": "note"
        }
    ]
    }
    
    qua = workflow_form.qua
    qua.activity.status = "1:in-progress"
    qua.agent.responsible_person = "hdh"
    qua.activity.comment =  "on lizzard "

    qua.activity.qua_tool_version = "dkrz_qa_v09"
    qua.activity.start_time = now()
    qua.entity_out.report = test_report
    qua.activity.status = "2:action-required"
    qua.activity.status = "4:closed"
    qua.activity.error_status = "1:ok"
    qua.activity.ticket_id = "1:testticket"
    qua.entity_out.check_status = "3:ok"
    qua.entity_out.status = "1:stored"
    qua.entity_out.date = now()

    
    workflow_form.pub.entity_in = qua.entity_out
    sf = form_handler.save_form(workflow_form, "test: quality_assurance()")
   
    assert sf.qua.activity.status == "4:closed" 
Exemple #6
0
def start_action(action, form, my_name):

    action = rename_action(action, form)
    wflow_step = getattr(form, action)

    # set status messages:
    form.status = action
    wflow_step.activity.status = "1:in-progress"
    wflow_step.activity.error_status = "0:open"
    wflow_step.entity_out.status = "1:stored"
    wflow_step.entity_out.check_status = "0:open"

    # set start information:
    wflow_step.agent.responsible_person = my_name
    wflow_step.activity.start_time = str(datetime.now())

    # store_info

    saved_form = form_handler.save_form(form,
                                        my_name + ": " + action + " started")
    return saved_form
Exemple #7
0
def test_form_submission():    
    global sf
    workflow_form = utils.load_workflow_form(FORM_JSON)
    submission = workflow_form.sub
    
    #to do: fix submission test
    submission.entity_out.submission_json  = "tst.json"
    submission.entity_out.submission_form = "tst.ipynb"
    submission.entity_out.submission_repo = "."

    submission.activity.ticket_id = 22949
    submission.activity.ticket_url = "https://dm-rt.dkrz.de/Ticket/Display.html?id="
    submission.entity_out.check_status = "3:ok"
    submission.entity_out.status = "1:stored"
    submission.entity_out.checks_done = "consistency with templates"
    submission.activity.method = "form_based"
    
    workflow_form.rev.entity_in = submission.entity_out
    sf = form_handler.save_form(workflow_form, "test: form_submission")
    
    assert sf.sub.activity.ticket_id == 22949
Exemple #8
0
def test_form_review():
    global sf
    workflow_form = utils.load_workflow_form(FORM_JSON)
   
    review = workflow_form.rev
    review.activity.ticket_url="https://dm-rt.dkrz.de/Ticket/Display.html?"
    
    review.agent.responsible_person = "dkrz data manager name"
    
    review.activity.status = "1:in-progress"
    review.activity.status = "4:closed"
    review.activity.error_status = "1:ok"
    review.activity.start_time = now()
    review.activity.ticket_id = "1:testticket"
    review.entity_out.check_status = "3:ok"
    review.entity_out.status = "1:stored"
    review.entity_out.date = now()
    
    workflow_form.ing.entity_in = review.entity_out 
    sf = form_handler.save_form(workflow_form, "test: form_review()")
    
    assert sf.rev.activity.status  == "4:closed"
Exemple #9
0
def test_data_publication():
    global sf
    workflow_form = utils.load_workflow_form(FORM_JSON)
    
    publication = workflow_form.pub    
    
    publication.activity.status = "1_in-progress"
    publication.activity.start_time = now()
    publication.agent.responsible_person = "berger"
    publication.agent.trigger="other"
    publication.activity.timestamp = "2016-05-20 18:34:28.934536"
    publication.entity_out.date = "2016-05-20"
    publication.entity_out.report = "....report on publication...."
    publication.entity_out.search_string = " ... "
    publication.activity.status = "4:closed"
    publication.activity.error_status = "1:ok"
    publication.entity_out.check_status = "3:ok"
    publication.entity_out.status = "1:stored"
    publication.activity.ticket_id = "1:testticket"
    
   # workflow_form.lta ...
    sf = form_handler.save_form(workflow_form, "test: publication()")
    
    assert sf.pub.activity.status == "4:closed" 
Exemple #10
0
def test_data_ingest():
    global sf
    workflow_form = utils.load_workflow_form(FORM_JSON)
    
    ingest = workflow_form.ing
    ingest.activity.status = "1:in-progress"
    ingest.agent.responsible_person = "lenzen"
    ingest.activity.comment = " copying data from ... to ... using ... "
    ingest.entity_out.report.data_target_directory = "/work/kd0956/cmip5/ingest/cmip5/mpi-m/test"
    ingest.entity_out.report.data_file_pattern = "cmip5"
    ingest.activity.status = "2:action-required"
    ingest.activity.status = "4:closed"
    ingest.activity.error_status = "1:ok"
    ingest.activity.ticket_id = "1:testticket"
    ingest.entity_out.check_status = "3:ok"
    ingest.entity_out.status = "1:stored"
    ingest.activity.start_time = now()
    ingest.entity_out.date = now()
    ingest.entity_out.status = "1:stored"
    
    workflow_form.qua.entity_in = ingest.entity_out
    sf = form_handler.save_form(workflow_form,"test: data_ingest()")
    
    assert sf.ing.activity.status == "4:closed"