示例#1
0
def test_amendment_collateral_id_invalid(session):
    """Assert that the amendment statement json with an invalid delete general collateral ID validates correctly."""
    registration = Registration.find_by_id(200000008)
    assert registration

    json_data = registration.json
    del json_data['createDateTime']
    del json_data['amendmentRegistrationNumber']
    del json_data['addGeneralCollateral']
    del json_data['addVehicleCollateral']
    del json_data['deleteVehicleCollateral']
    del json_data['addDebtors']
    del json_data['addSecuredParties']
    del json_data['deleteDebtors']
    del json_data['deleteSecuredParties']
    json_data['deleteGeneralCollateral'][0]['collateralId'] = 300000000

    financing_statement = FinancingStatement.find_by_financing_id(200000000)
    with pytest.raises(BusinessException) as bad_request_err:
        Registration.create_from_json(json_data, 'AMENDMENT',
                                      financing_statement, 'TEST0001',
                                      'PS12345')

    # check
    assert bad_request_err
    assert bad_request_err.value.status_code == HTTPStatus.BAD_REQUEST
    print(bad_request_err.value.error)
示例#2
0
def test_save_renewal_rl(session):
    """Assert that creating a renewal statement on a RL financing statement contains all expected elements."""
    json_data = copy.deepcopy(RENEWAL_STATEMENT)
    del json_data['createDateTime']
    del json_data['renewalRegistrationNumber']
    del json_data['payment']
    del json_data['expiryDate']

    financing_statement = FinancingStatement.find_by_financing_id(200000001)
    assert financing_statement

    registration = Registration.create_from_json(json_data, 'RENEWAL',
                                                 financing_statement,
                                                 'TEST0002', 'PS12345')
    #    print(registration.financing_id)
    #    print(registration.json)
    registration.save()
    assert registration.financing_id == 200000001
    assert registration.registration_id
    assert registration.registration_num
    assert registration.registration_type_cd
    assert registration.registration_ts
    assert registration.account_id
    assert registration.client_reference_id

    result = registration.json
    assert result
    assert result['baseRegistrationNumber']
    assert result['renewalRegistrationNumber']
    assert result['createDateTime']
    assert result['registeringParty']
    assert result['courtOrderInformation']
示例#3
0
def test_save_discharge(session):
    """Assert that creating a discharge statement contains all expected elements."""
    json_data = copy.deepcopy(DISCHARGE_STATEMENT)
    del json_data['createDateTime']
    del json_data['dischargeRegistrationNumber']
    del json_data['payment']

    financing_statement = FinancingStatement.find_by_financing_id(200000003)
    assert financing_statement

    registration = Registration.create_from_json(json_data, 'DISCHARGE',
                                                 financing_statement,
                                                 'TEST0003', 'PS12345')
    print(str(registration.registration_id))
    print(registration.document_number)
    print(registration.registration_num)
    #    print(registration.json)
    registration.save()
    assert registration.financing_id == 200000003
    assert registration.registration_id
    assert registration.registration_num
    assert registration.registration_type_cd
    assert registration.registration_ts
    assert registration.account_id
    assert registration.client_reference_id

    result = registration.json
    assert result
    assert result['baseRegistrationNumber']
    assert result['dischargeRegistrationNumber']
    assert result['createDateTime']
    assert result['registeringParty']
示例#4
0
def test_save_amendment(session):
    """Assert that creating an amendment statement on a non-RL financing statement contains all expected elements."""
    json_data = copy.deepcopy(AMENDMENT_STATEMENT)
    del json_data['createDateTime']
    del json_data['amendmentRegistrationNumber']
    del json_data['payment']
    del json_data['documentId']
    json_data['changeType'] = 'CO'

    financing_statement = FinancingStatement.find_by_financing_id(200000000)
    assert financing_statement
    for party in financing_statement.parties:
        if party.registration_id != 200000000 and not party.registration_id_end:
            if party.party_type_cd == 'DB' or party.party_type_cd == 'DI':
                json_data['deleteDebtors'][0]['partyId'] = party.party_id
            elif party.party_type_cd == 'SP':
                json_data['deleteSecuredParties'][0][
                    'partyId'] = party.party_id

    for gc in financing_statement.general_collateral:
        if gc.registration_id != 200000000 and not gc.registration_id_end:
            json_data['deleteGeneralCollateral'][0][
                'collateralId'] = gc.collateral_id

    for vc in financing_statement.vehicle_collateral:
        if vc.registration_id != 200000000 and not vc.registration_id_end:
            json_data['deleteVehicleCollateral'][0][
                'vehicleId'] = vc.vehicle_id

    registration = Registration.create_from_json(json_data, 'AMENDMENT',
                                                 financing_statement,
                                                 'TEST0001', 'PS12345')
    #    print(registration.financing_id)
    #    print(registration.json)
    registration.save()
    result = registration.json
    assert result
    assert result['baseRegistrationNumber']
    assert result['amendmentRegistrationNumber']
    assert result['createDateTime']
    assert result['registeringParty']
    assert result['courtOrderInformation']
    assert result['addDebtors']
    assert result['deleteDebtors']
    assert result['addSecuredParties']
    assert result['deleteSecuredParties']
    assert result['addGeneralCollateral']
    assert result['deleteGeneralCollateral']
    assert result['addVehicleCollateral']
    assert result['deleteVehicleCollateral']
    assert 'documentId' not in result
示例#5
0
def test_save_amendment_from_draft(session):
    """Assert that creating an amendment statement from a draft on a non-RL financing statement.

    Verify it contains all expected elements.
    """
    json_data = copy.deepcopy(AMENDMENT_STATEMENT)
    del json_data['createDateTime']
    del json_data['amendmentRegistrationNumber']
    del json_data['payment']

    financing_statement = FinancingStatement.find_by_financing_id(200000000)
    assert financing_statement
    for party in financing_statement.parties:
        if party.registration_id != 200000000 and not party.registration_id_end:
            if party.party_type_cd == 'DB' or party.party_type_cd == 'DI':
                json_data['deleteDebtors'][0]['partyId'] = party.party_id
            elif party.party_type_cd == 'SP':
                json_data['deleteSecuredParties'][0][
                    'partyId'] = party.party_id

    for gc in financing_statement.general_collateral:
        if gc.registration_id != 200000000 and not gc.registration_id_end:
            json_data['deleteGeneralCollateral'][0][
                'collateralId'] = gc.collateral_id

    for vc in financing_statement.vehicle_collateral:
        if vc.registration_id != 200000000 and not vc.registration_id_end:
            json_data['deleteVehicleCollateral'][0][
                'vehicleId'] = vc.vehicle_id

    # Now create a draft amendment
    draft_json = copy.deepcopy(DRAFT_AMENDMENT_STATEMENT)
    draft = Draft.create_from_json(draft_json, 'PS12345')
    draft.save()
    assert draft.document_number
    json_data['documentId'] = draft.document_number
    registration = Registration.create_from_json(json_data, 'AMENDMENT',
                                                 financing_statement,
                                                 'TEST0001', 'PS12345')
    registration.save()
    assert registration.draft
    result = registration.json
    assert result
示例#6
0
def test_find_by_financing_id(session):
    """Assert that find financing statement by financing statement ID contains all expected elements."""
    result = FinancingStatement.find_by_financing_id(200000000)
    assert result
    assert result.registration_num
    if result:
        result.mark_update_json = True
        json_data = result.json
        # print(json_data)
        assert json_data['type'] == 'SA'
        assert json_data['baseRegistrationNumber'] == 'TEST0001'
        assert json_data['registeringParty']
        assert json_data['createDateTime']
        assert json_data['debtors'][0]
        assert json_data['securedParties'][0]
        assert json_data['generalCollateral'][0]
        assert json_data['vehicleCollateral'][0]
        assert json_data['expiryDate']
        assert json_data['lifeYears']
        assert json_data['trustIndenture']
示例#7
0
def test_renewal_client_code_invalid(session):
    """Assert that the renewal statement json with an invalid RP client code validates correctly."""
    json_data = copy.deepcopy(RENEWAL_STATEMENT)
    del json_data['createDateTime']
    del json_data['renewalRegistrationNumber']
    del json_data['payment']
    del json_data['courtOrderInformation']
    del json_data['registeringParty']
    party = {'code': '900000000'}
    json_data['registeringParty'] = party

    financing_statement = FinancingStatement.find_by_financing_id(200000004)
    assert financing_statement

    with pytest.raises(BusinessException) as bad_request_err:
        Registration.create_from_json(json_data, 'RS', financing_statement,
                                      'TEST0001', 'PS12345')

    # check
    assert bad_request_err
    assert bad_request_err.value.status_code == HTTPStatus.BAD_REQUEST
    print(bad_request_err.value.error)