class FinancialAuctionDocumentWithDSResourceTest( BaseAuctionWebTest, AuctionDocumentResourceTestMixin, AuctionDocumentWithDSResourceTestMixin): initial_data = test_financial_auction_data docservice = True dgf_platform_legal_details_from = DGF_PLATFORM_LEGAL_DETAILS_FROM # TODO this TestCase didn't contain "test_create_auction_document_pas" test_create_auction_document_vdr = snitch(create_auction_document_vdr) test_put_auction_document_vdr = snitch(put_auction_document_vdr)
class Auction2LotAwardComplaintResourceTest(BaseAuctionWebTest): initial_lots = 2 * test_lots test_create_auction_award_complaint_2_lot_complaint = snitch( create_auction_award_complaint_2_lot_complaint) test_patch_auction_award_complaint_2_lot_complaint = snitch( patch_auction_award_complaint_2_lot_complaint) test_get_auction_award_complaint_lot_complaint = snitch( get_auction_award_complaint_lot_complaint) test_get_auction_award_complaints_lot_complaint = snitch( get_auction_award_complaints_lot_complaint)
class AuctionProcessTest(BaseAuctionWebTest): test_financial_organization = None #setUp = BaseWebTest.setUp def setUp(self): super(AuctionProcessTest.__bases__[0], self).setUp() test_invalid_auction_conditions = unittest.skip("option not available")(snitch(invalid_auction_conditions)) # _test_one_valid_bid_auction = snitch(one_valid_bid_auction) # _test_one_invalid_bid_auction = snitch(one_invalid_bid_auction) test_first_bid_auction = snitch(first_bid_auction) test_suspended_auction = snitch(suspended_auction)
class AppraisalAuctionSameValueAuctionResourceTest(BaseAppraisalAuctionWebTest ): initial_status = 'active.auction' initial_bids = [{ "tenderers": [test_organization], 'qualified': True, 'eligible': True } for i in range(3)] test_post_auction_auction_not_changed = snitch( post_auction_auction_not_changed) test_post_auction_auction_reversed = snitch(post_auction_auction_reversed)
class InsiderAuctionResourceTest(BaseInsiderWebTest, AuctionResourceTestMixin, DgfInsiderResourceTestMixin): initial_status = 'active.tendering' initial_data = test_insider_auction_data initial_organization = test_organization eligibility_criteria = DGF_ELIGIBILITY_CRITERIA test_financial_organization = test_organization test_check_daylight_savings_timezone = snitch(check_daylight_savings_timezone) test_create_auction_invalid = snitch(create_auction_invalid) test_create_auction_auctionPeriod = snitch(create_auction_auctionPeriod) test_create_auction_generated = snitch(create_auction_generated) test_create_auction = snitch(create_auction)
class AuctionAwardDocumentResourceTest(BaseAuctionWebTest): initial_status = 'active.auction' initial_bids = test_bids test_not_found_award_document = snitch(not_found_award_document) test_create_auction_award_document = snitch(create_auction_award_document) test_put_auction_award_document = snitch(put_auction_award_document) test_patch_auction_award_document = snitch(patch_auction_award_document) def setUp(self): super(AuctionAwardDocumentResourceTest, self).setUp() self.post_auction_results()
class InsiderAuctionDocumentWithDSResourceTest( InsiderAuctionDocumentResourceTest, AuctionDocumentWithDSResourceTestMixin): docservice = True test_create_auction_document_vdr = snitch(create_auction_document_vdr) test_put_auction_document_vdr = snitch(put_auction_document_vdr) test_patch_auction_document = snitch(patch_auction_document) test_create_auction_document_pas = None test_create_auction_document_vdr = None test_put_auction_document_pas = None test_put_auction_document_vdr = None
class DraftAuctionDumpTest(BaseWebDocsTest): test_get_auction_dump = snitch(get_auction_dump) test_phase_commit_dump = snitch(phase_commit_dump) def setUp(self): super(DraftAuctionDumpTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) change_machine_state(procedure, 'draft') context = procedure.snapshot() self.auction = context['auction']
class ChronographEndEnquiryTest(BaseWebTest): test_enquiry_switch_to_unsuccessful_bids_min_number_2_no_bids = snitch( enquiry_switch_to_unsuccessful_bids_min_number_2_no_bids) test_enquiry_switch_to_unsuccessful_bids_min_number_2_bid_1_active = snitch( enquiry_switch_to_unsuccessful_bids_min_number_2_bid_1_active) test_enquiry_switch_to_unsuccessful_bids_min_number_1_no_bids = snitch( enquiry_switch_to_unsuccessful_bids_min_number_1_no_bids) test_enquiry_switch_to_active_auction_bids_min_number_1_bids_2_active = snitch( enquiry_switch_to_active_auction_bids_min_number_1_bids_2_active) test_enquiry_switch_to_active_auction = snitch( enquiry_switch_to_active_auction) test_enquiry_switch_to_active_qualification = snitch( enquiry_switch_to_active_qualification) test_enquiry_switch_to_active_qualification_sandbox = snitch( enquiry_switch_to_active_qualification_sandbox) test_enquiry_set_unsuccessful_bids = snitch(enquiry_set_unsuccessful_bids) def setUp(self): super(ChronographEndEnquiryTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.enquiry', end=True) self.procedure = procedure self.app.authorization = ('Basic', ('chronograph', ''))
class AuctionAwardComplaintSwitchResourceTest(BaseAuctionWebTest): initial_status = 'active.qualification' initial_bids = test_bids def setUp(self): super(AuctionAwardComplaintSwitchResourceTest, self).setUp() # Create award response = self.app.post_json('/auctions/{}/awards'.format( self.auction_id), {'data': {'suppliers': [self.initial_organization], 'status': 'pending', 'bid_id': self.initial_bids[0]['id']}}) award = response.json['data'] self.award_id = award['id'] test_switch_to_pending_award = snitch(switch_to_pending_award) test_switch_to_complaint_award = snitch(switch_to_complaint_award)
class StatusActiveEnquiryQuestionsTest(BaseAuctionWebTest): initial_data = test_auction_data test_add_question = snitch(add_question) test_answer_question = snitch(answer_question) def setUp(self): super(StatusActiveEnquiryQuestionsTest, self).setUp() procedure = Procedure(self.auction, {"token": self.auction_token}, self) state = get_procedure_state(procedure, 'active.enquiry') self.auction = state.auction self.entrypoint = '/auctions/{}/questions'.format(self.auction_id)
class StatusActiveRectificationDocumentTest(BaseWebTest): docservice = True test_add_online_document = snitch(add_document) test_add_offline_document = snitch(add_offline_document) test_patch_document = snitch(patch_document) def setUp(self): super(StatusActiveRectificationDocumentTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) change_machine_state(procedure, 'active.rectification') self.procedure = procedure
class AuctionAwardComplaintSwitchResourceTest(BaseAuctionWebTest): initial_status = 'active.auction' initial_bids = test_bids initial_organization = test_organization def setUp(self): super(AuctionAwardComplaintSwitchResourceTest, self).setUp() # Create award fixtures.create_award(self) test_auction_award_complaint_switch_to_pending = snitch( switch_to_pending_award) test_auction_award_complaint_switch_to_complaint = snitch( switch_to_complaint_award)
class AuctionSameValueAuctionResourceTest(BaseAuctionWebTest): initial_status = 'active.auction' initial_bids = [{ "tenderers": [test_organization], "value": { "amount": 469, "currency": "UAH", "valueAddedTaxIncluded": True }, 'qualified': True } for i in range(3)] test_post_auction_auction_not_changed = snitch( post_auction_auction_not_changed) test_post_auction_auction_reversed = snitch(post_auction_auction_reversed)
class StatusActiveAwardedTest(BaseWebTest): docservice = True test_organizer_downloads_the_contract = snitch( organizer_uploads_the_contract) test_auction_put_auction_document_audit = snitch( auction_put_auction_document_audit) test_organizer_rejection_contract = snitch(organizer_rejection_contract) def setUp(self): super(StatusActiveAwardedTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.awarded') context = procedure.snapshot() contract = context['contracts'][0] award = context['awards'][0] auction = context['auction'] audit_document = context['documents'][0] entrypoints = {} pattern = '/auctions/{}/contracts/{}/documents?acc_token={}' entrypoints['contract_document_post'] = pattern.format( auction['data']['id'], contract['data']['id'], auction['access']['token']) pattern = '/auctions/{}/contracts/{}?acc_token={}' entrypoints['contract_patch'] = pattern.format( auction['data']['id'], contract['data']['id'], auction['access']['token']) pattern = '/auctions/{}/contracts/{}' entrypoints['contract_get'] = pattern.format(auction['data']['id'], contract['data']['id']) pattern = '/auctions/{}' entrypoints['auction_get'] = pattern.format(auction['data']['id']) pattern = '/auctions/{}/awards/{}' entrypoints['award_get'] = pattern.format(auction['data']['id'], award['data']['id']) pattern = '/auctions/{}/documents/{}?acc_token={}' entrypoints['auction_audit_put'] = pattern.format( auction['data']['id'], audit_document['data']['id'], auction['access']['token']) self.ENTRYPOINTS = entrypoints self.auction = auction self.contract = contract self.award = award
class Auction2LotAwardComplaintResourceTest( BaseAuctionWebTest, Auction2LotAwardComplaintResourceTestMixin): initial_status = 'active.auction' initial_lots = 2 * test_lots initial_bids = test_bids initial_organization = test_organization def setUp(self): super(Auction2LotAwardComplaintResourceTest, self).setUp() # Create award fixtures.create_award(self) test_get_auction_lot_award_complaint = snitch(get_auction_award_complaint) test_get_auction_lot_award_complaints = snitch( get_auction_award_complaints)
class AuctionOwnershipChangeResourceTest(BaseInsiderAuctionWebTest, AuctionOwnershipChangeTestCaseMixin): first_owner = 'broker3' second_owner = 'broker3' concierge = 'concierge' test_owner = 'broker3t' invalid_owner = 'broker1' initial_auth = ('Basic', (first_owner, '')) test_new_owner_can_change = None # tessel auction can not be changed during enquiryPeriod test_check_pending_activation = snitch(check_pending_activation) test_create_auction_by_concierge = snitch(create_auction_by_concierge) def setUp(self): super(AuctionOwnershipChangeResourceTest, self).setUp() self.not_used_transfer = self.create_transfer()
class AuctionBidderDocumentResourceTest(BaseAuctionWebTest, AuctionBidderDocumentResourceTestMixin): initial_status = 'active.tendering' test_patch_auction_bidder_document = snitch(patch_auction_bidder_document) def setUp(self): super(AuctionBidderDocumentResourceTest, self).setUp() # Create bid response = self.app.post_json('/auctions/{}/bids'.format( self.auction_id), {'data': {'tenderers': [self.initial_organization], "value": {"amount": 500}, 'qualified': True}}) bid = response.json['data'] self.bid_id = bid['id'] self.bid_token = response.json['access']['token'] test_create_auction_bidder_document_nopending = snitch(create_auction_bidder_document_nopending)
class MigrateTestFrom1To2Bids(BaseAuctionWebTest): initial_status = 'active.qualification' initial_bids = test_bids test_migrate_one_pending = snitch(migrate_one_pending) test_migrate_one_active = snitch(migrate_one_active) test_migrate_unsuccessful_active = snitch(migrate_unsuccessful_active) test_migrate_unsuccessful_pending = snitch(migrate_unsuccessful_pending) def setUp(self): super(MigrateTestFrom1To2Bids, self).setUp() migrate_data(self.app.app.registry) set_db_schema_version(self.db, 0) auction = self.db.get(self.auction_id) auction['bids'][0]['value']['amount'] = auction['value']['amount'] self.db.save(auction)
class AuctionMultipleLotAuctionResourceTest(BaseAuctionWebTest, AuctionMultipleLotAuctionResourceTestMixin): initial_status = 'active.tendering' initial_bids = test_bids initial_lots = 2 * test_lots test_post_auction_auction_2_lots = snitch(post_auction_auction_2_lots)
class AuctionFeaturesAuctionResourceTest(BaseAuctionWebTest): initial_data = test_features_auction_data initial_status = 'active.auction' initial_bids = [{ "parameters": [{ "code": i["code"], "value": 0.1, } for i in test_features_auction_data['features']], "tenderers": [test_organization], "value": { "amount": 469, "currency": "UAH", "valueAddedTaxIncluded": True }, 'qualified': True }, { "parameters": [{ "code": i["code"], "value": 0.15, } for i in test_features_auction_data['features']], "tenderers": [test_organization], "value": { "amount": 479, "currency": "UAH", "valueAddedTaxIncluded": True } }] test_get_auction_features_auction = snitch(get_auction_features_auction)
class AuctionAuctionResourceTest(BaseAuctionWebTest, AuctionAuctionResourceTestMixin): #initial_data = auction_data initial_status = 'active.tendering' initial_bids = test_bids test_post_auction_auction = snitch(post_auction_auction)
class AuctionContractResourceTest(BaseAuctionWebTest, AuctionContractResourceTestMixin, AuctionContractV1ResourceTestCaseMixin): initial_status = 'active.qualification' initial_bids = test_bids initial_organization = test_organization def setUp(self): super(AuctionContractResourceTest, self).setUp() # Create award response = self.app.post_json( '/auctions/{}/awards'.format(self.auction_id), { 'data': { 'suppliers': [test_organization], 'status': 'pending', 'bid_id': self.initial_bids[0]['id'], 'value': test_auction_data["value"], 'items': test_auction_data["items"] } }) award = response.json['data'] self.award_id = award['id'] self.award_value = award['value'] self.award_suppliers = award['suppliers'] self.award_items = award['items'] response = self.app.patch_json( '/auctions/{}/awards/{}'.format(self.auction_id, self.award_id), {"data": { "status": "active" }}) test_patch_auction_contract = snitch(patch_auction_contract)
class StatusActiveEnquiryQuestionsTest(BaseWebTest): test_answer_question = snitch(answer_question) test_get_question = snitch(get_question) def setUp(self): super(StatusActiveEnquiryQuestionsTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.enquiry') context = procedure.snapshot( fixture=ACTIVE_ENQUIRY_AUCTION_DEFAULT_FIXTURE_WITH_QUESTION) self.auction = context['auction'] self.questions = context['questions']
class StatusActiveAuctionModuleAuctionWithoutDSTest(BaseWebTest): docservice = False test_module_auction_post_audit_without_ds = snitch( module_auction_post_audit_without_ds) def setUp(self): super(StatusActiveAuctionModuleAuctionWithoutDSTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.auction') self.procedure = procedure context = procedure.snapshot() self.auction = context['auction'] entrypoints = {} entrypoint_pattern = '/auctions/{}/documents?acc_token={}' entrypoints['documents'] = entrypoint_pattern.format( self.auction['data']['id'], self.auction['access']['token']) self.ENTRYPOINTS = entrypoints self.app.authorization = ('Basic', ('auction', ''))
class StatusActiveAuctionWithBidsCancellationsTest(BaseWebTest): test_cancellation_make_clean_bids = snitch(cancellation_make_clean_bids) def setUp(self): super(StatusActiveAuctionWithBidsCancellationsTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.tendering') context = procedure.snapshot( fixture=AUCTION_WITH_BIDS_WITH_CANCELLATION) auction = context['auction'] bids = context['bids'] cancellation = context['cancellations'][0] entrypoints = {} entrypoints['get_auction'] = '/auctions/{}'.format( auction['data']['id']) entrypoints[ 'patch_cancellation'] = '/auctions/{}/cancellations/{}?acc_token={}'.format( auction['data']['id'], cancellation['data']['id'], auction['access']['token']) self.auction = auction self.bids = bids self.cancellation = cancellation self.cancellations = context['cancellations'] self.ENTRYPOINTS = entrypoints
class ChronographReplaningAuctionTest(BaseWebTest): test_replaning_auction = snitch(replaning_auction) def setUp(self): super(ChronographReplaningAuctionTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.auction') context = procedure.snapshot() auction = context['auction'] entrypoints = {} pattern = '/auctions/{}?acc_token={}' entrypoints['auction_patch'] = pattern.format( auction['data']['id'], auction['access']['token']) pattern = '/auctions/{}' entrypoints['auction_get'] = pattern.format(auction['data']['id']) self.auction = auction self.ENTRYPOINTS = entrypoints self.app.authorization = ('Basic', ('chronograph', ''))
class Auction2LotContractResourceTest(BaseAuctionWebTest): initial_status = 'active.qualification' initial_bids = test_bids initial_lots = 2 * test_lots test_patch_auction_contract = snitch(patch_auction_contract_2_lots) def setUp(self): super(Auction2LotContractResourceTest, self).setUp() # Create award response = self.app.post_json( '/auctions/{}/awards'.format(self.auction_id), { 'data': { 'suppliers': [self.initial_organization], 'status': 'pending', 'bid_id': self.initial_bids[0]['id'], 'lotID': self.initial_lots[0]['id'] } }) award = response.json['data'] self.award_id = award['id'] self.app.patch_json( '/auctions/{}/awards/{}'.format(self.auction_id, self.award_id), {"data": { "status": "active" }})
class ActiveRectificationDocumentsWithoutDSTest(BaseWebTest): docservice = False test_auction_document_put_without_ds = snitch( auction_document_put_without_ds) def setUp(self): super(ActiveRectificationDocumentsWithoutDSTest, self).setUp() procedure = ProcedureMachine() procedure.set_db_connector(self.db) procedure.toggle('active.rectification') context = procedure.snapshot(fixture=AUCTION_WITH_DOCUMENTS) auction = context['auction'] document = context['documents'][0] entrypoints = {} entrypoint_pattern = '/auctions/{}/documents/{}?acc_token={}' entrypoints['document_put'] = entrypoint_pattern.format( auction['data']['id'], document['data']['id'], auction['access']['token']) entrypoint_pattern = '/auctions/{}/documents/{}' entrypoints['document_get'] = entrypoint_pattern.format( auction['data']['id'], document['data']['id']) self.document = document self.auction = auction self.ENTRYPOINTS = entrypoints
class AppraisalAuctionBidInvalidationAuctionResourceTest( BaseAppraisalAuctionWebTest): initial_status = 'active.auction' initial_data = test_insider_auction_data initial_bids = [{ "tenderers": [test_organization], 'qualified': True, "eligible": True } for i in range(3)] test_post_auction_all_invalid_bids = unittest.skip("zero minimalstep")( snitch(post_auction_all_invalid_bids)) test_post_auction_one_bid_without_value = snitch( post_auction_one_bid_without_value) test_post_auction_zero_bids = snitch(post_auction_zero_bids) test_post_auction_one_valid_bid = snitch(post_auction_one_valid_bid)