コード例 #1
0
ファイル: test_filing.py プロジェクト: peter-freshworks/lear
def test_save_filing_with_colin_id(session):
    """Assert that saving a filing with a colin event id is set to pending."""
    from legal_api.models import Filing
    # setup
    filing = Filing()
    filing.filing_json = ANNUAL_REPORT
    filing.save()
    assert filing.status == Filing.Status.DRAFT.value
    filing.colin_event_id = 1234
    filing.save()
    assert filing.status == Filing.Status.PENDING.value
コード例 #2
0
def test_save_filing_with_colin_id(session):
    """Assert that saving a filing with a colin event id is set to paid."""
    from legal_api.models import Filing
    # setup
    filing = Filing()
    filing.filing_json = ANNUAL_REPORT
    user = User.create_from_jwt_token({
        'username': '******',
        'iss': 'test',
        'sub': 'test'
    })
    filing.submitter_id = user.id
    filing.save()

    # test
    assert filing.status == Filing.Status.DRAFT.value
    assert filing.source == Filing.Source.COLIN.value
    filing.colin_event_id = 1234
    filing.save()
    assert filing.status == Filing.Status.PAID.value
コード例 #3
0
                            )

                        for historic_filing in r.json():
                            uow = versioning_manager.unit_of_work(db.session)
                            transaction = uow.create_transaction(db.session)
                            filing = Filing()
                            filing_date = historic_filing['filing']['header'][
                                'date']
                            filing.filing_date = datetime.datetime.strptime(
                                filing_date, '%Y-%m-%d')
                            filing.business_id = business.id
                            filing.filing_json = historic_filing
                            filing.transaction_id = transaction.id
                            filing_type = historic_filing['filing']['header'][
                                'name']
                            filing.colin_event_id = historic_filing['filing'][
                                filing_type]['eventId']
                            filing.paper_only = True
                            db.session.add(filing)
                            db.session.commit()

                    except requests.exceptions.Timeout as timeout:
                        print(
                            'colin_api request timed out getting historic filings.'
                        )
                else:
                    print(
                        '->historic filings already exist - skipping history load'
                    )
            except Exception as err:
                # db.session.rollback()
                print(err)
コード例 #4
0
    def _save_filing(client_request: LocalProxy, business_identifier: str,
                     user: User,
                     filing_id: int) -> Tuple[Business, Filing, dict, int]:
        """Save the filing to the ledger.

        If not successful, a dict of errors is returned.

        Returns: {
            Business: business model object found for the identifier provided
            Filing: filing model object for the submitted filing
            dict: a dict of errors
            int: the HTTPStatus error code
        }
        """
        json_input = client_request.get_json()
        if not json_input:
            return None, None, {'message':
                                f'No filing json data in body of post for {business_identifier}.'}, \
                HTTPStatus.BAD_REQUEST

        business = Business.find_by_identifier(business_identifier)
        if not business:
            return None, None, {
                'message': f'{business_identifier} not found'
            }, HTTPStatus.NOT_FOUND

        if client_request.method == 'PUT':
            rv = db.session.query(Business, Filing). \
                filter(Business.id == Filing.business_id). \
                filter(Business.identifier == business_identifier). \
                filter(Filing.id == filing_id). \
                one_or_none()
            if not rv:
                return None, None, {
                    'message': f'{business_identifier} no filings found'
                }, HTTPStatus.NOT_FOUND
            filing = rv[1]
        else:
            filing = Filing()
            filing.business_id = business.id

        try:
            filing.submitter_id = user.id
            filing.filing_json = json_input
            if user.username == 'coops-updater-job':
                try:
                    filing.filing_date = datetime.datetime.fromisoformat(
                        filing.filing_json['filing']['header']['date'])
                    filing.colin_event_id = filing.filing_json['filing'][
                        'header']['colinId']
                except KeyError:
                    current_app.logger.error(
                        'Business:%s missing filing/header values, unable to save',
                        business.identifier)
                    return None, None, {
                        'message': 'missing filing/header values'
                    }, HTTPStatus.BAD_REQUEST
            else:
                filing.filing_date = datetime.datetime.utcnow()
            filing.save()
        except BusinessException as err:
            return None, None, {'error': err.error}, err.status_code

        return business, filing, None, None