Exemple #1
0
 def test_invite_success(self, platform, with_login):
     # 验证主平台,后台登录状态
     staff_token = get_admin_token()
     set_login_status(staff_acmanager_api, staff_token)
     register_with_login(platform, with_login,
                         [main_ac_api, main_invite_api])
     # 绑定登录user1与api
     # 获取主平台登录账户account_id,邀请码
     user1_acinfo_res = main_ac_api.accounts_account_info_get()
     user1_account_id = user1_acinfo_res.account_info.account_id
     print('user1账户id:', user1_account_id)
     # user2用user1的邀请码注册账号,登录成功
     manager = PlatformManager(platform)
     user2_ran_email = rand_email()
     print('user2邮箱:', user2_ran_email)
     ran_password = rand_password()
     ran_country = random_get_country_ob()["k"]
     try:
         manager.register(email=user2_ran_email,
                          password=ran_password,
                          promotion_code='321564',
                          nationality_code=ran_country,
                          nick_name=faker.name())
     except ApiException as e:
         assert e.status == 400
 def test_favorite_project_case10(self):
     faker = Faker()
     manager = PlatformManager("main")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 个人实名认证
     individual_verify(platform="main",
                       id_number=get_random_id_number(),
                       token=token)
     # 交易所排行列表
     exchange_api = ExchangeApi()
     set_login_status(exchange_api, token)
     res = exchange_api.exchanges_exchanges_get()
     exchange_id = ''
     for item in res.items:
         exchange_id = item.id
     # 获取交易对市场列表
     market_api = MarketApi()
     set_login_status(market_api, token)
     res = market_api.markets_get(exchange_id=exchange_id, page=1)
     market_id = ''
     for item in res.items:
         market_id = item.id
     # 收藏列表
     favorite_api = FavoriteMarketApi()
     set_login_status(favorite_api, token)
     res = favorite_api.favorites_market_get(page=1,
                                             exchange_id=exchange_id)
     assert res.meta.total_count == 0
     # 收藏
     payload = {'marketId': market_id}
     favorite_api.favorites_market_post(body=payload)
     # 收藏列表
     res = favorite_api.favorites_market_get(page=1,
                                             exchange_id=exchange_id)
     favorite_id = ''
     assert res.meta.total_count == 1
     for item in res.items:
         assert item.market_id == market_id
         assert item.id
         favorite_id = item.id
     # 取消收藏
     favorite_api.favorites_market_delete(id=favorite_id)
     # 收藏列表
     res = favorite_api.favorites_market_get(page=1,
                                             exchange_id=exchange_id)
     assert res.meta.total_count == 0
Exemple #3
0
 def get_exchange(self):
     faker = Faker('zh_CN')
     random_country = random_get_country_ob()
     tags = self.get_random_tags()
     g = GetExchangeRequest()
     g.name = self.get_random_exchange_name()
     g.nationality = '+' + random_country.get('k')
     g.logo = img
     g.tags = tags
     g.phone = faker.phone_number()
     g.email = faker.email()
     return g
Exemple #4
0
def random_user():
    """
    通过faker产生一个随机账户
    :return: dict
    """
    faker = Faker("zh_CN")
    nick_name = faker.name() + faker.name()
    country = random_get_country_ob()
    now = int(round(time.time() * 1000))
    email = str(now) + '@qq.com'
    account = dict(nick_name=nick_name,
                   email=email,
                   password=faker.password(),
                   country=country.get("n"),
                   country_abbreviation=country.get("k"),
                   phone=faker.phone_number())
    return account
 def test_favorite_project_case8(self):
     faker = Faker()
     manager = PlatformManager("main")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 个人实名认证
     individual_verify(platform="main",
                       id_number=get_random_id_number(),
                       token=token)
     # 交易所排行列表
     exchange_api = ExchangeApi()
     set_login_status(exchange_api, token)
     res = exchange_api.exchanges_exchanges_get()
     exchange_id = ''
     for item in res.items:
         exchange_id = item.id
     # 收藏列表
     favorite_api = FavoriteExchangeApi()
     set_login_status(favorite_api, token)
     res = favorite_api.favorites_exchange_get(page=1)
     assert res.meta.total_count == 0
     # 收藏
     payload = {
         'exchangeId': exchange_id,
     }
     favorite_api.favorites_exchange_post(body=payload)
     # 收藏列表
     res = favorite_api.favorites_exchange_get(page=1)
     assert res.meta.total_count == 1
     for item in res.items:
         assert item.exchange_id == exchange_id
         assert item.id
         assert item.exchange_name
     # 判断是否收藏
     res = favorite_api.favorites_exchange_is_favorite_get(
         exchange_id=exchange_id)
     assert res.status is True
     assert res.id
Exemple #6
0
 def test_sponsors_case5(self):
     faker = Faker()
     manager = PlatformManager("venture")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 个人实名认证
     individual_verify(platform="venture",
                       id_number=get_random_id_number(),
                       token=token)
     # 创建保健方账号
     staff_api = SponsorsManagermentApi()
     staff_token = get_admin_token()
     set_login_status(staff_api, staff_token)
     sponsor = {
         "account": get_random_name(6, 25),
         "password": faker.password(),
         "name": faker.user_name(),
         "email": email,
         "phone": faker.phone_number()
     }
     staff_api.staff_sponsors_post(post_sponsor=sponsor)
     # 管理后台获取保健列表
     res = staff_api.staff_sponsors_get(page=1, name=sponsor.get("name"))
     assert res.meta.total_count == 1
     for item in res.items:
         assert item.account == sponsor.get("account")
         assert item.email == sponsor.get("email")
         assert item.name == sponsor.get("name")
         assert item.status is True
         assert item.id
     # 项目方获取保健列表
     venture_api = SMApi()
     set_login_status(venture_api, token)
     res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
     item = res.items.pop()
     assert item.name == sponsor.get("name")
     assert item.id
 def test_error_field_apply_individual(self, platform, with_login):
     manager = PlatformManager(platform)
     account_api = manager.account_api
     register_with_login(platform, with_login, [account_api])
     try:
         # manager.apply_individual_verify(123456)
         country = random_get_country_ob()["k"]
         account_api.request_individual_certification(
             body={"nationalityCode": country,
                   "name": get_random_name(2, 20),
                   "type": "identityCard",
                   "number": 123456,
                   "frontPhoto": "front_phone",
                   "backPhoto": "back_photo",
                   "handheldPhoto": "handheld_photo"})
     except manager.api_exception as e:
         assert e.status == 400
     else:
         assert False, "填写错误类型字段进行个人实名认证,java接口异常"
Exemple #8
0
 def test_applications19(self):
     faker = Faker()
     manager = PlatformManager("venture")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 个人实名认证
     individual_verify(platform="venture",
                       id_number=get_random_id_number(),
                       token=token)
     # 申请项目
     project_name = get_random_name(2, 16)
     short_name = "Y" + str(random.randint(10000, 99999))
     full_name = get_random_name(2, 16)
     project_api = ProjectApi()
     set_login_status(project_api, token)
     pay = copy.deepcopy(dict(payload))
     pay.update({
         'project_name': project_name,
         'short_name': short_name,
         'full_name': full_name
     })
     req = ApplicationRequest(**pay)
     res = project_api.applications_post(body=req)
     project_apply_id = res.id
     # 创建保健方账号
     staff_api = SponsorsManagermentApi()
     staff_token = get_admin_token()
     set_login_status(staff_api, staff_token)
     sponsor = {
         "account": get_random_name(6, 25),
         "password": faker.password(),
         "name": faker.user_name(),
         "email": faker.email(),
         "phone": faker.phone_number()
     }
     staff_api.staff_sponsors_post(post_sponsor=sponsor)
     # 项目方获取保健列表
     venture_api = SMApi()
     set_login_status(venture_api, token)
     res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
     item = res.items.pop()
     sponsor_id = item.id
     # 项目方设置保健方
     project_api.applications_id_set_sponsor_put(
         id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
     # 保健方登
     # 保健项目
     sponsor_api = SponsorsProjectApi()
     get_sponsor_token(account=sponsor.get("account"),
                       password=sponsor.get("password"),
                       email=sponsor.get("email"),
                       api_list=[sponsor_api])
     sponsor_api.projects_sponsor_put(put_project_sponsor_request={
         "id": project_apply_id,
         "status": 1,
         "remark": "remark"
     })
     # 后台获取所有项目列表
     staff_project = Sta_project()
     set_login_status(staff_project, token)
     res = staff_project.projects_get(project_name=project_name)
     up_project_name = ''
     for item in res.items:
         up_project_name = item.project_name
     # 申请项目
     try:
         full_name1 = get_random_name(2, 16)
         short_name1 = get_random_name(2, 6)
         payload1 = {
             "project_name": project_name,
             "description": "{}-description".format(project_name),
             "official_website": "www.{}.com".format(project_name),
             "white_paper_key": "{}-whitePaper".format(project_name),
             "area_code": "+86",
             "project_poster_key": "123455",
             "cellphone": "123456789",
             "telephone": "12345678910",
             "email": faker.email(),
             "full_name": full_name1,
             "short_name": short_name1,
             "issue_price": "2.24545",
             "issued_volume": "1000000",
             "circulation_volume": "1000000",
             "issued_date": "2018-08-08",
             "coin_logo_key": "456455",
             "blockchain_type": "public_chain",
             "data_link": "{}-data-link".format(project_name),
             "block_browser": "{}-block-Browser".format(project_name)
         }
         req = ApplicationRequest(**payload1)
         project_api.applications_post(body=req)
     except ApiException as e:
         assert e.status == 400
         message = json.loads(e.body)['message']
         assert message == '项目名称已经存在'
     else:
         assert False
 def test_applications8(self):
     faker = Faker()
     manager = PlatformManager("venture")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"),
                      nick_name='fghfg')
     token = manager.login(account=email, password=password)
     # 个人实名认证
     individual_verify(platform="venture",
                       id_number=get_random_id_number(),
                       token=token)
     # 申请项目
     project_name = get_random_name(2, 16)
     short_name = "O" + str(random.randint(10000, 99999))
     full_name = get_random_name(2, 16)
     project_api = ProjectApi()
     set_login_status(project_api, token)
     pay = copy.deepcopy(dict(payload))
     pay.update({
         'project_name': project_name,
         'short_name': short_name,
         'full_name': full_name
     })
     req = ApplicationRequest(**pay)
     res = project_api.applications_post(body=req)
     project_apply_id = res.id
     # 创建保健方账号
     staff_api = SponsorsManagermentApi()
     staff_token = get_admin_token()
     set_login_status(staff_api, staff_token)
     sponsor = {
         "account": get_random_name(6, 25),
         "password": faker.password(),
         "name": faker.user_name(),
         "email": faker.email(),
         "phone": faker.phone_number()
     }
     staff_api.staff_sponsors_post(post_sponsor=sponsor)
     # 新建交易所标签
     website_api = WebsiteManagementApi()
     set_login_status(website_api, staff_token)
     website = {
         "name":
         "交易所标签" + str(random.randint(10000, 99999)),
         "otherLanguage": [{
             "key": "英语",
             "value": "public_chain"
         }, {
             "key": "法语",
             "value": "public_chain"
         }]
     }
     website_api.exchange_tags_post(body=website)
     # 项目方获取保健列表
     venture_api = SMApi()
     set_login_status(venture_api, token)
     res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
     item = res.items.pop()
     sponsor_id = item.id
     # 项目方设置保健方
     project_api.applications_id_set_sponsor_put(
         id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
     # 保健方登
     # 保健项目
     sponsor_api = SponsorsProjectApi()
     get_sponsor_token(account=sponsor.get("account"),
                       password=sponsor.get("password"),
                       email=sponsor.get("email"),
                       api_list=[sponsor_api])
     sponsor_api.projects_sponsor_put(put_project_sponsor_request={
         "id": project_apply_id,
         "status": 1,
         "remark": "remark"
     })
     # 币种配置列表
     asset_api = AssetManagementApi()
     set_login_status(asset_api, staff_token)
     res = asset_api.asset_mgmt_coins_get(page=1, coin_name=short_name)
     coin_id = ''
     assert res.meta.total_count == 1
     for item in res.items:
         assert item.coin_name == short_name
         coin_id = item.id
     # 初始化币种配置
     payload1 = {
         "usdtPrice": "1",
         "rcTimes": 0,
         "wcTimes": 0,
         "withdrawRate": "1",
         "minWithdrawFee": "1",
         "minWithdraw": "1",
         "maxWithdraw": "1",
         "dayWithdrawTotal": "1",
         "minRecharge": "1",
         "addressTagSwitch": True,
         "addressType": "1",
         "addressUrl": "1",
         "txidUrl": "1"
     }
     asset_api.asset_mgmt_coins_id_init_put(id=coin_id, body=payload1)
     # 授权登录
     api = AccountApi()
     set_login_status(api, token)
     api.create_platform()
     # 提交交易所申请
     exchange_api = ExchangeManagementApi()
     set_login_status(exchange_api, token)
     exchange = {
         "email": email,
         "logo": "gdfgdvdfvdf",
         "name": "交易所" + str(random.randint(10000, 99999)),
         "nationality": "+86",
         "phone": '+86135678' + str(random.randint(10000, 99999)),
         "tags": website['name']
     }
     exchange_api.exchange_post(exchange)
     # 交易所账号审核列表
     audit_api = AuditApi()
     set_login_status(audit_api, staff_token)
     res = audit_api.tenant_audits_get(exchange_name=exchange['name'])
     audit_id = ''
     for item in res.items:
         audit_id = item.id
     # 交易所初审
     audit = {
         "failureType": "string",
         "id": audit_id,
         "isDataReceived": True,
         "status": "approved"
     }
     audit_api.tenant_audits_audit_post(body=audit)
     # 交易所账号审核列表
     res = audit_api.tenant_audits_get(exchange_name=exchange['name'])
     re_audit_id = ''
     for item in res.items:
         re_audit_id = item.id
     # 交易所账号复审
     re_audit = {
         "failureType": "string",
         "id": re_audit_id,
         "status": "approved"
     }
     audit_api.tenant_audits_re_audit_post(body=re_audit)
     # 获取交易所id
     exchange_id_ = ''
     res = exchange_api.exchange_exchange_id_get()
     exchange_id_ = res.id
     # 获取项目列表
     exchange_project_api = ExchangeProject()
     set_login_status(exchange_project_api, token)
     project_id = ''
     res = exchange_project_api.projects_get(coin_name=short_name)
     for item in res.items:
         project_id = item.project_id
     # 申请对接
     contacts_api = ExchangeContacts()
     set_login_status(contacts_api, token)
     contacts = {
         "exchangeId": exchange_id_,
         "projectId": project_id,
         "sponsor": "tenant"
     }
     contacts_api.contacts_post(contacts)
     # 获取项目未处理的邀请记录数量
     contacts_project_api = ContactsApi()
     set_login_status(contacts_project_api, token)
     res = contacts_project_api.contacts_invite_number_get(id=project_id)
     assert res.result == '1'
     # 获取交易所对接的项目列表
     api = ProjectManagementApi()
     set_login_status(api, token)
     contacts_id = ''
     res = api.projects_id_contacts_get(id=project_id, sponsor="pending")
     for item in res.items:
         if item.exchange_name == exchange['name']:
             contacts_id = item.contact_id
     # 处理对接邀请
     payload2 = {"contactId": contacts_id, "status": "accepted"}
     contacts_project_api.contacts_put(body=payload2)
     # 判断项目方与交易所是否已经申请对接
     res = contacts_project_api.contacts_check_get(project_id=project_id,
                                                   exchange_id=exchange_id_)
     assert res.result
    def test_report4(self):
        faker = Faker()
        manager = PlatformManager("venture")
        email = random_email()
        password = faker.password()
        country = random_get_country_ob()
        manager.register(email=email,
                         password=password,
                         promotion_code=None,
                         verification_code="666666",
                         nationality_code=country.get("k"))
        token = manager.login(account=email, password=password)
        # 个人实名认证
        individual_verify(platform="venture",
                          id_number=get_random_id_number(),
                          token=token)
        # 申请项目
        project_name = get_random_name(2, 16)
        short_name = "F" + str(random.randint(10000, 99999))
        full_name = get_random_name(2, 16)
        project_api = ProjectApi()
        set_login_status(project_api, token)
        pay = copy.deepcopy(dict(payload))
        pay.update({
            'project_name': project_name,
            'short_name': short_name,
            'full_name': full_name
        })
        req = ApplicationRequest(**pay)
        res = project_api.applications_post(body=req)
        project_apply_id = res.id

        # 创建保健方账号
        staff_api = SponsorsManagermentApi()
        staff_token = get_admin_token()
        set_login_status(staff_api, staff_token)
        sponsor = {
            "account": get_random_name(6, 25),
            "password": faker.password(),
            "name": faker.user_name(),
            "email": email,
            "phone": faker.phone_number()
        }
        staff_api.staff_sponsors_post(post_sponsor=sponsor)
        # 项目方获取保健列表
        venture_api = SMApi()
        set_login_status(venture_api, token)
        res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
        item = res.items.pop()
        sponsor_id = item.id
        # 项目方设置保健方
        project_api.applications_id_set_sponsor_put(
            id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
        # 保健方登
        # 保健项目
        sponsor_api = SponsorsProjectApi()
        get_sponsor_token(account=sponsor.get("account"),
                          password=sponsor.get("password"),
                          email=sponsor.get("email"),
                          api_list=[sponsor_api])
        sponsor_api.projects_sponsor_put(put_project_sponsor_request={
            "id": project_apply_id,
            "status": 1,
            "remark": "remark"
        })
        # 获取项目列表
        res = project_api.projects_get(page=1)
        audit_project_id = ''
        for item in res.items:
            assert item.project_name == project_name
            assert item.full_name == full_name
            assert item.short_name == short_name
            audit_project_id = item.project_id
        # 发送项目报告
        report_api = ReportManagementApi()
        set_login_status(report_api, token)
        payload1 = {
            "title": "项目报告" + str(random.randint(1000, 9999)),
            "type": "daily",
            "report_url": "C:\pc\Desktop\wanshare.pdf",
            "project_id": audit_project_id
        }
        req = PostReportRequest(**payload1)
        report_api.reports_post(body=req)
        # 获取报告列表
        res = report_api.reports_project_id_get(project_id=audit_project_id)
        assert res.meta.total_count == 1
        for item in res.items:
            assert item.title == payload1['title']
            assert item.type == payload1['type']
            assert item.id
Exemple #11
0
    def test_applications4(self):
        faker = Faker()
        manager = PlatformManager("venture")
        email = random_email()
        password = faker.password()
        country = random_get_country_ob()
        manager.register(email=email,
                         password=password,
                         promotion_code=None,
                         verification_code="666666",
                         nationality_code=country.get("k"))
        token = manager.login(account=email, password=password)
        # 个人实名认证
        individual_verify(platform="venture",
                          id_number=get_random_id_number(),
                          token=token)
        # 申请项目
        project_name = get_random_name(2, 16)
        short_name = "K" + str(random.randint(10000, 99999))
        full_name = get_random_name(2, 16)
        project_api = ProjectApi()
        set_login_status(project_api, token)
        pay = copy.deepcopy(dict(payload))
        pay.update({
            'project_name': project_name,
            'short_name': short_name,
            'full_name': full_name
        })
        req = ApplicationRequest(**pay)
        res = project_api.applications_post(body=req)
        project_apply_id = res.id

        # 创建保健方账号
        staff_api = SponsorsManagermentApi()
        staff_token = get_admin_token()
        set_login_status(staff_api, staff_token)
        sponsor = {
            "account": get_random_name(6, 25),
            "password": faker.password(),
            "name": faker.user_name(),
            "email": faker.email(),
            "phone": faker.phone_number()
        }
        staff_api.staff_sponsors_post(post_sponsor=sponsor)
        # 项目方获取保健列表
        venture_api = SMApi()
        set_login_status(venture_api, token)
        res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
        item = res.items.pop()
        sponsor_id = item.id
        # 项目方设置保健方
        project_api.applications_id_set_sponsor_put(
            id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
        # 保健方登
        # 保健项目
        sponsor_api = SponsorsProjectApi()
        get_sponsor_token(account=sponsor.get("account"),
                          password=sponsor.get("password"),
                          email=sponsor.get("email"),
                          api_list=[sponsor_api])
        sponsor_api.projects_sponsor_put(put_project_sponsor_request={
            "id": project_apply_id,
            "status": 1,
            "remark": "remark"
        })
        # 获取项目列表
        res = project_api.projects_get(page=1)
        audit_project_id = ''
        for item in res.items:
            assert item.project_name == project_name
            assert item.full_name == full_name
            assert item.short_name == short_name
            audit_project_id = item.project_id
        # 获取项目详情
        res = project_api.projects_id_get(id=audit_project_id)
        assert res.sponsor_info.sponsor_name == sponsor.get("name")
        assert res.sponsor_info.sponsor_id
        assert res.project_info.project_name == project_name
        assert res.project_info.id
        assert res.coin_info.short_name == short_name
        assert res.coin_info.full_name == full_name
        assert res.coin_info.id
        # 修改项目信息
        project_info1 = {
            "white_paper_key": "url/pdf123455",
            "official_website": "www.xxxx.com",
            "email": "*****@*****.**",
            "area_code": "+86",
            "cellphone": "13510022445",
            "telephone": "12874846",
            "project_poster_key": "url/image123455",
            "description": "以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台"
        }
        communities = {'type': 'QQ', 'value': 'www.qq.com'}
        setting = {'open': True, 'access_method': 'accept'}
        data = PutProjectRequest()
        data.project_info = PutProjectRequestProjectInfo(**project_info1)
        data.setting = PutProjectRequestSetting(**setting)
        data.communities = [PutProjectRequestCommunities(**communities)]
        project_api.projects_id_put(id=audit_project_id,
                                    type='base',
                                    body=data)
        # 获取项目列表
        res = project_api.projects_get(page=1)
        audit_project_id = ''
        for item in res.items:
            if item.project_name == project_name:
                audit_project_id = item.project_id
        # 获取项目详情
        res = project_api.projects_id_get(id=audit_project_id)
        assert res.sponsor_info.sponsor_name == sponsor.get("name")
        assert res.sponsor_info.sponsor_id
        assert res.project_info.project_name == project_name
        assert res.project_info.id
        assert res.coin_info.short_name == short_name
        assert res.coin_info.full_name == full_name
        assert res.coin_info.id
    def test_applications17(self):
        faker = Faker()
        manager = PlatformManager("venture")
        email = random_email()
        password = faker.password()
        country = random_get_country_ob()
        manager.register(email=email,
                         password=password,
                         promotion_code=None,
                         verification_code="666666",
                         nationality_code=country.get("k"))
        token = manager.login(account=email, password=password)
        # 个人实名认证
        individual_verify(platform="venture",
                          id_number=get_random_id_number(),
                          token=token)
        # 申请项目
        project_name = get_random_name(2, 16)
        short_name = "W" + str(random.randint(10000, 99999))
        full_name = get_random_name(2, 16)
        project_api = ProjectApi()
        set_login_status(project_api, token)
        pay = copy.deepcopy(dict(payload))
        pay.update({
            'project_name': project_name,
            'short_name': short_name,
            'full_name': full_name
        })
        req = ApplicationRequest(**pay)
        res = project_api.applications_post(body=req)
        project_apply_id = res.id

        # 创建保健方账号
        staff_api = SponsorsManagermentApi()
        staff_token = get_admin_token()
        set_login_status(staff_api, staff_token)
        sponsor = {
            "account": get_random_name(6, 25),
            "password": faker.password(),
            "name": faker.user_name(),
            "email": faker.email(),
            "phone": faker.phone_number()
        }
        staff_api.staff_sponsors_post(post_sponsor=sponsor)
        # 项目方获取保健列表
        venture_api = SMApi()
        set_login_status(venture_api, token)
        res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
        item = res.items.pop()
        sponsor_id = item.id
        # 项目方设置保健方
        project_api.applications_id_set_sponsor_put(
            id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
        # 保健方登
        # 保健项目
        sponsor_api = SponsorsProjectApi()
        get_sponsor_token(account=sponsor.get("account"),
                          password=sponsor.get("password"),
                          email=sponsor.get("email"),
                          api_list=[sponsor_api])
        sponsor_api.projects_sponsor_put(put_project_sponsor_request={
            "id": project_apply_id,
            "status": 1,
            "remark": "remark"
        })
        # 获取项目列表
        res = project_api.projects_get(page=1)
        audit_project_id = ''
        for item in res.items:
            assert item.project_name == project_name
            assert item.full_name == full_name
            assert item.short_name == short_name
            audit_project_id = item.project_id
        # 获取项目详情
        res = project_api.projects_id_get(id=audit_project_id)
        assert res.sponsor_info.sponsor_name == sponsor.get("name")
        assert res.sponsor_info.sponsor_id
        assert res.project_info.project_name == project_name
        assert res.project_info.id
        assert res.coin_info.short_name == short_name
        assert res.coin_info.full_name == full_name
        assert res.coin_info.id
        # 修改申请项目
        payload1 = {
            "communities": [{
                "type": "QQ",
                "value": "http://qq.com"
            }, {
                "type": "Facebook",
                "value": "http://Facebook.com"
            }, {
                "type": "twitter",
                "value": "http://www.twitter.com"
            }]
        }
        project_api.projects_id_put(id=audit_project_id,
                                    type="community",
                                    body=payload1)
        # 获取项目列表
        res = project_api.projects_get(page=1)
        audit_project_id = ''
        for item in res.items:
            assert item.project_name == project_name
            assert item.full_name == full_name
            assert item.short_name == short_name
            audit_project_id = item.project_id
        # 获取项目详情
        res = project_api.projects_id_get(id=audit_project_id)
        assert res.sponsor_info.sponsor_name == sponsor.get("name")
        assert res.sponsor_info.sponsor_id
        assert res.project_info.project_name == project_name
        assert res.project_info.id
        assert res.coin_info.short_name == short_name
        assert res.coin_info.full_name == full_name
        assert res.coin_info.id
        for ties in res.project_info.communities:
            assert ties.type in ('qq', 'facebook', 'twitter')
            assert ties.type in ties.value.lower()
    def test_announcement3(self):
        faker = Faker()
        manager = PlatformManager("venture")
        email = random_email()
        password = faker.password()
        country = random_get_country_ob()
        manager.register(email=email,
                         password=password,
                         promotion_code=None,
                         verification_code="666666",
                         nationality_code=country.get("k"))
        token = manager.login(account=email, password=password)
        # 个人实名认证
        individual_verify(platform="venture",
                          id_number=get_random_id_number(),
                          token=token)
        # 申请项目
        project_name = get_random_name(2, 16)
        short_name = "AQ" + str(random.randint(100, 999))
        full_name = get_random_name(2, 16)
        project_api = ProjectApi()
        set_login_status(project_api, token)
        pay = copy.deepcopy(dict(payload))
        pay.update({
            'project_name': project_name,
            'short_name': short_name,
            'full_name': full_name
        })
        req = ApplicationRequest(**pay)
        res = project_api.applications_post(body=req)
        project_apply_id = res.id

        # 创建保健方账号
        staff_api = SponsorsManagermentApi()
        staff_token = get_admin_token()
        set_login_status(staff_api, staff_token)
        sponsor = {
            "account": get_random_name(6, 25),
            "password": faker.password(),
            "name": faker.user_name(),
            "email": email,
            "phone": faker.phone_number()
        }
        staff_api.staff_sponsors_post(post_sponsor=sponsor)
        # 项目方获取保健列表
        venture_api = SMApi()
        set_login_status(venture_api, token)
        res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
        item = res.items.pop()
        sponsor_id = item.id
        # 项目方设置保健方
        project_api.applications_id_set_sponsor_put(
            id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
        # 保健方登
        # 保健项目
        sponsor_api = SponsorsProjectApi()
        get_sponsor_token(account=sponsor.get("account"),
                          password=sponsor.get("password"),
                          email=sponsor.get("email"),
                          api_list=[sponsor_api])
        sponsor_api.projects_sponsor_put(put_project_sponsor_request={
            "id": project_apply_id,
            "status": 1,
            "remark": "remark"
        })
        # 获取项目列表
        res = project_api.projects_get(page=1)
        audit_project_id = ''
        for item in res.items:
            assert item.project_name == project_name
            assert item.full_name == full_name
            assert item.short_name == short_name
            audit_project_id = item.project_id
        # 发送新闻资讯
        news_api = NewManagementApi()
        set_login_status(news_api, token)
        payload1 = {
            'title': '新闻资讯' + str(random.randint(1000, 9999)),
            'link': 'www.baidu.com',
            'source': '百度',
            'project_id': audit_project_id
        }
        req = PostNewsRequest(**payload1)
        news_api.news_post(body=req)
        # 获取项目资讯列表
        staff_am_api = AnnouncementManagementApi()
        set_login_status(staff_am_api, token)
        news_id = ''
        staff_am_api = AnnouncementManagementApi()
        set_login_status(staff_am_api, token)
        res = staff_am_api.news_project_id_get(project_id=audit_project_id)
        assert res.meta.total_count == 1
        for item in res.items:
            assert item.title == payload1['title']
            assert item.source == payload1['source']
            assert item.status is True
            assert item.url
            news_id = item.id
        # 修改项目资讯状态
        staff_am_api.news_id_status_put(id=news_id, status=False)
        # 获取项目列表资讯
        res = staff_am_api.news_project_id_get(project_id=audit_project_id)
        assert res.meta.total_count == 1
        for item in res.items:
            assert item.title == payload1['title']
            assert item.source == payload1['source']
            assert item.status is False
Exemple #14
0
    def test_staff_venture_case1(self):
        faker = Faker()
        manager = PlatformManager("venture")
        email = random_email()
        password = faker.password()
        country = random_get_country_ob()
        manager.register(email=email,
                         password=password,
                         promotion_code=None,
                         verification_code="666666",
                         nationality_code=country.get("k"))
        token = manager.login(account=email, password=password)
        # 个人实名认证
        individual_verify(platform="venture",
                          id_number=get_random_id_number(),
                          token=token)
        # 申请项目
        project_name = get_random_name(2, 16)
        short_name = "WE" + str(random.randint(1000, 9999))
        full_name = get_random_name(2, 16)
        project_api = ProjectApi()
        set_login_status(project_api, token)
        pay = copy.deepcopy(dict(payload))
        pay.update({
            'project_name': project_name,
            'short_name': short_name,
            'full_name': full_name
        })
        req = ApplicationRequest(**pay)
        res = project_api.applications_post(body=req)
        project_apply_id = res.id

        # 创建保健方账号
        staff_api = SponsorsManagermentApi()
        staff_token = get_admin_token()
        set_login_status(staff_api, staff_token)
        sponsor = {
            "account": get_random_name(6, 25),
            "password": faker.password(),
            "name": faker.user_name(),
            "email": email,
            "phone": faker.phone_number()
        }
        staff_api.staff_sponsors_post(post_sponsor=sponsor)
        # 项目方获取保健列表
        venture_api = SMApi()
        set_login_status(venture_api, token)
        res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
        item = res.items.pop()
        sponsor_id = item.id
        # 项目方设置保健方
        project_api.applications_id_set_sponsor_put(
            id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
        # 保健方登
        # 保健项目
        sponsor_api = SponsorsProjectApi()
        get_sponsor_token(account=sponsor.get("account"),
                          password=sponsor.get("password"),
                          email=sponsor.get("email"),
                          api_list=[sponsor_api])
        sponsor_api.projects_sponsor_put(put_project_sponsor_request={
            "id": project_apply_id,
            "status": 1,
            "remark": "remark"
        })
        # 币种配置列表
        asset_api = AssetManagementApi()
        set_login_status(asset_api, staff_token)
        res = asset_api.asset_mgmt_coins_get(page=1, coin_name=short_name)
        coin_id = ''
        assert res.meta.total_count == 1
        for item in res.items:
            assert item.coin_name == short_name
            coin_id = item.id
        # 初始化币种配置
        payload1 = {
            "usdtPrice": "1",
            "rcTimes": 0,
            "wcTimes": 0,
            "withdrawRate": "1",
            "minWithdrawFee": "1",
            "minWithdraw": "1",
            "maxWithdraw": "1",
            "dayWithdrawTotal": "1",
            "minRecharge": "1",
            "addressTagSwitch": True,
            "addressType": "1",
            "addressUrl": "1",
            "txidUrl": "1"
        }
        asset_api.asset_mgmt_coins_id_init_put(id=coin_id, body=payload1)
        # 后台查询项目方用户列表
        staff_venture_api = VentureManagementApi()
        set_login_status(staff_venture_api, token)
        res = staff_venture_api.accounts_ventures_get(email=email)
        assert res.meta.total_count == 1
        uid = ''
        for item in res.items:
            assert item.email == email
            assert item.venture_id
            uid = item.uid
        # 获取项目方用户信息
        res = staff_venture_api.accounts_ventures_id_get(id=uid)
        assert res.email == email
        assert res.account_id
        assert res.venture_id
 def test_applications2(self):
     faker = Faker()
     manager = PlatformManager("venture")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 个人实名认证
     individual_verify(platform="venture",
                       id_number=get_random_id_number(),
                       token=token)
     # 申请项目
     project_name = get_random_name(2, 16)
     short_name = "I" + str(random.randint(10000, 99999))
     full_name = get_random_name(2, 16)
     project_api = ProjectApi()
     set_login_status(project_api, token)
     pay = copy.deepcopy(dict(payload))
     pay.update({
         'project_name': project_name,
         'short_name': short_name,
         'full_name': full_name
     })
     req = ApplicationRequest(**pay)
     res = project_api.applications_post(body=req)
     project_apply_id = res.id
     # 创建保健方账号
     staff_api = SponsorsManagermentApi()
     staff_token = get_admin_token()
     set_login_status(staff_api, staff_token)
     sponsor = {
         "account": get_random_name(6, 25),
         "password": faker.password(),
         "name": faker.user_name(),
         "email": faker.email(),
         "phone": faker.phone_number()
     }
     staff_api.staff_sponsors_post(post_sponsor=sponsor)
     # 项目方获取保健列表
     venture_api = SMApi()
     set_login_status(venture_api, token)
     res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
     item = res.items.pop()
     sponsor_id = item.id
     # 项目方设置保健方
     project_api.applications_id_set_sponsor_put(
         id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
     # 查看项目申请列表
     res = project_api.applications_get(page=1)
     project_id = ''
     for item in res.items:
         assert item.project_name == project_name
         assert item.fullname == full_name
         assert item.short_name == short_name
         assert item.status == 'under_review'
         project_id = item.id
     # 查看申请项目详情
     res = project_api.applications_id_get(id=project_id)
     assert res.sponsor_id == sponsor_id
     assert res.sponsor_name == sponsor.get("name")
     assert res.id == project_id
     assert res.project_name == project_name
     assert res.short_name == short_name
     assert res.full_name == full_name
     assert res.status == 'under_review'
     # 修改申请项目
     project_name1 = '项目方' + str(random.randint(1000, 9999))
     full_name1 = 'BitCoin' + str(random.randint(1000, 9999))
     short_name1 = 'BTC' + str(random.randint(100, 999))
     payload2 = {
         'project_name': project_name1,
         'description': 'XXXXXXXXXXXXXXXX',
         'official_website': 'www.xxxx.com',
         'white_paper_key': 'url/pdf123455',
         'area_code': '+86',
         "project_poster_key": "123455",
         'cellphone': '13510022445',
         'telephone': '12874846',
         'email': '*****@*****.**',
         'full_name': full_name1,
         'short_name': short_name1,
         'issue_price': '2.24545',
         'issued_volume': '1000000',
         'circulation_volume': '1000000',
         "coin_logo_key": "456455",
         'blockchain_type': 'public_chain',
         'data_link': 'www.baidu.com',
         'block_browser': 'www.baidu.com'
     }
     req = ApplicationRequest(**payload2)
     try:
         project_api.applications_id_put(id=project_id, body=req)
     except ApiException as apiexc:
         assert apiexc.status == 400
     else:
         assert False
 def test_applications(self):
     faker = Faker()
     manager = PlatformManager("venture")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 创建保荐方账号
     staff_api = SponsorsManagermentApi()
     staff_token = get_admin_token()
     set_login_status(staff_api, staff_token)
     sponsor = {
         "account": get_random_name(6, 25),
         "password": faker.password(),
         "name": faker.user_name(),
         "email": faker.email(),
         "phone": faker.phone_number()
     }
     staff_api.staff_sponsors_post(post_sponsor=sponsor)
     # 保荐方登
     sponsor_api = SponsorsProjectApi()
     get_sponsor_token(account=sponsor.get("account"),
                       password=sponsor.get("password"),
                       email=sponsor.get("email"),
                       api_list=[sponsor_api])
     # 保荐成功记录
     res = sponsor_api.sponsor_record_success_get(page=1)
     assert not res.meta
     # 个人实名认证
     individual_verify(platform="venture",
                       id_number=get_random_id_number(),
                       token=token)
     # 申请项目
     project_name = get_random_name(2, 16)
     short_name = "Q" + str(random.randint(10000, 99999))
     full_name = get_random_name(2, 16)
     project_api = ProjectApi()
     set_login_status(project_api, token)
     pay = copy.deepcopy(dict(payload))
     pay.update({
         'project_name': project_name,
         'short_name': short_name,
         'full_name': full_name
     })
     req = ApplicationRequest(**pay)
     res = project_api.applications_post(body=req)
     project_apply_id = res.id
     # 项目方获取保健列表
     venture_api = SMApi()
     set_login_status(venture_api, token)
     res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
     item = res.items.pop()
     sponsor_id = item.id
     # 项目方设置保健方
     project_api.applications_id_set_sponsor_put(
         id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
     # 保健方登
     # 保健项目
     sponsor_api = SponsorsProjectApi()
     get_sponsor_token(account=sponsor.get("account"),
                       password=sponsor.get("password"),
                       email=sponsor.get("email"),
                       api_list=[sponsor_api])
     sponsor_api.projects_sponsor_put(put_project_sponsor_request={
         "id": project_apply_id,
         "status": 1,
         "remark": "remark"
     })
     # 保荐成功记录
     res = sponsor_api.sponsor_record_success_get(page=1)
     assert res.meta.total_count == 1
Exemple #17
0
 def test_platform_article_case13(self):
     faker = Faker()
     manager = PlatformManager("main")
     email = random_email()
     password = faker.password()
     country = random_get_country_ob()
     manager.register(email=email,
                      password=password,
                      promotion_code=None,
                      verification_code="666666",
                      nationality_code=country.get("k"))
     token = manager.login(account=email, password=password)
     # 后台登录
     content_api = ContentManagementApi()
     staff_token = get_admin_token()
     set_login_status(content_api, staff_token)
     # 获取文章模型列表
     models_id = ''
     page = 1
     res = content_api.models_get(type='article', page=page)
     total_page = res.meta.total_page
     while page <= total_page:
         res = content_api.models_get(type='article', page=page)
         for item in res.items:
             if item.name == '公告中心':
                 assert item.status is True
                 assert item.type == 'article'
                 models_id = item.id
         page += 1
     # 新建documents文章
     payload1 = {
         "author": "作者" + str(random.randint(10000, 99999)),
         "content": "文章内容" + str(random.randint(10000, 99999)),
         "isTop": True,
         "language": "zh_cn",
         "modelId": models_id,
         "order": str(random.randint(10000, 99999)),
         "status": True,
         "title": "文章标题" + str(random.randint(10000, 99999)),
         "type": "article"
     }
     content_api.documents_post(body=payload1)
     # 主平台平台文章列表
     platform_api = PlatformArticleManagementApi()
     documents_id = ''
     page = 1
     res = platform_api.platform_articles_get(
         identification='PlatformNotice', language='zh_cn')
     total_page = res.meta.total_page
     while page <= total_page:
         res = platform_api.platform_articles_get(
             identification='PlatformNotice', language='zh_cn')
         for item in res.items:
             if item.title == payload1['title']:
                 assert item.id
                 assert item.read is False
                 documents_id = item.id
         page += 1
     # 主平台获取文章详情
     res = platform_api.platform_articles_id_get(id=documents_id)
     assert res.title == payload1['title']
     assert res.read is False
     assert res.content == payload1['content']
     # 主平台文章已读
     set_login_status(platform_api, token)
     platform_api.platform_articles_id_mark_read_put(id=documents_id)
     # 主平台平台文章列表
     page = 1
     res = platform_api.platform_articles_get(
         identification='PlatformNotice', language='zh_cn')
     total_page = res.meta.total_page
     while page <= total_page:
         res = platform_api.platform_articles_get(
             identification='PlatformNotice', language='zh_cn')
         for item in res.items:
             if item.title == payload1['title']:
                 assert item.id
                 assert item.read is True
         page += 1
Exemple #18
0
    def test_applications1(self):
        faker = Faker()
        manager = PlatformManager("venture")
        email = random_email()
        password = faker.password()
        country = random_get_country_ob()
        manager.register(email=email,
                         password=password,
                         promotion_code=None,
                         verification_code="666666",
                         nationality_code=country.get("k"))
        token = manager.login(account=email, password=password)
        # 个人实名认证
        individual_verify(platform="venture",
                          id_number=get_random_id_number(),
                          token=token)
        # 申请项目
        project_name = get_random_name(2, 16)
        short_name = "H" + str(random.randint(10000, 99999))
        full_name = get_random_name(2, 16)
        project_api = ProjectApi()
        set_login_status(project_api, token)
        pay = copy.deepcopy(dict(payload))
        pay.update({
            'project_name': project_name,
            'short_name': short_name,
            'full_name': full_name
        })
        req = ApplicationRequest(**pay)
        res = project_api.applications_post(body=req)
        project_apply_id = res.id

        # 创建保健方账号
        staff_api = SponsorsManagermentApi()
        staff_token = get_admin_token()
        set_login_status(staff_api, staff_token)
        sponsor = {
            "account": get_random_name(6, 25),
            "password": faker.password(),
            "name": faker.user_name(),
            "email": faker.email(),
            "phone": faker.phone_number()
        }
        staff_api.staff_sponsors_post(post_sponsor=sponsor)

        # 项目方获取保健列表
        venture_api = SMApi()
        set_login_status(venture_api, token)
        res = venture_api.sponsors_get(page=1, name=sponsor.get("name"))
        item = res.items.pop()
        sponsor_id = item.id

        # 项目方设置保健方
        project_api.applications_id_set_sponsor_put(
            id=project_apply_id, sponsor_request={"sponsorId": sponsor_id})
        # 查看项目申请列表
        res = project_api.applications_get(page=1)
        project_id = ''
        for item in res.items:
            assert item.project_name == project_name
            assert item.fullname == full_name
            assert item.short_name == short_name
            assert item.status == 'under_review'
            project_id = item.id
        # 查看申请项目详情
        res = project_api.applications_id_get(id=project_id)
        assert res.sponsor_id == sponsor_id
        assert res.sponsor_name == sponsor['name']
        assert res.id == project_id
        assert res.project_name == project_name
        assert res.short_name == short_name
        assert res.full_name == full_name
        assert res.status == 'under_review'
 def test_invite_success(self, platform, with_login):
     # 验证主平台,后台登录状态
     staff_token = get_admin_token()
     set_login_status(staff_acmanager_api, staff_token)
     user1 = register_with_login(platform, with_login,
                                 [main_ac_api, main_invite_api])
     # 获取user1邀请码
     user1_invite_info = main_invite_api.invites_invite_info_get()
     print('user1邀请码信息:', user1_invite_info)
     assert hasattr(user1_invite_info, 'invite_code')
     assert hasattr(user1_invite_info, 'invite_total')
     assert hasattr(user1_invite_info, 'reward_total')
     # 绑定登录user1与api
     # 获取主平台登录账户account_id,邀请码
     user1_acinfo_res = main_ac_api.accounts_account_info_get()
     invite_code = user1_acinfo_res.account_info.promotion_code
     user1_account_id = user1_acinfo_res.account_info.account_id
     print('user1账户id:', user1_account_id)
     user1_account_mail = user1_acinfo_res.account_info.email
     # user2用user1的邀请码注册账号,登录成功
     manager = PlatformManager(platform)
     user2_ran_email = rand_email()
     print('user2邮箱:', user2_ran_email)
     ran_password = rand_password()
     ran_country = random_get_country_ob()["k"]
     print(invite_code)
     manager.register(email=user2_ran_email,
                      password=ran_password,
                      promotion_code=invite_code,
                      nationality_code=ran_country,
                      nick_name=faker.name())
     user2_token = manager.login(user2_ran_email, ran_password)
     # assert user2_token
     # 查看主平台user1邀请信息
     set_login_status(main_ac_api, user1['token'])
     set_login_status(main_invite_api, user1['token'])
     main_user1_inviteres = main_ac_api.accounts_invites_get()
     print('user1邀请信息:', main_user1_inviteres)
     # 绑定主平台user2与api
     set_login_status(main_ac_api, user2_token)
     set_login_status(main_invite_api, user2_token)
     user2_acinfo_res = main_ac_api.accounts_account_info_get()
     user2_account_id = user2_acinfo_res.account_info.account_id
     print('user2账户id:', user2_account_id)
     main_user1_invitelist = [
         i.account_id for i in main_user1_inviteres.items
     ]
     assert user2_account_id in main_user1_invitelist
     # 后台查看邀请记录信息
     user2_invite_res = staff_acmanager_api.accounts_id_inviter_get(
         id=user2_account_id)
     user2_invitor = user2_invite_res.inviter
     assert user2_invitor == user1_account_mail
     # 后台查看邀请好友列表
     user1_invite_res = staff_acmanager_api.accounts_id_invitees_get(
         id=user1_account_id)
     user1_invite_list = [i.account_id for i in user1_invite_res.items]
     assert user2_account_id in user1_invite_list
     # 查看邀请奖励记录
     reward_record_res = main_invite_api.invites_reward_list_get(
         account_id=user1_account_id)
     print('邀请奖励:', reward_record_res)
     assert reward_record_res.items == []