#coding=utf-8
from __future__ importprint_functionimportunittestimportrequestsfrom HTMLTestRunner importHTMLTestRunnerfrom config.settings importX_CONSUMER_CUSTOM_ID, DATASET_NAME, PRODUCT_ID, CONTENT_TYPE, REPORT_FILE_NAME, \
POST_URL, GET_URL, PATCH_URL, DELETE_URL, GET_LIST_URL, POST_PRODUCT_URL, GET_PRODUCT_URL, PATCH_PRODUCT_URL, \
DELETE_PRODUCT_URL, GET_LIST_PRODUCT_URL, QUERY_PREFIXfrom core.utils importgenerate_reportfrom log.logger importloggerclassDatasetsAPITest(unittest.TestCase):deftearDown(self):
logger.info('tear down...')defsetUp(self):
logger.info('tear...up')deftest_post_datasets_item(self):
stage= """创建一个数据集"""
try:
headers={}
headers["x-consumer-custom-id"] =X_CONSUMER_CUSTOM_ID
headers["Content-Type"] =CONTENT_TYPE
payload={}
payload['dataset'] ={}
payload['dataset']['name'] =DATASET_NAME
payload['dataset']['type'] = "product"payload['dataset']['description'] = "description001"resp= requests.post(url=POST_URL, json=payload, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, POST_URL, headers, resp.status_code, resp.content, data=payload)
self.assertEquals(10, 10)deftest_get_datasets_item(self):
stage= """查询一个数据集"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
resp= requests.get(url=GET_URL, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, GET_URL, headers, resp.status_code, resp.content, data=None)deftest_patch_datasets_item(self):
stage= """修改一个数据集"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
para={}
para['dataset'] ={}
para['dataset']['name'] =DATASET_NAME
para['dataset']['description'] = 'description00000001'logger.info(para)
resp= requests.patch(url=PATCH_URL, json=para, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, PATCH_URL, headers, resp.status_code, resp.content, data=para)deftest_get_datasets_list(self):
stage= """查询一个数据集list列表"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
para={}
para['query'] =QUERY_PREFIX
para['page'] = 1para['per_page'] = 20para['order'] = 'desc'para['state'] = 'created'resp= requests.get(url=GET_LIST_URL, params=para, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, GET_LIST_URL, headers, resp.status_code, resp.content, data=para)deftest_post_product_item(self):
stage= """创建一个商品集"""
try:
headers={}
headers["x-consumer-custom-id"] =X_CONSUMER_CUSTOM_ID
headers["Content-Type"] =CONTENT_TYPE
payload={}
payload['item'] ={}
payload['item']['product_id'] =PRODUCT_ID
payload['item']['name'] =DATASET_NAME
payload['item']['description'] = "description0000000000"payload['item']['category'] = "category0000000"
#payload['attributes'] = [dict(k="hello", v="world"), dict(k="hello1", v="world1")]
payload['item']['attributes'] = [{'k': "hello", 'v': 'world'}, {'k': "hello1", 'v': 'world2'}]
payload['item']['images'] = ['http://www.baidu.com/hello', 'http://www.baidu.com/world']
logger.info(payload)
resp= requests.post(url=POST_PRODUCT_URL, json=payload, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, POST_PRODUCT_URL, headers, resp.status_code, resp.content, payload)deftest_get_product_item(self):
stage= """查询一个商品集"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
resp= requests.get(url=GET_PRODUCT_URL, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, GET_PRODUCT_URL, headers, resp.status_code, resp.content, data=None)deftest_patch_product_item(self):
stage= """修改一个商品集"""
try:
headers={}
headers["x-consumer-custom-id"] =X_CONSUMER_CUSTOM_ID
headers["Content-Type"] =CONTENT_TYPE
payload={}
payload['item'] ={}
payload['item']['product_id'] =PRODUCT_ID
payload['item']['name'] =DATASET_NAME
payload['item']['description'] = "ssss"payload['item']['category'] = "cate003"payload['item']['attributes'] = [{"k": "hello", "v": "world"}]
payload['item']['images'] = ['http://www.baidu.com/hello', 'http://www.baidu.com/world']
logger.info(payload)
resp= requests.patch(url=PATCH_PRODUCT_URL, json=payload, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, PATCH_PRODUCT_URL, headers, resp.status_code, resp.content, payload)deftest_get_product_list(self):
stage= """查询一个商品集列表"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
para={}
para['page'] = 1para['per_page'] = 20para['order'] = 'desc'para['status'] = 'created'resp= requests.get(url=GET_LIST_PRODUCT_URL, params=para, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, GET_LIST_PRODUCT_URL, headers, resp.status_code, resp.content, data=para)deftest_delete_product_item(self):
stage= """删除一个商品集"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
resp= requests.delete(url=DELETE_PRODUCT_URL, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, DELETE_PRODUCT_URL, headers, resp.status_code, resp.content, data=None)deftest_delete_datasets_item(self):
stage= """删除一个数据集"""
try:
headers={}
headers['x-consumer-custom-id'] =X_CONSUMER_CUSTOM_ID
resp= requests.delete(url=DELETE_URL, headers=headers)
logger.info(resp.status_code)
logger.info(resp.content)exceptException as e:
logger.error(e)
generate_report(stage, DELETE_URL, headers, resp.status_code, resp.content, data=None)