Пример #1
0
 def test_002(self, case):
     try:
         re = Request(method=case["method"],
                      url=case['url'],
                      data=json.dumps(case['data']),
                      header=self.header)
         result = re.get_json()
         if result['code'] == 0:
             print("根据邀请码加入社区-->成功 %s" % result)
         else:
             print("根据邀请码加入社区-->失败 %s" % result)
             My_Logger().info("根据邀请码加入社区-->失败 %s" % result)
     except Exception as e:
         My_Logger().error("错误接口:根据邀请码加入社区-->%s" % e)
         raise e
Пример #2
0
 def add_purchase(self):
     self.data['_mt'] = 'saasmanager.service.savePurchaseAgreement'
     param = {
         "agreementNo": "",
         "agreementDate": now_time,
         "outAgreementNo": "TEST12345678",
         "ourCompanyId": 270,
         "ourCompanyName": "上海赛可出行科技服务有限公司",
         "supplierCompanyId": 224,
         "supplierCompanyName": "上海赛可出行科技服务有限公司",
         "businessMode": 1,
         "agreementMonth": "2020-07",
         "agreementAmount": 10000000,
         "agreementMarginRatio": 0.1,
         "agreementMarginAmount": 1000000,
         "agreementWeight": 10000,
         "paidAmount": "",
         "deliveryType": "1",
         "contractAddress": "江苏",
         "lastDeliveryDate": "2020-07-16",
         "paymentModeId": "897",
         "paymentModeName": "银行转账",
         "salesMan": "zg_182616hJ0",
         "agreementClause": "测试",
         "remark": "测试",
         "agreementBeginDate": "2020-07-09",
         "agreementEndDate": "2020-08-12"
     }
     self.data['param'] = json.dumps(param, ensure_ascii=False)
     self.data['_tk'] = login()
     Request().post_request(url=self.config.url_test,
                            data=self.data,
                            verify=False)
Пример #3
0
 def savePurchaseReceive(self, purchase_info):
     self.data['_mt'] = 'saasmanager.service.savePurchaseReceiveOrder'
     param = {
         "receiveOrderNo":
         "",
         "purchaseOrderId":
         purchase_info[0]['orderId'],
         "purchaseOrderNo":
         purchase_info[0]['orderNo'],
         "warehouseId":
         175,
         "warehouseName":
         "川沙市场库",
         "receiveDate":
         new_time,
         "ourCompanyId":
         270,
         "ourCompanyName":
         "上海赛可出行科技服务有限公司",
         "supplierCompanyId":
         224,
         "supplierCompanyName":
         "上海赛可出行科技服务有限公司",
         "transportMode":
         1,
         "transportNo":
         "",
         "receiveMan":
         "zg_182616hJ0",
         "remark":
         "",
         "backToBack":
         0,
         "directEntryWarehouse":
         0,
         "details": [{
             "itemId": 103938,
             "purchaseOrderDetailId": purchase_info[1][0]['id'],
             "itemTitle": "三级盘螺",
             "material": "钢材",
             "specification": "PL1233",
             "steelMill": "本钢",
             "itemUnitWay": 1,
             "receiveQuantity": 2,
             "receiveWeight": 40000,
             "weightUnit": 1,
             "singleWeight": 20000,
             "taxRate": 0.13,
             "batchNo": "",
             "packageNo": "KBH23457"
         }]
     }
     self.data['param'] = json.dumps(param, ensure_ascii=False)
     self.data['_tk'] = self._tk
     response = Request().post_request(url=self.config.url_test,
                                       data=self.data,
                                       verify=False)
     return response['body']['content'][0]['purchaseReceiveOrder'][
         'purchaseOrderNo']
Пример #4
0
 def test_001(self, case):
     try:
         res = Request(method=case["method"],
                       url=case['url'],
                       data=json.dumps(case['data']),
                       header=self.header)
         result = res.get_json()
         if result['code'] == 0:
             print("创建社区-->成功 %s" % result)
         else:
             print("创建社区-->失败")
         # 如果创建社区成功,就把创建成功得社区id存起来
         if result['server_id']:
             setattr(Context, 'new_sercer', result['server_id'])
     except Exception as e:
         My_Logger().error("错误接口: %s%s" % case['title'] % e)
         raise e
Пример #5
0
    def query_contactcompany(self):
        self.data['_mt'] = 'tenant.service.queryContactCompanyPageList'
        self.data['companyQueryParam'] = '{"key":"上海赛可出行科技服务有限公司"' \
                               ',"bizRelations":"","status":"","pageNum":1,"pageSize":20,"total":1}'

        self.data['_tk'] = login()
        response = Request().get_request(url=self.config.url_test,
                                         data=self.data,
                                         verify=False)
        return response['body']['content'][0]['companyPageResultList']
Пример #6
0
 def add_goods(self):
     self.data['_mt'] = 'tenant.service.saveGoodsById'
     self.data['goodsSaveParam'] = '{"name":"三级盘螺","categoryId":15668,"fillingType":1,"valuationUnit":1,"quantityUnit":"2",' \
                          '"weightUnit":"1","status":1,"taxRate":0.13,"singleWeight":10000,"mnemonicCode":"SJPL",' \
                          '"material":"钢材","specification":"PL1233","placeOrigin":"本钢","remark":"村上春树",' \
                          '"goodsCategoryName":"三级盘螺"}'
     self.data['_tk'] = login()
     Request().post_request(url=self.config.url_test,
                            data=self.data,
                            verify=False)
Пример #7
0
    def create_warehouse(self):
        self.data['_mt'] = 'tenant.service.createWarehouse'
        self.data['param'] = '{"name":"川沙市场库","shortName":"","supportProcess":0,"status":1,"mnemonicCode":"CSK",' \
                             '"companyName":"上海赛可出行科技服务有限公司","type":"热卷仓库","address":"共祥路289号",' \
                             '"provinceCode":"320000","cityCode":"320100","districtCode":"320101","provinceName":"江苏省",' \
                             '"cityName":"南京","districtName":"市辖区","contactWay":"021-56390084","contactPerson":"葛国东","remark":"test"}'

        self.data['_tk'] = self._tk
        response = Request().post_request(url=self.config.url_test,
                                          data=self.data,
                                          verify=False)
Пример #8
0
 def add_ourcompany(self):
     self.data['_mt'] = 'tenant.service.saveOurCompany'
     self.data['ourCompanySaveParam'] = '{"shortName":"上海赛可出行科技服务"' \
                                        ',"invoiceName":"上海赛可出行科技服务",' \
                                        '"status":"1","companyPostalAddressList":[],' \
                                        '"companyFundsAccountList":[],"name":"上海赛可出行科技服务",' \
                                        '"remark":"autotest"}'
     self.data['_tk'] = login()
     Request().post_request(url=self.config.url_test,
                            data=self.data,
                            verify=False)
Пример #9
0
 def test_addcompany(self, login_fix, _sm, _ft, ourCompanySaveParam, _aid,
                     _uid, _tenantid, _domid, _mt, expect):
     """
     新增本方公司
     """
     req_data = OurCompany().get_req_data(_sm, _ft, ourCompanySaveParam,
                                          _aid, _uid, _tenantid, _domid,
                                          _mt, login_fix)
     res = Request().post_request(conf.url_test, req_data)
     print(res)
     assert res['body']['stat']['stateList'][0]['code'] == expect['code']
Пример #10
0
 def test_addcompany(self, login_fix, _sm, _ft, ourCompanySaveParam, _aid,
                     _uid, _tenantid, _domid, _mt, expect):
     """
     新增本方公司
     """
     req_data = OurCompany().get_req_data(_sm, _ft, ourCompanySaveParam,
                                          _aid, _uid, _tenantid, _domid,
                                          _mt, login_fix)
     print('case_data=%s,expect_data=%s' % (req_data, expect))
     res = Request().post_request(Config().url_test, req_data)
     print('期望结果:%s,实际结果:%s' % (res, expect['code']))
     assert res['body']['stat']['stateList'][0]['code'] == expect['code']
Пример #11
0
 def tearDownClass(cls):
     data = {
         "case_title": "删除新增得频道",
         "method": "post",
         "url": "https://test-api.wefunapp.cn/v1/channels/delete",
         "data": {
             "channel_id": cls.channel_id
         },
         "expected": "0"
     }
     try:
         res = Request(
             method=data['method'],
             url=data['url'],
             data=data['data'],
             header=cls.header,
         )
         print('删除频道接口: %s' % res.get_json())
     except Exception as e:
         My_Logger().error("删除失败,失败原因: %s" % e)
         raise e
Пример #12
0
    def test_001(self, case):
        try:
            re = Request(method=case["method"],
                         url=case['url'],
                         data=json.dumps(case['data']),
                         header=self.header)
            result = re.get_json()
            if result['code'] == 0:
                print("生成社区邀请码-->成功 %s" % result)
            else:
                print("生成社区邀请码-->失败 %s" % result)
                # 失败的写道日志里去
                My_Logger().info("生成社区邀请码-->失败 %s" % result)

            # 生成的邀请码存起来
            if re.get_json()['code'] == 0:
                self.case_2[0]["data"]["invite_code"] = re.get_json(
                )['invite_code']
        except Exception as e:
            My_Logger().error("错误接口:生成社区邀请码-->%s" % e)
            raise e
Пример #13
0
 def __init__(self, client, server, ipAddr):
     self.name = "ev3"
     self.client = client
     self.ip = ipAddr
     self.server = server
     self.connected_clients = server.connected_clients
     self.request = Request()
     self.state = Request.State.REFILL
     self.pending = ""  # Use to store data from an incompleted frame (Like a from who would take two calls to SOCKET.recv() to be completed)
     self.request.register(1, lambda x: self.registerMacAdress(x[3:]))
     self.request.register(2, lambda x: print(x[1:]))
     self.request.register(
         3, lambda x: self.server.database.scan_fingerprint_with_area(
             x[1:], self))
     self.request.register(
         4, lambda x: self.askScanForPosition_Callback(x[1:]))
     self.x = 629
     self.y = 114
     self.xc = None
     self.yc = None
     self.area = None
     self.macAddress = ""
Пример #14
0
    def setUpClass(cls):
        warnings.simplefilter("ignore", ResourceWarning)  # 去掉ResourceWarning

        # 1-->新增文本频道
        data = {
            "title": "新增文本频道",
            "method": "post",
            "url": "https://test-api.wefunapp.cn/v1/channels/create",
            "data": {
                "server_id": "1277254596447698944",
                "channel_name": Random().create_name(),
                "channel_desc": "新增文本频道",
                "channel_type": "1",
                "parent_id": "",
                "channel_pwd": ""
            }
        }
        try:
            re = Request(method=data['method'],
                         url=data['url'],
                         data=data['data'],
                         header=cls.header)
        except Exception as e:
            My_Logger().error("错误接口: %s%s" % data['title'] % e)
            raise e

        result = re.get_json()
        if result['code'] == 0:
            print(data['title'] + "-->成功 %s" % result)
        else:
            print(data['title'] + "-->失败 %s" % result)
            My_Logger().info(data['title'] + "-->失败 %s" % result)

        # 处理数据依赖
        if result['code'] == 0:
            cls.channel_id = result['channel_id']
        else:
            pass
Пример #15
0
 def test_queryByItemBatchNo(self, login_fix, purchasereceive_fix, _sm, _ft,
                             param, _aid, _uid, _tenantid, _domid, _mt,
                             expect):
     """采购订单收货完成后,根据采购订单号查询是否入批次库存"""
     log.info("采购订单收货完成后,根据采购订单号查询是否入批次库存")
     req_data = Inventory().get_req_data(_sm, _ft, param, _aid, _uid,
                                         _tenantid, _domid, _mt, login_fix)
     new_data = json.loads(req_data['param'])
     new_data['purchaseOrderNo'] = purchasereceive_fix
     req_data['param'] = json.dumps(new_data)
     res = Request().get_request(conf.url_test, req_data)
     inventoryItems = res['body']['content'][0]['inventoryItems']
     for i in range(len(inventoryItems)):
         assert inventoryItems[i][expect['name']] == purchasereceive_fix
Пример #16
0
 def test_001(self, case):
     if case['data']['channel_id'] == None:
         case['data']['channel_id'] = self.channel_id
     try:
         re = Request(method=case['method'],
                      url=case['url'],
                      data=case['data'],
                      header=self.header)
     except Exception as e:
         My_Logger().error("错误接口: %s%s" % case['title'] % e)
         raise e
     # 接口结果写入报告
     result = re.get_json()
     if result['code'] == 0:
         print(case['title'] + "-->成功 %s" % result)
     else:
         print(case['title'] + "-->失败 %s" % result)
         My_Logger().info(case['title'] + "-->失败 %s" % result)
     # 接口断言
     try:
         self.assertEqual(int(case['expected']), result['code'])
     except AssertionError as e:
         My_Logger().info(case['title'] + "断言错误: %s" % e)
Пример #17
0
    def test_001(self):
        try:
            re = Request(method=self.data["method"],
                         url=self.data['url'],
                         data=json.dumps(self.data['data']),
                         header=self.header)
            result = re.get_json()
            print("设置资料: %s" % result)
        except Exception as e:
            My_Logger().error("错误接口: %s%s" % self.data['title'] % e)
            raise e

            # 断言--->如果传入的名字/图片,跟接口调用之后,数据库中的名字一致,测试PASS
            if result['code'] == 0:
                self.assertEqual(
                    data['data']['nickname'],
                    self.mysql.fetch_one(
                        "select * from `t_vip` where telephone = '18888888888'"
                    )[0]["nickname"])
                self.assertEqual(
                    data['data']['avatar'],
                    self.mysql.fetch_one(
                        "select * from `t_vip` where telephone = '18888888888'"
                    )[0]["avatar"])
Пример #18
0
 def add_contactcompany(self):
     self.data['_mt'] = 'tenant.service.saveContactCompany'
     self.data['contactCompanySaveParam'] = '{"shortName":"上海赛可出行科技服务"' \
            ',"invoiceName":"上海赛可出行科技服务",' \
            '"status":"1","bizRelationsArr":["1"],"companyPostalAddressList":[],' \
            '"contactCompanyPersonParamList":[],"companyFundsAccountList":[],"name":"上海赛可出行科技服务",' \
            '"remark":"autotest","name":"上海赛可出行科技服务有限公司","mnemonicCode":"saic",' \
            '"provinceCode":"310000","provinceName":"上海市","customerType":"1",' \
            '"unitType":"1","unitNature":"1","credibility":"1","customerLevel":"1",' \
            '"legalName":"刘波","socialCode":"91310115MA1K427762","phone":"18261639003"' \
            ',"detailAddress":"中国(上海)自由贸易试验区杨高北路2001号1幢4部位三层333室",' \
            '"identificationNumber":"91310115MA1K427762","invoiceBankName":"建设银行",' \
            '"invoiceBankAccount":"6217001370015111111","invoicePhone":"021-88888888",' \
            '"invoiceAddress":"中国(上海)自由贸易试验区杨高北路2001号1幢4部位三层333室",' \
            '"bizRelations":"1"}'
     self.data['_tk'] = login()
     Request().post_request(url=self.config.url_test,
                            data=self.data,
                            verify=False)
Пример #19
0
 def tearDownClass(cls):
     cls.header
     data = {
         "case_id": "离开社区",
         "method": "post",
         "url": "https://test-api.wefunapp.cn/v1/servers/exit",
         "data": {
             "server_id": 1249029898480123904
         },
         "expected": "0"
     }
     try:
         re = Request(method=data["method"],
                      url=data['url'],
                      data=json.dumps(data['data']),
                      header=cls.header)
     except Exception as e:
         My_Logger().error("错误接口:离开社区-->%s" % e)
         raise e
Пример #20
0
def test_start_ac(caseid, casestauts, casetext, result_nlu, result_tts,
                  result_lua, init_env):
    domain = init_env[0]
    address = domain + init_env[1]
    query_reply_info = (init_env[4])["ac"]
    update_reply_info = ParseJson().update_jsonvalue(query_reply_info,
                                                     (casestauts))
    parjson = {
        "version": "0",
        "text": casetext,
        "uid": init_env[2],
        "device_info": init_env[3],
        "query_reply": update_reply_info
    }

    dictinfo = Request().post_request(address, jsondata=parjson)
    assertobj = Assert()
    assertobj.containvalue(str(dictinfo['tts']), result_tts)
    assertobj.equalvalue(str(dictinfo['nlu']), result_nlu)
    assertobj.equalvalue(str(dictinfo['luaData']), result_lua)
Пример #21
0
class Ev3Context:
    """An Ev3Context is associated to a client identified as an ev3.
    It is used to manage communication with this ev3 client.
    It manage every packet sended and received between him and the client associated"""
    def __init__(self, client, server, ipAddr):
        self.name = "ev3"
        self.client = client
        self.ip = ipAddr
        self.server = server
        self.connected_clients = server.connected_clients
        self.request = Request()
        self.state = Request.State.REFILL
        self.pending = ""  # Use to store data from an incompleted frame (Like a from who would take two calls to SOCKET.recv() to be completed)
        self.request.register(1, lambda x: self.registerMacAdress(x[3:]))
        self.request.register(2, lambda x: print(x[1:]))
        self.request.register(
            3, lambda x: self.server.database.scan_fingerprint_with_area(
                x[1:], self))
        self.request.register(
            4, lambda x: self.askScanForPosition_Callback(x[1:]))
        self.x = 629
        self.y = 114
        self.xc = None
        self.yc = None
        self.area = None
        self.macAddress = ""

    def doRead(self):
        """Read the buffer in order to extract packets"""
        recv = self.client.recv(1024)
        last = str(recv.decode())
        recv = str(recv.decode()).split("`")

        if recv[0] == "" or recv[0] == '':
            print("ev3 client disconnected")
            self.connected_clients.remove(self.client)
            self.server.logged.remove(self)
            return
        if self.pending != "":
            recv[0] = self.pending + recv[0]
            self.pending = ""
        if last != "`":
            self.pending = recv[-1]
            recv.pop()
        for request in recv:
            self.processIn(request)

    def processIn(self, request):
        """Call the function associated to the opcode contain in the head of @request"""
        self.state = self.request.process(request)
        if self.state == Request.State.ERROR:
            self.connected_clients.remove(self.client)

    def registerMacAdress(self, addr):
        """register a macAddress (bssid or ssid) """
        self.macAddress = addr

    def askScan(self):
        """Ask the client to send a scan containing the RSSI values of every APs in his reach,
        the client will respond with a packet of opcode 3, check out the function currently
        associated to opcode 3 in @self.__init__() to know what it does or change it"""
        self.client.send(b"3scan`")

    def showScans(self):
        """Print in the command line the scans"""
        self.server.database.printTable()

    def askScanForPosition_Callback(self, lines):
        """Demand a unique fingerprint to the client which will be processed and use to
        determined where the client is located"""
        print("askScanForPosition_Callback")
        lines = lines.split("\n")
        address = list()
        signals = list()
        for i in range(0, int(len(lines) - 1), 3):
            name = lines[i + 2].split(" ")[1]
            address.append(lines[i].split(" ")[1])
            signals.append(int(float(lines[i + 1].split(" ")[1])))

        self.server.database.store_and_flat_current_scan(address, signals)

    def __str__(self):
        return "NAME : " + self.name + "     |     IP : " + self.ip + "     |     MacAddr : " + self.macAddress
Пример #22
0
    def add_order(self, pucharseAgreement_fix):
        self.data['_mt'] = 'saasmanager.service.addPurchaseOrder'
        agreementNo = pucharseAgreement_fix
        print(agreementNo)
        param = {
            "canDeleteDetail":
            True,
            "purchaseOrderBaseInfo": {
                "id": "",
                "purchaseNo": "",
                "purchaseDate": now_time,
                "supplierCompanyId": 224,
                "supplierCompanyName": "上海赛可出行科技服务有限公司",
                "ourCompanyId": 270,
                "ourCompanyName": "上海赛可出行科技服务有限公司",
                "agreementId": 8506,
                "agreementNo": agreementNo,
                "businessMode": 1,
                "settlementMode": 1,
                "outOrderNo": "wbdh123444",
                "deliveryType": 1,
                "lastDeliveryDate": "2020-07-08",
                "salesMan": "zg_182616hJ0",
                "type": "",
                "remark": "test",
                "directEntryWarehouse": 0,
                "warehouseName": ""
            },
            "purchaseOrderPaymentInfo": {
                "expectedPaymentDate": "",
                "paymentModeName": ""
            },
            "purchaseOrderOtherInfo": {
                "backToBack": 0,
                "sourceOrderNo": ""
            },
            "purchaseOrderDetailList": [{
                "itemId": 103938,
                "itemTitle": "三级盘螺",
                "material": "钢材",
                "specification": "PL1233",
                "steelMill": "本钢",
                "itemUnitWay": 1,
                "purchaseQuantity": "2",
                "purchaseWeight": 40000,
                "weightUnit": 1,
                "inclusiveTaxPrice": 305575,
                "inclusiveTaxAmount": 1222300,
                "excludeTaxAmount": 1081681,
                "taxRate": 0.13,
                "settlementQuantity": 0,
                "settlementWeight": 0,
                "settlementPrice": 0,
                "settlementAmount": 0,
                "packageNo": "KBH23457",
                "singleWeight": 20000
            }]
        }

        self.data['orderInfo'] = json.dumps(param, ensure_ascii=False)
        self.data['_tk'] = self._tk
        response = Request().post_request(url=self.config.url_test,
                                          data=self.data,
                                          verify=False)
        return response['body']['content'][0]
Пример #23
0
class new(unittest.TestCase):
    global server_id
    server_id = None

    new_case = [{
        "title": "社区创建",
        "method": "post",
        "url": "https://test-api.wefunapp.cn/v1/servers/create",
        "data": {
            "server_name": "测试",
            "server_icon": ""
        },
        "expected": "0"
    }]  #-------->新增社区得测试用例

    header = {}
    header['Content-Type'] = read_config().get('header', 'type')
    header['Auth-Token'] = read_config().get('header', 'token')

    # header['Cookie'] = open(r'D:\WeFun Smoke\configs\cookie.txt','r+').read()
    def setUp(self):
        # 去掉ResourceWarning
        warnings.simplefilter("ignore", ResourceWarning)

    # 新增社区
    @data(*new_case)
    def test_001(self, case):
        try:
            res = Request(method=case["method"],
                          url=case['url'],
                          data=json.dumps(case['data']),
                          header=self.header)
            result = res.get_json()
            if result['code'] == 0:
                print("创建社区-->成功 %s" % result)
            else:
                print("创建社区-->失败")
            # 如果创建社区成功,就把创建成功得社区id存起来
            if result['server_id']:
                setattr(Context, 'new_sercer', result['server_id'])
        except Exception as e:
            My_Logger().error("错误接口: %s%s" % case['title'] % e)
            raise e

    # 社区下面创建分类
    def test_002(self):
        header = {}
        header[
            'Content-Type'] = "application/x-www-form-urlencoded"  # 创建社区下面的  分类  频道  需要用到另一个Content-Type
        header['Auth-Token'] = read_config().get('header', 'token')

        case = {
            "title": "创建分类",
            "method": "post",
            "url":
            "https://test-api.wefunapp.cn/v1/channels/create",  #---->创建分类
            "data": {
                "server_id": getattr(Context, 'new_sercer'),
                "channel_type": "1",
                "channel_name": "test"
            },
            "expected": "0"
        }
        try:
            re = Request(case['method'],
                         case['url'],
                         json.dumps(case["data"]),
                         header=header)
            result = re.get_json()
            if result["code"] == 0:
                print("创建社区中的分类-->成功 %s" % result)
            else:
                print("创建社区中的分类-->失败 %s" % result)
                # 失败的写到日志里面去
                My_Logger().info("创建社区中的分类-->失败 %s" % result)
            self.assertEqual(int(case['expected']), result['code'])
        except Exception as e:
            My_Logger().error("错误接口: %s%s" % case['title'] % e)
            raise e

    # 删除社区测试
    def test_003(self):
        case = {
            "case_id": "2",
            "method": "post",
            "url":
            "https://test-api.wefunapp.cn/v1/servers/delete",  #---->删除社区用例
            "data": {
                "server_id": getattr(Context, 'new_sercer')
            },
            "expected": "success"
        }
        try:
            re = Request(method=case["method"],
                         url=case['url'],
                         data=json.dumps(case['data']),
                         header=self.header)
            result = re.get_json()
            if result['code'] == 0:
                print("删除社区-->成功 %s" % result)
            else:
                print("删除社区-->失败 %s" % result)
        except Exception as e:
            My_Logger().error("错误接口:删除社区 -->%s" % e)
            raise e