# -*- coding: utf-8 -*-
"""
#----------testcase----------------
#基本信息
#Author:johnnyzhu
#project:jfa
"""
#/api/v1/product/getProductList 获取产品列表

import util.test_get_post as gp
import json
import util.globalv as gl
import case.login as clogin
import case.sendVerificationCode as csendvc
import unittest
import util.reporyresult as cr
import config.config
import util.logger as ul



class TestgetProductList(unittest.TestCase):
    def setUp(self):
        # 设置测试用例编号
        self.lab = gl.get_value('lab')
        self.caseid = '%s-22' % (self.lab)

        self.testplanid = gl.get_value('test_plan_id')
        (self.smstoken) = csendvc.sendVerificationCode("18021047680","LOGIN")
        self.token = clogin.testuserlogin()

        self.ip = gl.get_value('apiip')
        # 测试API地址
        self.url = '%s/api/v1/product/getProductList' % (self.ip)


        # 测试API入参
        self.payloadData = {
            "pageNumber": "1",
            "pageSize": "20"
        }


        # 测试API请求头设置
        self.payloadHeader = {
            'Content-Type': "application/json",
            'Authorization': self.token
        }


        # 打印requests
        self.data = json.dumps(self.payloadData)
        self.headers = self.payloadHeader
        ul.log.logger.info("%s is open!~~~~~~~~~~~~~~~~~~~~~~~~~~~~" % (self.caseid))


    def testgetProductList(self):
        r = gp.Runmain().send_post(url=self.url,data=self.data,headers=self.headers,verify=False)
        ul.log.logger.info(r)

        try:
            self.assertEqual('OK',r["errMsg"])
            self.assertEqual(0, r["errCode"])
            self.test_result = "p"
            #回写结果至testlink
            cr.report_test_result(self.testplanid, self.caseid, self.test_result)
            ul.log.logger.info(self.test_result)
            ul.log.logger.info("%s over!~~~~~~~~~~~~~~~~~~~~~~~~~~~~" % (self.caseid))

        except AssertionError as e:
            self.test_result = "f"
            # 回写结果至testlink
            cr.report_test_result(self.testplanid, self.caseid, self.test_result)
            ul.log.logger.info(self.test_result)
            ul.log.logger.info("%s failed!~~~~~~~~~~~~~~~~~~~~~~~~~~~~" % (self.caseid))
            raise AssertionError(e)