Exemplo n.º 1
0
def test_responderProcessing_update_businessFunction(
        host, port, prepared_cpid, prepare_data, prepared_owner,
        execute_insert_into_access_tender, prepared_token_entity,
        payload_responderProcessing, response,
        execute_select_access_tenders_by_cpid):
    cpid = prepared_cpid
    data = prepare_data(schema=schema_tender)
    data['ocid'] = cpid
    identifier = prepare_data(schema=schema_identifier)
    token = prepared_token_entity
    owner = prepared_owner
    business_function = prepare_data(schema=schema_businessFunction)
    data['tender']['procuringEntity']['persones'][0]['identifier'] = identifier
    data['tender']['procuringEntity']['persones'][0]['businessFunctions'][
        0] = business_function

    execute_insert_into_access_tender(cp_id=cpid,
                                      stage="EV",
                                      token_entity=token,
                                      created_date=datetime.now(),
                                      json_data=data,
                                      owner=owner)

    responder = prepare_data(schema=schema_responder)
    responder['identifier'] = identifier
    responder['businessFunctions'][0] = business_function
    business_function['type'] = "technicalOpener"
    business_function['jobTitle'] = "tat_4to-4to"
    business_function['period']['startDate'] = ocds_datetime()
    date = ocds_datetime()

    payload = payload_responderProcessing(cpid=cpid,
                                          responder=responder,
                                          date=date)
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.success['result'] = {
        "name": responder['name'],
        "identifier": {
            "id": responder['identifier']['id'],
            "scheme": responder['identifier']['scheme']
        }
    }

    assert actualresult == response.success

    record = execute_select_access_tenders_by_cpid(cp_id=cpid).one()
    assert record.created_date == ocds_date_to_datetime(date)
    json_data = json.loads(record.json_data)
    record_person = json_data['tender']['procuringEntity']['persones'][0]

    assert record_person['businessFunctions'][0] == business_function
Exemplo n.º 2
0
def test_responderProcessing_mismatch_with_one_of_enum_expected_values(
        port, host, param, response, prepared_cpid,
        payload_responderProcessing, prepare_data):
    responder = prepare_data(schema=schema_responder)
    responder['businessFunctions'][0]['type'] = param
    payload = payload_responderProcessing(cpid=prepared_cpid,
                                          responder=responder,
                                          date=ocds_datetime())

    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.error['result'] = [{
        "code":
        "DR-3/3",
        "description":
        "Attribute value mismatch with one of enum expected values. "
        "Expected values: 'chairman, procurementOfficer, contactPoint, "
        "technicalEvaluator, technicalOpener, priceOpener, priceEvaluator', "
        "actual value: '" + param + "'.",
        "details": [{
            "name": "businessFunction.type"
        }]
    }]

    assert actualresult == response.error
Exemplo n.º 3
0
def test_responderProcessing_add_new_documents_object(
        host, port, prepared_cpid, prepare_data, prepared_entity_id,
        execute_insert_into_access_tender, payload_responderProcessing,
        prepared_token_entity, prepared_owner, response,
        execute_select_access_tenders_by_cpid):
    cpid = prepared_cpid
    token = prepared_token_entity
    owner = prepared_owner
    data = prepare_data(schema=schema_tender)
    data['ocid'] = cpid
    identifier = prepare_data(schema=schema_identifier)
    business_function = prepare_data(schema=schema_businessFunction)
    document = prepare_data(schema=schema_document)
    data['tender']['procuringEntity']['persones'][0]['businessFunctions'][
        0] = business_function
    data_document = business_function['documents'][0]
    data['tender']['procuringEntity']['persones'][0]['identifier'] = identifier

    execute_insert_into_access_tender(cp_id=cpid,
                                      stage="EV",
                                      token_entity=token,
                                      created_date=datetime.now(),
                                      json_data=data,
                                      owner=owner)

    responder = prepare_data(schema=schema_responder)
    responder['identifier'] = identifier
    responder['businessFunctions'][0] = business_function
    responder['businessFunctions'][0]['documents'][0] = document
    responder_document = responder['businessFunctions'][0]['documents'][0]
    responder_document['id'] = str(prepared_entity_id())
    date = ocds_datetime()
    payload = payload_responderProcessing(cpid=cpid,
                                          responder=responder,
                                          date=date)
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.success['result'] = {
        "name": responder['name'],
        "identifier": {
            "id": responder['identifier']['id'],
            "scheme": responder['identifier']['scheme']
        }
    }

    assert actualresult == response.success

    record = execute_select_access_tenders_by_cpid(cp_id=cpid).one()

    assert record.created_date == ocds_date_to_datetime(date)

    json_data = json.loads(record.json_data)
    record_businessFunction = json_data['tender']['procuringEntity'][
        'persones'][0]['businessFunctions'][0]

    assert record_businessFunction['documents'] == [
        data_document, responder_document
    ]
Exemplo n.º 4
0
def test_responderProcessing_without_documents_description_if_persones_does_not_present_in_DB(
        host, port, prepared_cpid, prepare_data,
        execute_insert_into_access_tender, prepared_token_entity,
        prepared_owner, response, payload_responderProcessing,
        execute_select_access_tenders_by_cpid):
    cpid = prepared_cpid
    token = prepared_token_entity
    owner = prepared_owner
    identifier = prepare_data(schema=schema_identifier)
    data = prepare_data(schema=schema_tender)
    data['ocid'] = cpid
    business_function = prepare_data(schema=schema_businessFunction)
    data['tender']['procuringEntity']['persones'][0]['identifier'] = identifier
    data['tender']['procuringEntity']['persones'][0]['businessFunctions'][
        0] = business_function

    del business_function['documents']
    execute_insert_into_access_tender(cp_id=cpid,
                                      stage="EV",
                                      token_entity=token,
                                      created_date=datetime.now(),
                                      json_data=data,
                                      owner=owner)

    responder = prepare_data(schema=schema_responder)
    responder['identifier'] = identifier
    responder['businessFunctions'][0] = prepare_data(
        schema=schema_businessFunction)
    del responder['businessFunctions'][0]['documents'][0]['description']
    date = ocds_datetime()
    payload = payload_responderProcessing(cpid=cpid,
                                          responder=responder,
                                          date=date)
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.success['result'] = {
        "name": responder['name'],
        "identifier": {
            "id": responder['identifier']['id'],
            "scheme": responder['identifier']['scheme']
        }
    }

    assert actualresult == response.success

    record = execute_select_access_tenders_by_cpid(cp_id=cpid).one()

    assert record.created_date == ocds_date_to_datetime(date)
    json_data = json.loads(record.json_data)
    record_person = json_data['tender']['procuringEntity']['persones'][0]

    assert record_person == responder
def test_closeAwardPeriod_without_awardPeriod_in_db(
        port, host, payload_closeAwardPeriod,
        execute_insert_into_evaluation_period, prepared_cpid, response):
    end_date = ocds_datetime()
    execute_insert_into_evaluation_period(cp_id=prepared_cpid, stage='EV')
    payload = payload_closeAwardPeriod(cpid=prepared_cpid, endDate=end_date)
    actualresult = requests.post(f'{host}:{port.eEvaluation}/command2',
                                 json=payload).json()
    response.error['result'] = [{
        'code': 'VR-10.4.6.1/7',
        'description': 'Period not found.'
    }]
    assert actualresult == response.error
Exemplo n.º 6
0
def test_responderProcessing_return_the_created_responder_object_in_the_response(
        host, port, prepared_cpid, prepare_data, prepared_token_entity,
        execute_insert_into_access_tender, prepared_owner, response,
        payload_responderProcessing, execute_select_access_tenders_by_cpid):
    cpid = prepared_cpid
    token = prepared_token_entity
    owner = prepared_owner
    data = prepare_data(schema=schema_tender)
    data['ocid'] = cpid

    execute_insert_into_access_tender(cp_id=cpid,
                                      stage="EV",
                                      token_entity=token,
                                      created_date=datetime.now(),
                                      json_data=data,
                                      owner=owner)

    responder = prepare_data(schema=schema_responder)

    name = responder['name']
    identifier_id = responder['identifier']['id']
    identifier_scheme = responder['identifier']['scheme']
    date = ocds_datetime()
    payload = payload_responderProcessing(cpid=cpid,
                                          responder=responder,
                                          date=date)
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()

    response.success['result'] = {
        "name": responder['name'],
        "identifier": {
            "id": responder['identifier']['id'],
            "scheme": responder['identifier']['scheme']
        }
    }
    assert actualresult == response.success
    assert response.success['result']['name'] == name
    assert response.success['result']['identifier']['id'] == identifier_id
    assert response.success['result']['identifier'][
        'scheme'] == identifier_scheme

    record = execute_select_access_tenders_by_cpid(cp_id=cpid).one()

    assert record.created_date == ocds_date_to_datetime(date)
    json_data = json.loads(record.json_data)
    record_person = json_data['tender']['procuringEntity']['persones'][0]

    assert record_person == responder
Exemplo n.º 7
0
def test_responderProcessing_without_attribute_in_businessFunctions_period(
        port, host, response, prepare_data, payload_responderProcessing):
    responder = prepare_data(schema=schema_responder)
    del responder['businessFunctions'][0]['period']['startDate']
    payload = payload_responderProcessing(responder=responder,
                                          date=ocds_datetime())

    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.error['result'] = [{
        "code": "RQ-02/3",
        "description": "Can not parse 'params'."
    }]

    assert actualresult == response.error
Exemplo n.º 8
0
def test_responderProcessing_without_attribute_in_responder_identifier(
        port, host, param, response, prepare_data,
        payload_responderProcessing):
    responder = prepare_data(schema=schema_responder)
    del responder['identifier'][param]
    payload = payload_responderProcessing(responder=responder,
                                          date=ocds_datetime())

    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.error['result'] = [{
        "code": "RQ-02/3",
        "description": "Can not parse 'params'."
    }]

    assert actualresult == response.error
Exemplo n.º 9
0
def test_responderProcessing_incorrect_pattern_in_one_of_the_attributes_in_params(
        port, host, param, response, description, prepared_cpid, value,
        payload_responderProcessing, prepare_data):
    responder = prepare_data(schema=schema_responder)
    payload = payload_responderProcessing(responder=responder,
                                          date=ocds_datetime())
    payload['params'][param] = value
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.error['result'] = [{
        "code": "DR-5/3",
        "description": description,
        "details": [{
            "name": param
        }]
    }]

    assert actualresult == response.error
Exemplo n.º 10
0
def test_responderProcessing_new_persones_object(
        host, port, prepared_cpid, prepare_data, prepared_owner,
        execute_insert_into_access_tender, payload_responderProcessing,
        prepared_entity_id, prepared_token_entity, response,
        execute_select_access_tenders_by_cpid):
    cpid = prepared_cpid
    data = prepare_data(schema=schema_tender)
    data['ocid'] = cpid
    data_person = data['tender']['procuringEntity']['persones'][0]
    token = prepared_token_entity
    owner = prepared_owner
    execute_insert_into_access_tender(cp_id=cpid,
                                      stage="EV",
                                      token_entity=token,
                                      created_date=datetime.now(),
                                      json_data=data,
                                      owner=owner)

    responder = prepare_data(schema=schema_responder)
    responder['identifier']['id'] = str(prepared_entity_id())
    responder['identifier']['scheme'] = "UA-NEDNO"
    date = ocds_datetime()

    payload = payload_responderProcessing(cpid=cpid,
                                          responder=responder,
                                          date=date)
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.success['result'] = {
        "name": responder['name'],
        "identifier": {
            "id": responder['identifier']['id'],
            "scheme": responder['identifier']['scheme']
        }
    }

    assert actualresult == response.success

    record = execute_select_access_tenders_by_cpid(cp_id=cpid).one()
    assert record.created_date == ocds_date_to_datetime(date)
    json_data = json.loads(record.json_data)
    record_procuring_entity = json_data['tender']['procuringEntity']

    assert record_procuring_entity['persones'] == [data_person, responder]
Exemplo n.º 11
0
def test_responderProcessing_cpid_does_not_present_in_the_DB(
        host, port, prepared_cpid, prepare_data, response,
        payload_responderProcessing):
    cpid = prepared_cpid
    responder = prepare_data(schema=schema_responder)
    payload = payload_responderProcessing(cpid=cpid,
                                          responder=responder,
                                          date=ocds_datetime())
    actualresult = requests.post(f'{host}:{port.eAccess}/command2',
                                 json=payload).json()
    response.error['result'] = [{
        "code":
        "VR-10.1.4.1",
        "description":
        "Entity 'TenderProcessEntity' not found by cpid = '" + cpid +
        "' and stage = 'EV'",
    }]

    assert actualresult == response.error
Exemplo n.º 12
0
def test_closeAwardPeriod_with_valid_params_and_awardPeriod_in_db(
        port, host, payload_closeAwardPeriod,
        execute_insert_into_evaluation_period,
        execute_select_evaluation_period_by_cpid, prepared_cpid, response):
    cp_id = prepared_cpid
    end_date = ocds_datetime()
    execute_insert_into_evaluation_period(cp_id=cp_id,
                                          stage='EV',
                                          start_date=datetime.now())
    payload = payload_closeAwardPeriod(cpid=prepared_cpid, endDate=end_date)
    actualresult = requests.post(f'{host}:{port.eEvaluation}/command2',
                                 json=payload).json()
    response.success['result'] = {'awardPeriod': {'endDate': end_date}}
    assert actualresult == response.success

    record = execute_select_evaluation_period_by_cpid(
        cp_id=prepared_cpid).one()

    assert record.end_date == ocds_date_to_datetime(end_date)