def test_offer_contract_relationship_get_all_unexpired(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) api.offer_contract_relationship_get(offer_test_id, contract.contract_id) assert len( api.offer_contract_relationship_get_all_unexpired(admin_context)) == 1 api.offer_contract_relationship_update(marketplace_offer_id=offer_test_id, contract_id=contract.contract_id, values=dict(status='expired'), context=admin_context) assert len( api.offer_contract_relationship_get_all_unexpired(admin_context)) == 0
def test_offer_contract_relationship_update_invalid_scoped(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) filters = { 'marketplace_offer_id': offer_test_id, 'contract_id': contract.contract_id } ocrs = api.offer_contract_relationship_get_all( context=admin_context, filters=filters, ) ocr_id = ocrs[0].offer_contract_relationship_id with pytest.raises(e.RequiresAdmin) as excinfo: api.offer_contract_relationship_update( context=scoped_context, offer_contract_relationship_id=ocr_id, values=dict(status='testing')) assert (excinfo.value.code == 403) check = api.offer_contract_relationship_get( context=admin_context, offer_contract_relationship_id=ocr_id) assert check.status != 'testing' assert check.marketplace_offer_id == offer_test_id
def test_offer_contract_relationship_delete_valid(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) filters = {'offer_id': offer_test_id, 'contract_id': contract.contract_id} ocrs = api.offer_contract_relationship_get_all( context=admin_context, filters=filters, ) ocr_id = ocrs[0].offer_contract_relationship_id api.offer_contract_relationship_destroy( context=admin_context, offer_contract_relationship_id=ocr_id) with pytest.raises(e.ResourceNotFound) as excinfo: api.offer_contract_relationship_get( context=admin_context, offer_contract_relationship_id=ocr_id) assert (excinfo.value.code == 404)
def test_offer_contract_relationship_create_valid(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) ocr = api.offer_contract_relationship_get( marketplace_offer_id=offer_test_id, contract_id=contract.contract_id, context=admin_context) assert contract.contract_id == ocr.contract_id
def test_offer_contract_relationship_get_by_id(app, db, session): contract_data, _ = create_test_contract_data_for_ocr() api.contract_create(contract_data, admin_context) ocr = api.offer_contract_relationship_get_all(admin_context) assert len(api.offer_contract_relationship_get_all(admin_context)) == 1 assert (api.offer_contract_relationship_get( context=admin_context, offer_contract_relationship_id=ocr[0].offer_contract_relationship_id ).offer_contract_relationship_id == ocr[0].offer_contract_relationship_id)
def test_offer_contract_relationship_update_invalid_scoped(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) ocr = api.offer_contract_relationship_get( marketplace_offer_id=offer_test_id, contract_id=contract.contract_id, context=scoped_context) api.offer_contract_relationship_update( marketplace_offer_id=ocr.marketplace_offer_id, contract_id=ocr.contract_id, values=dict(status='testing'), context=scoped_context) check = api.offer_contract_relationship_get( marketplace_offer_id=offer_test_id, contract_id=contract.contract_id, context=admin_context) assert check.status != 'testing' assert check.marketplace_offer_id == offer_test_id
def test_offer_contract_relationship_delete_invalid_scoped(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) api.offer_contract_relationship_destroy(contract_id=contract.contract_id, marketplace_offer_id=offer_test_id, context=scoped_context) check = api.offer_contract_relationship_get( contract_id=contract.contract_id, marketplace_offer_id=offer_test_id, context=admin_context) assert check is not None
def get(cls, context, contract_id, marketplace_offer_id): if (contract_id is None) and (marketplace_offer_id is None): return None else: o = db.offer_contract_relationship_get( contract_id=contract_id, marketplace_offer_id=marketplace_offer_id, context=context) if o is None: return None else: return cls._from_db_object(cls(), o)
def test_offer_contract_relationship_delete_invalid_scoped(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) filters = { 'marketplace_offer_id': offer_test_id, 'contract_id': contract.contract_id } ocrs = api.offer_contract_relationship_get_all( context=admin_context, filters=filters, ) ocr_id = ocrs[0].offer_contract_relationship_id api.offer_contract_relationship_destroy( context=scoped_context, offer_contract_relationship_id=ocr_id) check = api.offer_contract_relationship_get(admin_context, ocr_id) assert check is not None
def test_offer_contract_relationship_delete_invalid_scoped(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) filters = {'offer_id': offer_test_id, 'contract_id': contract.contract_id} ocrs = api.offer_contract_relationship_get_all( context=admin_context, filters=filters, ) ocr_id = ocrs[0].offer_contract_relationship_id with pytest.raises(e.RequiresAdmin) as excinfo: api.offer_contract_relationship_destroy( context=scoped_context, offer_contract_relationship_id=ocr_id) assert (excinfo.value.code == 403) check = api.offer_contract_relationship_get(admin_context, ocr_id) assert check is not None
def test_offer_contract_relationship_update_valid(app, db, session): contract_data, offer_test_id = create_test_contract_data_for_ocr() contract = api.contract_create(contract_data, admin_context) filters = {'offer_id': offer_test_id, 'contract_id': contract.contract_id} ocrs = api.offer_contract_relationship_get_all( context=admin_context, filters=filters, ) ocr_id = ocrs[0].offer_contract_relationship_id api.offer_contract_relationship_update( context=admin_context, offer_contract_relationship_id=ocr_id, values=dict(status=statuses.EXPIRED)) check = api.offer_contract_relationship_get( context=admin_context, offer_contract_relationship_id=ocr_id) assert check.status == statuses.EXPIRED assert check.offer_id == offer_test_id
def test_offer_contract_relationship_get_invalid(app, db, session): with pytest.raises(e.ResourceNotFound) as excinfo: api.offer_contract_relationship_get( context=admin_context, offer_contract_relationship_id="bad_id") assert (excinfo.value.code == 404)
def get(cls, context, ocr_id): o = db.offer_contract_relationship_get(context, ocr_id) if o is None: return None else: return cls._from_db_object(cls(), o)