Beispiel #1
0
def draft_service(request, app, supplier_framework):
    with app.app_context():
        supplier_id = Supplier.query.filter(
            Supplier.supplier_id == supplier_framework['supplierId']).first()
        framework = Framework.query.filter(
            Framework.slug == supplier_framework['frameworkSlug']).first()
        lot = Lot.query.filter(Lot.slug == 'digital-specialists').first()
        fl_query = {'framework_id': framework.id, 'lot_id': lot.id}
        fl = FrameworkLot(**fl_query)

        ds = DraftService(
            framework=framework,
            lot=lot,
            service_id="1234567890",
            supplier=supplier_id,
            data={},
            status='submitted',
            updated_at=datetime.now(),
            created_at=datetime.now(),
            lot_one_service_limit=lot.one_service_limit,
        )
        db.session.add(fl)
        db.session.add(ds)
        db.session.commit()

        def teardown():
            with app.app_context():
                FrameworkLot.query.filter(*[
                    getattr(FrameworkLot, k) == v for k, v in fl_query.items()
                ]).delete(synchronize_session=False)
                Service.query.filter(
                    Service.service_id == ds.service_id).delete(
                        synchronize_session=False)
                DraftService.query.filter(
                    DraftService.service_id == ds.service_id).delete(
                        synchronize_session=False)
                db.session.commit()

        request.addfinalizer(teardown)

        with mock.patch('app.models.main.url_for',
                        autospec=lambda i, **values: 'test.url/test'):
            Service.create_from_draft(ds, 'enabled')
            return ds.serialize()
def draft_service(request, app, supplier_framework):
    with app.app_context():
        supplier_id = Supplier.query.filter(Supplier.supplier_id == supplier_framework['supplierId']).first()
        framework = Framework.query.filter(Framework.slug == supplier_framework['frameworkSlug']).first()
        lot = Lot.query.filter(Lot.slug == 'digital-specialists').first()
        fl_query = {
            'framework_id': framework.id,
            'lot_id': lot.id
        }
        fl = FrameworkLot(**fl_query)

        ds = DraftService(
            framework=framework,
            lot=lot,
            service_id="1234567890",
            supplier=supplier_id,
            data={},
            status='submitted',
            updated_at=datetime.now(),
            created_at=datetime.now()
        )
        db.session.add(fl)
        db.session.add(ds)
        db.session.commit()

        def teardown():
            with app.app_context():
                FrameworkLot.query.filter(
                    *[getattr(FrameworkLot, k) == v for k, v in fl_query.items()]
                ).delete(synchronize_session=False)
                Service.query.filter(Service.service_id == ds.service_id).delete(synchronize_session=False)
                DraftService.query.filter(DraftService.service_id == ds.service_id).delete(synchronize_session=False)
                db.session.commit()

        request.addfinalizer(teardown)

        with mock.patch('app.models.main.url_for', autospec=lambda i, **values: 'test.url/test'):
            Service.create_from_draft(ds, 'enabled')
            return ds.serialize()