def suppliers(self, app):
        with app.app_context():
            db.session.add(
                Supplier(id=1,
                         code=1,
                         is_recruiter=False,
                         name='Mega Bytes',
                         status='limited'))

            db.session.add(
                Supplier(id=2,
                         code=2,
                         is_recruiter=False,
                         name='qubits',
                         status='limited'))

            db.session.add(
                Supplier(id=3,
                         code=3,
                         is_recruiter=False,
                         name='Giga Bytes',
                         status='limited'))

            db.session.add(
                Supplier(id=4,
                         code=4,
                         is_recruiter=False,
                         name='bits',
                         status='limited'))

            db.session.commit()
            yield db.session.query(Supplier).all()
Example #2
0
    def suppliers(self, app):
        with app.app_context():
            db.session.add(
                Supplier(
                    id=1,
                    code=123,
                    name='FriendFace',
                    is_recruiter=False,
                    data={
                        'contact_email': '*****@*****.**',
                        'email': '*****@*****.**'
                    }
                )
            )

            db.session.add(
                Supplier(
                    id=2,
                    code=456,
                    name='FriendFlutter',
                    is_recruiter=False,
                    data={
                        'email': '*****@*****.**'
                    }
                )
            )

            db.session.commit()

            yield db.session.query(Supplier).all()
Example #3
0
def test_with_invalid_phone():
    supplier = Supplier(data={
        'representative': 'foo bar',
        'email': '*****@*****.**',
        'phone': 'asd33333f'
    })
    errors = SupplierValidator(supplier).validate_representative()
    assert len(errors) == 1
    assert 'S013-phone' in [e['id'] for e in errors]

    supplier = Supplier(data={
        'representative': 'foo bar',
        'email': '*****@*****.**',
        'phone': 'aaaaa11111'
    })
    errors = SupplierValidator(supplier).validate_representative()
    assert len(errors) == 1
    assert 'S013-phone' in [e['id'] for e in errors]

    supplier = Supplier(data={
        'representative': 'foo bar',
        'email': '*****@*****.**',
        'phone': '11111aaaaa'
    })
    errors = SupplierValidator(supplier).validate_representative()
    assert len(errors) == 1
    assert 'S013-phone' in [e['id'] for e in errors]
Example #4
0
 def setup_dummy_suppliers(self, n):
     supplier_ids = []
     for i in range(n):
         db.session.add(
             Supplier(
                 supplier_id=i,
                 registered_name='Registered Supplier Name {}'.format(i),
                 name=u'Supplier {}'.format(i),
                 description='',
                 organisation_size='small',
                 duns_number='{}'.format(100000000 + i),
                 registration_country='country:GB',
                 companies_house_number='{}'.format(12345670 + i),
                 other_company_registration_number='555-222-111'
             )
         )
         db.session.add(
             ContactInformation(
                 supplier_id=i,
                 contact_name=u'Contact for Supplier {}'.format(i),
                 email=u'{}@contact.com'.format(i),
                 postcode=u'SW1A 1AA',
                 address1='7 Gem Lane',
                 city='Cantelot'
             )
         )
         supplier_ids.append(i)
     db.session.commit()
     return supplier_ids
def suppliers(app, request):
    params = request.param if hasattr(request, 'param') else {}
    framework_slug = params[
        'framework_slug'] if 'framework_slug' in params else 'digital-marketplace'
    with app.app_context():
        framework = Framework.query.filter(
            Framework.slug == framework_slug).first()
        for i in range(1, 6):
            db.session.add(
                Supplier(
                    abn=i,
                    code=(i),
                    name='Test Supplier{}'.format(i),
                    contacts=[Contact(name='auth rep', email='*****@*****.**')],
                    data={
                        'contact_email': 'test{}@supplier.com'.format(i),
                        'contact_phone': '123'
                    }))

            db.session.flush()

            db.session.add(
                SupplierFramework(supplier_code=i, framework_id=framework.id))

        db.session.commit()
        yield Supplier.query.all()
Example #6
0
def supplier_add():
    # 供应商添加
    form = SupplierForm()
    is_flag = True
    if form.validate_on_submit():
        if Supplier.query.filter_by(name=form.name.data).first():
            is_flag = False
            flash(u'您输入的名称已存在', 'err')
        if is_flag == False:
            return render_template('admin/supplier_add.html', form=form)
        supplier = Supplier(
            name=form.name.data,
            contact=form.contact.data,
            phone=form.phone.data,
            tel=form.tel.data,
            qq=form.qq.data,
            address=form.address.data,
            valid=form.valid.data,
            remarks=form.remarks.data,
        )
        oplog = Oplog(user_id=session['user_id'],
                      ip=request.remote_addr,
                      reason=u'添加供应商:%s' % form.name.data)
        objects = [supplier, oplog]
        db.session.add_all(objects)
        db.session.commit()
        flash(u'添加成功', 'ok')
        return redirect(url_for('admin.supplier_add'))
    return render_template('admin/supplier_add.html', form=form)
 def setup(self):
     now = datetime.utcnow()
     super(TestUsersUpdate, self).setup()
     with self.app.app_context():
         user = User(id=123,
                     email_address="*****@*****.**",
                     name="my name",
                     password=encryption.hashpw("my long password"),
                     active=True,
                     role='buyer',
                     created_at=now,
                     updated_at=now,
                     password_changed_at=now)
         supplier = Supplier(supplier_id=456, name="A test supplier")
         supplier_user = User(
             id=456,
             email_address="*****@*****.**",
             name="my supplier name",
             password=encryption.hashpw("my long password"),
             active=True,
             role='supplier',
             created_at=now,
             updated_at=now,
             supplier_id=456,
             password_changed_at=now)
         db.session.add(supplier)
         db.session.add(user)
         db.session.add(supplier_user)
         db.session.commit()
 def setup_dummy_services_including_unpublished(self, n):
     self.setup_dummy_suppliers(TEST_SUPPLIERS_COUNT)
     self.setup_dummy_services(n)
     with self.app.app_context():
         # Add extra 'enabled' and 'disabled' services
         self.setup_dummy_service(
             service_id=str(n + 2000000001),
             supplier_id=n % TEST_SUPPLIERS_COUNT,
             status='disabled')
         self.setup_dummy_service(
             service_id=str(n + 2000000002),
             supplier_id=n % TEST_SUPPLIERS_COUNT,
             status='enabled')
         # Add an extra supplier that will have no services
         db.session.add(
             Supplier(supplier_id=TEST_SUPPLIERS_COUNT, name=u'Supplier {}'
                      .format(TEST_SUPPLIERS_COUNT))
         )
         db.session.add(
             ContactInformation(
                 supplier_id=TEST_SUPPLIERS_COUNT,
                 contact_name=u'Contact for Supplier {}'.format(
                     TEST_SUPPLIERS_COUNT),
                 email=u'{}@contact.com'.format(TEST_SUPPLIERS_COUNT),
                 postcode=u'SW1A 1AA'
             )
         )
         db.session.commit()
Example #9
0
 def test_repr(self):
     ds = DraftService()
     assert repr(
         ds
     ) == '<DraftService: id=None, service_id=None, supplier_code=None, lot=None>'
     s = Supplier()
     assert repr(s) == '<Supplier: id=None, name=None>'
 def setup_dummy_services_including_unpublished(self, n):
     self.setup_dummy_suppliers(TEST_SUPPLIERS_COUNT)
     self.setup_dummy_services(n)
     with self.app.app_context():
         # Add extra 'enabled' and 'disabled' services
         self.setup_dummy_service(service_id=str(n + 2000000001),
                                  supplier_code=n % TEST_SUPPLIERS_COUNT,
                                  status='disabled')
         self.setup_dummy_service(service_id=str(n + 2000000002),
                                  supplier_code=n % TEST_SUPPLIERS_COUNT,
                                  status='enabled')
         # Add an extra supplier that will have no services
         db.session.add(
             Supplier(
                 code=TEST_SUPPLIERS_COUNT,
                 name=u"Supplier {}".format(TEST_SUPPLIERS_COUNT),
                 addresses=[
                     Address(address_line="{} Empty Street".format(
                         TEST_SUPPLIERS_COUNT),
                             suburb="Empty",
                             state="ZZZ",
                             postal_code="0000",
                             country='Australia')
                 ],
             ))
         db.session.commit()
    def test_post_a_user_creates_audit_event(self):
        with self.app.app_context():
            db.session.add(Supplier(supplier_id=1, name=u"Supplier 1"))
            db.session.commit()

        response = self.client.post('/users',
                                    data=json.dumps({
                                        'users': {
                                            'emailAddress':
                                            '*****@*****.**',
                                            'password': '******',
                                            'supplierId': 1,
                                            'role': 'supplier',
                                            'name': 'joe bloggs'
                                        }
                                    }),
                                    content_type='application/json')

        assert_equal(response.status_code, 201)

        audit_response = self.client.get('/audit-events')
        assert_equal(audit_response.status_code, 200)
        data = json.loads(audit_response.get_data())

        assert_equal(len(data['auditEvents']), 1)
        assert_equal(data['auditEvents'][0]['type'], 'create_user')
        assert_equal(data['auditEvents'][0]['data']['supplier_id'], 1)
Example #12
0
def create(**kwargs):
    check_field_exists(Supplier, kwargs)
    obj = Supplier(**kwargs)
    db.session.add(obj)
    try:
        db.session.commit()
    except Exception, e:
        raise Exception(e.message.split('"')[1])
    def setup_services(self):
        with self.app.app_context():
            self.app.config['DM_API_SERVICES_PAGE_SIZE'] = 10
            now = pendulum.now('UTC')

            g5_saas = self.load_example_listing("G5")
            g5_paas = self.load_example_listing("G5")
            g6_paas_2 = self.load_example_listing("G6-PaaS")
            g6_iaas_1 = self.load_example_listing("G6-IaaS")
            g6_paas_1 = self.load_example_listing("G6-PaaS")
            g6_saas = self.load_example_listing("G6-SaaS")
            g6_iaas_2 = self.load_example_listing("G6-IaaS")

            db.session.add(
                Supplier(
                    code=1,
                    name=u"Supplier 1",
                    description="",
                    summary="",
                    addresses=[
                        Address(address_line="{} Dummy Street 1",
                                suburb="Dummy",
                                state="ZZZ",
                                postal_code="0000",
                                country='Australia')
                    ],
                    contacts=[],
                    references=[],
                    prices=[],
                ))

            def insert_service(listing, service_id, lot_id, framework_id):
                db.session.add(
                    Service(service_id=service_id,
                            supplier_code=1,
                            updated_at=now,
                            status='published',
                            created_at=now,
                            lot_id=lot_id,
                            framework_id=framework_id,
                            data=listing))

            # override certain fields to create ordering difference
            g6_iaas_1['serviceName'] = "b service name"
            g6_iaas_2['serviceName'] = "a service name"
            g6_paas_1['serviceName'] = "b service name"
            g6_paas_2['serviceName'] = "a service name"
            g5_paas['lot'] = "PaaS"

            insert_service(g5_paas, "123-g5-paas", 2, 3)
            insert_service(g5_saas, "123-g5-saas", 1, 3)
            insert_service(g6_iaas_1, "123-g6-iaas-1", 3, 1)
            insert_service(g6_iaas_2, "123-g6-iaas-2", 3, 1)
            insert_service(g6_paas_1, "123-g6-paas-1", 2, 1)
            insert_service(g6_paas_2, "123-g6-paas-2", 2, 1)
            insert_service(g6_saas, "123-g6-saas", 1, 1)

            db.session.commit()
Example #14
0
def test_with_too_many_at_in_email():
    supplier = Supplier(data={
        'representative': 'foo bar',
        'email': 'a@@b.cm',
        'phone': '0123456789'
    })
    errors = SupplierValidator(supplier).validate_representative()

    assert len(errors) == 1
 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()
Example #16
0
def test_with_valid_data():
    supplier = Supplier(data={
        'representative': 'foo bar',
        'email': '*****@*****.**',
        'phone': '0123456789'
    })
    errors = SupplierValidator(supplier).validate_representative()

    assert len(errors) == 0

    supplier = Supplier(data={
        'representative': 'foo bar',
        'email': '*****@*****.**',
        'phone': '+(0)123456789'
    })
    errors = SupplierValidator(supplier).validate_representative()

    assert len(errors) == 0
Example #17
0
def create(**kwargs):
    #1.获取参数信息
    check_field_exists(Supplier, kwargs)
    #2.传参个数验证
    obj = Supplier(**kwargs)
    #3.插入数据库
    db.session.add(obj)
    db.session.commit()
    return obj.id
def supplier(request, app):
    with app.app_context():
        s = Supplier(supplier_id=request.param['supplier_id'],
                     name=u"Supplier name",
                     description="")
        db.session.add(s)
        db.session.commit()

        return {'id': s.supplier_id}
Example #19
0
def suppliers(app):
    with app.app_context():
        db.session.add(
            Supplier(id=2,
                     code=2,
                     name='FriendFace',
                     is_recruiter=False,
                     data={}))

        db.session.add(
            Supplier(id=3,
                     code=3,
                     name='FriendFlutter',
                     is_recruiter=False,
                     data={}))

        db.session.commit()

        yield db.session.query(Supplier).all()
 def supplier(self, app):
     with app.app_context():
         db.session.add(
             Supplier(id=100,
                      code=100,
                      name='Test Supplier',
                      website='http://www.dta.gov.au',
                      abn='1234567890',
                      data={},
                      status='complete'))
         db.session.add(
             Supplier(id=101,
                      code=101,
                      name='Test Supplier 1',
                      website='http://www.dta1.gov.au',
                      abn='1234567891',
                      data={},
                      status='complete'))
         db.session.commit()
         yield db.session.query(Supplier).all()
def addSupplier(name, mobile, province, city, sign_start, sign_end):
    supplier = Supplier.query.filter_by(name=name,
                                        province=province,
                                        city=city).first()
    if supplier != None:
        return 0

    newSupplier = Supplier(name=name, mobile=mobile, province=province, \
                        city=city, sign_start=sign_start, sign_end=sign_end)
    db.session.add(newSupplier)
    db.session.commit()
    return newSupplier.id
Example #22
0
    def suppliers(self, app):
        with app.app_context():
            db.session.add(
                Supplier(id=1,
                         code=123,
                         name='BizBang',
                         status='limited',
                         is_recruiter=False))

            db.session.commit()

            yield db.session.query(Supplier).all()
Example #23
0
def supplier(app):
    with app.app_context():
        db.session.add(
            Supplier(id=1,
                     code=1,
                     name='FriendFace',
                     is_recruiter=False,
                     data={}))

        db.session.commit()

        yield Supplier.query.first()
    def suppliers(self, app):
        with app.app_context():
            db.session.add(
                Supplier(
                    abn=1,
                    code=1,
                    name='Supplier 1'
                )
            )

            db.session.add(
                Supplier(
                    abn=2,
                    code=2,
                    name='Supplier 2'
                )
            )

            db.session.commit()

            yield db.session.query(Supplier).all()
Example #25
0
 def setup_additional_dummy_suppliers(self, n, initial):
     for i in range(1000, n + 1000):
         db.session.add(
             Supplier(supplier_id=i,
                      name=u'{} suppliers Ltd {}'.format(initial, i),
                      description=''))
         db.session.add(
             ContactInformation(
                 supplier_id=i,
                 contact_name=u'Contact for Supplier {}'.format(i),
                 email=u'{}@contact.com'.format(i),
                 postcode=u'SW1A 1AA'))
     db.session.commit()
Example #26
0
def create(**params):
    # 1. 获取参数信息
    check_field_exists(Supplier, params)

    print inspect.getmembers(Supplier, predicate=inspect.ismethod(id))

    # 传参的个数需要验证
    obj = Supplier(**params)

    # 插入到数据库
    db.session.add(obj)
    db.session.commit()
    return obj.id
Example #27
0
def test_can_get_no_errors_for_sa_no_expiry():
    supplier = Supplier(
        data={
            'recruiter': 'yes',
            'labourHire': {
                'sa': {
                    'licenceNumber': 'foobar-licence'
                }
            }
        }
    )
    errors = SupplierValidator(supplier).validate_recruiter()

    assert len(errors) == 0
Example #28
0
def create(**kwargs):
    # 1. 获取参数
    # 2. 验证参数是否合法
    check_field_exists(Supplier, kwargs)
    supplier = Supplier(**kwargs)
    db.session.add(supplier)
    try:
        db.session.commit()
    except Exception as e:
        current_app.logger.warning("插入错误: {} ".format(e.message))
        raise Exception("commit error")
    # 3. 插入到数据库
    # 4. 返回插入的状态
    return supplier.id
Example #29
0
def addsupplier(request):
    a = request.POST['companyname']
    b = request.POST['contactname']
    c = request.POST['address']
    d = request.POST['phone']
    e = request.POST['email']
    f = request.POST['country']
    Supplier(companyname=a,
             contactname=b,
             address=c,
             phone=d,
             email=e,
             country=f).save()
    return redirect(request.META['HTTP_REFERER'])
Example #30
0
def create(**kwargs):
    # 1  获取用户传入参数
    print kwargs
    # 2  验证参数的合法性
    check_field_exists(Supplier, kwargs)
    # 3  插入到数据库
    manufacturers = Supplier(**kwargs)
    db.session.add(manufacturers)

    try:
        db.session.commit()
    except Exception, e:
        current_app.logger.warning("commit error: {}".format(e.message))
        raise Exception("commit error")
    def setup_dummy_suppliers_with_old_and_new_domains(self, n):
        with self.app.app_context():
            framework = Framework.query.filter_by(slug='digital-outcomes-and-specialists').first()
            self.set_framework_status(framework.slug, 'open')

            for i in range(1, n + 1):
                if i == 2:
                    ps = PriceSchedule.from_json({
                        'serviceRole': {
                            'category': 'Technical Architecture, Development, Ethical Hacking and Web Operations',
                            'role': 'Senior Ethical Hacker'},
                        'hourlyRate': 999,
                        'dailyRate': 9999,
                        'gstIncluded': True
                    })
                    prices = [ps]
                else:
                    prices = []

                NON_MATCHING_STRING = 'aaaaaaaaaaaaaaaaa'

                name = "Supplier {}".format(i - 1)
                summary = "suppliers of supplies" if name != 'Supplier 3' else NON_MATCHING_STRING
                name = name if name != 'Supplier 3' else NON_MATCHING_STRING

                t = pendulum.now('UTC')

                s = Supplier(
                    code=i,
                    name=name,
                    abn='1',
                    description="",
                    summary=summary,
                    data={
                        'seller_type': {'sme': True, 'start_up': True}
                    } if i == 2 else {'sme': True, 'start_up': False},
                    addresses=[
                        Address(
                            address_line="{} Dummy Street".format(i),
                            suburb="Dummy",
                            state="ZZZ",
                            postal_code="0000",
                            country='Australia'
                        )
                    ],
                    contacts=[],
                    references=[],
                    prices=prices,
                    last_update_time=t + pendulum.interval(seconds=(i % 3))
                )

                if i == 2:
                    s.add_unassessed_domain('Data science')

                if i == 4:
                    s.add_unassessed_domain('Content and Publishing')

                if i == 3:
                    s.add_unassessed_domain('Content and Publishing')
                    s.add_unassessed_domain('Data science')
                    s.update_domain_assessment_status('Data science', 'assessed')

                p1 = Product(name='zzz {}'.format(i), summary='summary {}'.format(i))
                p2 = Product(name='otherproduct {}'.format(i), summary='othersummary {}'.format(i))

                s.products = [p1, p2]

                sf = SupplierFramework(
                    supplier_code=s.code,
                    framework_id=framework.id,
                    declaration={}
                )

                db.session.add(s)
                db.session.add(sf)

            ds = Supplier(
                name=u"Dummy Supplier",
                abn=Supplier.DUMMY_ABN,
                description="",
                summary="",
                addresses=[Address(address_line="{} Dummy Street".format(i),
                                   suburb="Dummy",
                                   state="ZZZ",
                                   postal_code="0000",
                                   country='Australia')],
                contacts=[],
                references=[],
                prices=prices,
            )

            ds.add_unassessed_domain('Content and Publishing')
            ds.add_unassessed_domain('Data science')
            ds.update_domain_assessment_status('Data science', 'assessed')

            db.session.add(ds)

            sf = SupplierFramework(
                supplier_code=ds.code,
                framework_id=framework.id,
                declaration={}
            )

            db.session.add(sf)
            db.session.commit()