Esempio n. 1
0
def bid_get(bid_id, context):

    bid_ref = get_session().query(
        models.Bid).filter_by(bid_id=bid_id).one_or_none()

    if bid_ref:
        return bid_ref
    else:
        raise exception.ResourceNotFound(resource_type="Bid",
                                         resource_uuid=bid_id)
Esempio n. 2
0
def offer_get(offer_id, context):

    offer_ref = get_session().query(
        models.Offer).filter_by(offer_id=offer_id).one_or_none()

    if offer_ref:
        return offer_ref
    else:
        raise exception.ResourceNotFound(resource_type="Offer",
                                         resource_uuid=offer_id)
Esempio n. 3
0
def contract_get(contract_id, context):

    contract_ref = get_session().query(
        models.Contract).filter_by(contract_id=contract_id).one_or_none()

    if contract_ref:
        return contract_ref
    else:
        raise exception.ResourceNotFound(resource_type="Contract",
                                         resource_uuid=contract_id)
Esempio n. 4
0
def contract_destroy(contract_id, context):
    if context.is_admin:
        contract_ref = contract_get(contract_id, context)
        if contract_ref:
            get_session().query(
                models.Contract).filter_by(contract_id=contract_id).delete()
        else:
            raise exception.ResourceNotFound(resource_type="Contract",
                                             resource_uuid=contract_id)
    else:
        raise exception.ResourceNoPermission(resource_type="Contract",
                                             resource_uuid=contract_id)
Esempio n. 5
0
def offer_contract_relationship_get(context,
                                    offer_contract_relationship_id=None):

    if offer_contract_relationship_id is None:
        return None

    ref = get_session().query(models.OfferContractRelationship).filter(
        models.OfferContractRelationship.offer_contract_relationship_id ==
        offer_contract_relationship_id).one_or_none()
    if ref:
        return ref
    else:
        raise exception.ResourceNotFound(
            resource_type="Offer_Contract_Relationship",
            resource_uuid=offer_contract_relationship_id)
Esempio n. 6
0
def offer_update(offer_id, values, context):
    offer_ref = get_session().query(
        models.Offer).filter_by(offer_id=offer_id).one_or_none()

    if offer_ref:
        if offer_ref.project_id != context.project_id and not context.is_admin:
            raise exception.ResourceNoPermission(resource_type="Offer",
                                                 resource_uuid=offer_id)
        values.pop('offer_id', None)
        offer_ref.update(values)
        offer_ref.save(get_session())
        return offer_ref
    else:
        raise exception.ResourceNotFound(resource_type="Offer",
                                         resource_uuid=offer_id)
Esempio n. 7
0
def contract_update(contract_id, values, context):

    if context.is_admin:
        contract_ref = get_session().query(
            models.Contract).filter_by(contract_id=contract_id).one_or_none()
        if contract_ref:
            values.pop('contract_id', None)
            contract_ref.update(values)
            contract_ref.save(get_session())
            return contract_ref
        else:
            raise exception.ResourceNotFound(resource_type="Contract",
                                             resource_uuid=contract_id)
    else:
        raise exception.ResourceNoPermission(resource_type="Contract",
                                             resource_uuid=contract_id)
Esempio n. 8
0
def offer_destroy(offer_id, context):
    offer_ref = get_session().query(
        models.Offer).filter_by(offer_id=offer_id).one_or_none()

    if offer_ref:
        if offer_ref.project_id != context.project_id and not context.is_admin:
            raise exception.ResourceNoPermission(resource_type="Offer",
                                                 resource_uuid=offer_id)

        if context.is_admin:
            get_session().query(
                models.Offer).filter_by(offer_id=offer_id).delete()
        else:
            get_session().query(models.Offer).filter_by(
                offer_id=offer_id, project_id=context.project_id).delete()
    else:
        raise exception.ResourceNotFound(resource_type="Offer",
                                         resource_uuid=offer_id)
Esempio n. 9
0
def bid_update(bid_id, values, context):
    if context.is_admin:
        bid_ref = get_session().query(
            models.Bid).filter_by(bid_id=bid_id).one_or_none()
    else:
        bid_ref = get_session().query(
            models.Bid).filter_by(bid_id=bid_id).one_or_none()

    if bid_ref:
        if bid_ref.project_id != context.project_id and not context.is_admin:
            raise exception.ResourceNoPermission(resource_type="Bid",
                                                 resource_uuid=bid_id)

        values.pop('bid_id', None)
        bid_ref.update(values)
        bid_ref.save(get_session())
        return bid_ref
    else:
        raise exception.ResourceNotFound(resource_type="Bid",
                                         resource_uuid=bid_id)
Esempio n. 10
0
def bid_destroy(bid_id, context):
    if context.is_admin:
        bid_ref = get_session().query(
            models.Bid).filter_by(bid_id=bid_id).one_or_none()
    else:
        bid_ref = get_session().query(
            models.Bid).filter_by(bid_id=bid_id).one_or_none()

    if bid_ref:
        if bid_ref.project_id != context.project_id and not context.is_admin:
            raise exception.ResourceNoPermission(resource_type="Bid",
                                                 resource_uuid=bid_id)

        if context.is_admin:
            get_session().query(models.Bid).filter_by(bid_id=bid_id).delete()
        else:
            get_session().query(models.Bid).filter_by(
                bid_id=bid_id, project_id=context.project_id).delete()
    else:
        raise exception.ResourceNotFound(resource_type="Bid",
                                         resource_uuid=bid_id)
Esempio n. 11
0
def test_update_contract_missing(mock_get, mock_save, client):
    mock_get.side_effect = e.ResourceNotFound()
    res = client.put('/contract/does-not-exist',
                     data=json.dumps(dict(status=statuses.FULFILLED)))
    assert res.status_code == 404
    assert mock_save.call_count == 0
Esempio n. 12
0
def test_delete_contract_missing(mock_get, client):
    mock_get.side_effect = e.ResourceNotFound()
    response = client.delete('/contract/does-not-exist')
    assert response.status_code == 404
Esempio n. 13
0
def test_get_offer_missing(mock_get, client):
    mock_get.side_effect = e.ResourceNotFound()
    response = client.get('/offer/does-not-exist')
    assert response.status_code == 404
Esempio n. 14
0
def test_update_offer_missing(mock_get, mock_save, client):
    mock_get.side_effect = e.ResourceNotFound()
    res = client.put('/offer/does-not-exist',
                     data=json.dumps(dict(status='testing')))
    assert res.status_code == 404
    assert mock_save.call_count == 0
def test_get_offer_contract_relationship_with_id_missing(mock_get, client):
    mock_get.side_effect = e.ResourceNotFound()
    response = client.get('/offer_contract_relationship/does-not-exist')
    assert response.status_code == 404