def setup(self):
        super(TestUpdateFramework, self).setup()
        framework = Framework()
        framework.name = 'Example G-Cloud framework'
        framework.framework = 'g-cloud'
        framework.slug = 'example'
        framework.status = 'open'

        with self.app.app_context():
            db.session.add(framework)
            db.session.commit()
Exemplo n.º 2
0
def _add_framework(request, app, slug, **kwargs):
    # first whitelist the kwargs to limit what we have to worry about
    kwargs = {k: v for k, v in iteritems(kwargs) if k in _framework_kwargs_whitelist}
    if "status" in kwargs and "clarification_questions_open" not in kwargs:
        kwargs["clarification_questions_open"] = (kwargs["status"] == "open")

    framework = Framework(slug=slug, name=slug, **kwargs)
    db.session.add(framework)
    db.session.commit()

    def teardown():
        with app.app_context():
            FrameworkLot.query.filter(FrameworkLot.framework_id == framework.id).delete()
            Framework.query.filter(Framework.id == framework.id).delete()
            db.session.commit()

    request.addfinalizer(teardown)
    return framework.serialize()
Exemplo n.º 3
0
def _add_framework(request, app, slug, **kwargs):
    # first whitelist the kwargs to limit what we have to worry about
    kwargs = {k: v for k, v in kwargs.items() if k in _framework_kwargs_whitelist}
    if "status" in kwargs and "clarification_questions_open" not in kwargs:
        kwargs["clarification_questions_open"] = (kwargs["status"] == "open")

    framework = Framework(slug=slug, name=slug, **kwargs)
    db.session.add(framework)
    db.session.commit()

    def teardown():
        with app.app_context():
            FrameworkLot.query.filter(FrameworkLot.framework_id == framework.id).delete()
            Framework.query.filter(Framework.id == framework.id).delete()
            db.session.commit()

    request.addfinalizer(teardown)
    return framework.serialize()
 def setup(self):
     super(TestGetService, self).setup()
     now = pendulum.now('UTC')
     with self.app.app_context():
         db.session.add(Framework(
             id=123,
             name="expired",
             slug="expired",
             framework="g-cloud",
             status="expired",
         ))
         db.session.commit()
         db.session.add(FrameworkLot(
             framework_id=123,
             lot_id=1
         ))
         db.session.add(
             Supplier(code=1, name=u"Supplier 1",
                      addresses=[Address(address_line="{} Dummy Street 1",
                                         suburb="Dummy",
                                         state="ZZZ",
                                         postal_code="0000",
                                         country='Australia')])
         )
         db.session.add(Service(service_id="123-published-456",
                                supplier_code=1,
                                updated_at=now,
                                created_at=now,
                                status='published',
                                data={'foo': 'bar'},
                                lot_id=1,
                                framework_id=1))
         db.session.add(Service(service_id="123-disabled-456",
                                supplier_code=1,
                                updated_at=now,
                                created_at=now,
                                status='disabled',
                                data={'foo': 'bar'},
                                lot_id=1,
                                framework_id=1))
         db.session.add(Service(service_id="123-enabled-456",
                                supplier_code=1,
                                updated_at=now,
                                created_at=now,
                                status='enabled',
                                data={'foo': 'bar'},
                                lot_id=1,
                                framework_id=1))
         db.session.add(Service(service_id="123-expired-456",
                                supplier_code=1,
                                updated_at=now,
                                created_at=now,
                                status='enabled',
                                data={'foo': 'bar'},
                                lot_id=1,
                                framework_id=123))
         db.session.commit()
Exemplo n.º 5
0
def test_framework_should_not_accept_invalid_status():
    app = create_app('test')
    with app.app_context(), assert_raises(ValidationError):
        f = Framework(
            name='foo',
            slug='foo',
            framework='g-cloud',
            status='invalid',
        )
        db.session.add(f)
        db.session.commit()
Exemplo n.º 6
0
def test_framework_should_accept_valid_statuses():
    app = create_app('test')
    with app.app_context():
        for i, status in enumerate(Framework.STATUSES):
            f = Framework(
                name='foo',
                slug='foo-{}'.format(i),
                framework='g-cloud',
                status=status,
            )
            db.session.add(f)
            db.session.commit()
Exemplo n.º 7
0
    def setup_dummy_framework(
        self,
        slug,
        framework_family,
        name='New Framework',
        id=None,
        status='open',
        clarifications=False,
        lots=None,
        has_direct_award=True,
        has_further_competition=False,
    ):
        if lots is None:
            if framework_family.startswith('g-cloud'):
                lots = [
                    Lot.query.filter(Lot.slug == 'cloud-hosting').first(),
                    Lot.query.filter(Lot.slug == 'cloud-software').first(),
                    Lot.query.filter(Lot.slug == 'cloud-support').first(),
                ]
            elif framework_family.startswith(
                    'digital-outcomes-and-specialists'):
                lots = [
                    Lot.query.filter(Lot.slug == 'digital-outcomes').first(),
                    Lot.query.filter(
                        Lot.slug == 'digital-specialists').first(),
                    Lot.query.filter(
                        Lot.slug == 'user-research-participants').first(),
                    Lot.query.filter(
                        Lot.slug == 'user-research-studios').first(),
                ]
            else:
                lots = []

        framework = Framework(
            id=id,
            slug=slug,
            name=name,
            framework=framework_family,
            status=status,
            clarification_questions_open=clarifications,
            lots=lots,
            has_direct_award=has_direct_award,
            has_further_competition=has_further_competition,
        )
        db.session.add(framework)
        db.session.commit()

        return framework.id
Exemplo n.º 8
0
    def setup(self):
        super(TestUpdateFramework, self).setup()
        framework = Framework()
        framework.name = 'Example G-Cloud framework'
        framework.framework = 'g-cloud'
        framework.slug = 'example'
        framework.status = 'open'

        with self.app.app_context():
            db.session.add(framework)
            db.session.commit()
Exemplo n.º 9
0
 def setup_dos_2_framework(self, status='open', clarifications=True):
     with self.app.app_context():
         db.session.add(
             Framework(
                 id=101,
                 slug=u'digital-outcomes-and-specialists-2',
                 name=u'Digital Outcomes and Specialists 2',
                 framework=u'digital-outcomes-and-specialists',
                 status=status,
                 clarification_questions_open=clarifications,
                 lots=[Lot.query.filter(Lot.slug == 'digital-outcomes').first(),
                       Lot.query.filter(Lot.slug == 'digital-specialists').first(),
                       Lot.query.filter(Lot.slug == 'user-research-participants').first(),
                       Lot.query.filter(Lot.slug == 'user-research-studios').first(),
                       ]
             )
         )
         db.session.commit()
Exemplo n.º 10
0
 def setup_dos_2_framework(self, status='open', clarifications=True):
     db.session.add(
         Framework(
             id=101,
             slug=u'digital-outcomes-and-specialists-2',
             name=u'Digital Outcomes and Specialists 2',
             framework=u'digital-outcomes-and-specialists',
             status=status,
             clarification_questions_open=clarifications,
             lots=[
                 Lot.query.filter(Lot.slug == 'digital-outcomes').first(),
                 Lot.query.filter(
                     Lot.slug == 'digital-specialists').first(),
                 Lot.query.filter(
                     Lot.slug == 'user-research-participants').first(),
                 Lot.query.filter(
                     Lot.slug == 'user-research-studios').first(),
             ],
             has_direct_award=False,
             has_further_competition=True,
         ))
     db.session.commit()
def framework():
    return Framework(id=1, slug='digital-marketplace')