コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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()
コード例 #7
0
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
コード例 #8
0
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']
コード例 #9
0
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', ''))
コード例 #10
0
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)
コード例 #11
0
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)
コード例 #12
0
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
コード例 #13
0
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)
コード例 #14
0
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)
コード例 #15
0
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
コード例 #16
0
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)
コード例 #17
0
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()
コード例 #18
0
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)
コード例 #19
0
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)
コード例 #20
0
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)
コード例 #21
0
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)
コード例 #22
0
class AuctionAuctionResourceTest(BaseAuctionWebTest,
                                 AuctionAuctionResourceTestMixin):
    #initial_data = auction_data
    initial_status = 'active.tendering'
    initial_bids = test_bids

    test_post_auction_auction = snitch(post_auction_auction)
コード例 #23
0
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)
コード例 #24
0
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']
コード例 #25
0
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', ''))
コード例 #26
0
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
コード例 #27
0
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', ''))
コード例 #28
0
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
コード例 #30
0
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)