Commit ba6a4c1b by fanxun

积分商城优化2

parent e3d102c8
......@@ -12,213 +12,213 @@ from config import BMCConfig
class TestIntegral():
workBook = xlrd.open_workbook(f'{BMCConfig.root_path}/test_case_data/bmc/bmc_integral_20210513.xlsx')
# @allure.story("查询我的积分")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55860")
# @allure.description("/integral/center/myIntegral")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'myIntegral'))
# def test_my_integral(self,inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("查询我的签到情况")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55869")
# @allure.description("/integral/center/sign")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'getsignIntegral'))
# def test_get_sign_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
# return res['data']['canSignInToday']
#
# @pytest.fixture()
# def test_pre_get_sign_integral(self):
# """签到前置用例"""
# url = f"{BMCConfig().host}/integral/center/sign"
# method = 'get'
# req_data = None
# headers = None
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# return res['data']['canSignInToday']
#
# @allure.story("签到")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55878")
# @allure.description("/integral/center/sign")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.usefixtures('test_pre_get_sign_integral')
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'postSignIntegral'))
# def test_post_sign_integral(self, inData, test_pre_get_sign_integral):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# other_expected_data = inData['otherExpectData']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# if not test_pre_get_sign_integral: # 已经签到过
# assert res['code'] == other_expected_data['code']
# else:
# assert res['code'] == expectData['code']
#
# @allure.story("查询待领取积分清单")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55887")
# @allure.description("/integral/center/recommendedTasks")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'taskIntegral'))
# def test_task_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("查询积分商品")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/57138")
# @allure.description("/integral/center/integralGoods")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'goodsIntegral'))
# def test_goods_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("查询积分规则")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/64302")
# @allure.description("/integral/center/rule")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'ruleIntegral'))
# def test_rule_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("设置签到提醒开关")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56418")
# @allure.description("/integral/center/sign/warnSwitch")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'switchIntegral'))
# def test_switch_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("任务中心主页")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56427")
# @allure.description("/integral/task/info")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'infoIntegral'))
# def test_info_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @pytest.fixture()
# def test_pre_task_integral(self):
# """查询待领取积分清单"""
# url = f"{BMCConfig().host}/integral/center/recommendedTasks"
# method = 'get'
# req_data = None
# headers = None
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# return res['data']['list']
#
# @allure.story("领取积分")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56436")
# @allure.description("/integral/task/receive")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.usefixtures('test_pre_task_integral')
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'receiveIntegral'))
# def test_receive_integral(self, inData, test_pre_task_integral):
# case_num = inData['caseNum']
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# for task in test_pre_task_integral:
# if task['status'] == 2 and case_num == 'receiveIntegral001': # 2表示可领取
# req_data['taskCode'] = task['taskCode']
# break
# elif task['status'] != 2 and case_num == 'receiveIntegral001':
# expectData['code'] = 1006
# break
# elif task['status'] != 2 and case_num == 'receiveIntegral002':
# req_data['taskCode'] = task['taskCode']
# break
# else:
# break
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("获取关注信息")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56841")
# @allure.description("/integral/task/getFollowInfo")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'FollowInfoIntegral'))
# def test_follow_info_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("商城中的商品")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/55896")
# @allure.description("/integral/mall/goods/list")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'listIntegral'))
# def test_list_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("商品的详情")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56076")
# @allure.description("/integral/mall/goods/detail")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'detailIntegral'))
# def test_detail_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
@allure.story("查询我的积分")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55860")
@allure.description("/integral/center/myIntegral")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'myIntegral'))
def test_my_integral(self,inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("查询我的签到情况")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55869")
@allure.description("/integral/center/sign")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'getsignIntegral'))
def test_get_sign_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
return res['data']['canSignInToday']
@pytest.fixture()
def test_pre_get_sign_integral(self):
"""签到前置用例"""
url = f"{BMCConfig().host}/integral/center/sign"
method = 'get'
req_data = None
headers = None
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
return res['data']['canSignInToday']
@allure.story("签到")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55878")
@allure.description("/integral/center/sign")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_pre_get_sign_integral')
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'postSignIntegral'))
def test_post_sign_integral(self, inData, test_pre_get_sign_integral):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
other_expected_data = inData['otherExpectData']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
if not test_pre_get_sign_integral: # 已经签到过
assert res['code'] == other_expected_data['code']
else:
assert res['code'] == expectData['code']
@allure.story("查询待领取积分清单")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55887")
@allure.description("/integral/center/recommendedTasks")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'taskIntegral'))
def test_task_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("查询积分商品")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/57138")
@allure.description("/integral/center/integralGoods")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'goodsIntegral'))
def test_goods_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("查询积分规则")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/64302")
@allure.description("/integral/center/rule")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'ruleIntegral'))
def test_rule_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("设置签到提醒开关")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56418")
@allure.description("/integral/center/sign/warnSwitch")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'switchIntegral'))
def test_switch_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("任务中心主页")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56427")
@allure.description("/integral/task/info")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'infoIntegral'))
def test_info_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@pytest.fixture()
def test_pre_task_integral(self):
"""查询待领取积分清单"""
url = f"{BMCConfig().host}/integral/center/recommendedTasks"
method = 'get'
req_data = None
headers = None
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
return res['data']['list']
@allure.story("领取积分")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56436")
@allure.description("/integral/task/receive")
@allure.title("{inData[testPoint]}")
@pytest.mark.usefixtures('test_pre_task_integral')
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'receiveIntegral'))
def test_receive_integral(self, inData, test_pre_task_integral):
case_num = inData['caseNum']
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
for task in test_pre_task_integral:
if task['status'] == 2 and case_num == 'receiveIntegral001': # 2表示可领取
req_data['taskCode'] = task['taskCode']
break
elif task['status'] != 2 and case_num == 'receiveIntegral001':
expectData['code'] = 1006
break
elif task['status'] != 2 and case_num == 'receiveIntegral002':
req_data['taskCode'] = task['taskCode']
break
else:
break
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("获取关注信息")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56841")
@allure.description("/integral/task/getFollowInfo")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'FollowInfoIntegral'))
def test_follow_info_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("商城中的商品")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/55896")
@allure.description("/integral/mall/goods/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'listIntegral'))
def test_list_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("商品的详情")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56076")
@allure.description("/integral/mall/goods/detail")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'detailIntegral'))
def test_detail_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@pytest.fixture()
def test_pre_list_integral(self):
......@@ -242,69 +242,77 @@ class TestIntegral():
expectData = inData['expectData']
headers = inData['headers']
case_num = inData['caseNum']
if case_num == 'exchangeIntegral001':
for good in test_pre_list_integral['list']:
count = 0
for good in test_pre_list_integral['list']:
if case_num != 'exchangeIntegral002' and case_num != 'exchangeIntegral003':
if good['status'] == 1:
req_data['id'] = good['id']
count += 1
break
if count == 0:
if case_num == 'exchangeIntegral002': # 说明没有可兑换的商品
expectData['code'] = 1005
else:
expectData['code'] = 1006
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
# @allure.story("查询商品的适用门店列表")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56094")
# @allure.description("/integral/mall/goods/applicableStores")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'applicableStoresIntegral'))
# def test_applicable_stores_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
@allure.story("查询商品的适用门店列表")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56094")
@allure.description("/integral/mall/goods/applicableStores")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'applicableStoresIntegral'))
def test_applicable_stores_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
# @allure.story("查询兑换记录")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/56103")
# @allure.description("/integral/mall/exchangeRecord/list")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordListIntegral'))
# def test_exchange_record_list_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("查询兑换记录详情")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/57354")
# @allure.description("/integral/mall/exchangeRecord/detail")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordDetailIntegral'))
# def test_exchange_record_detail_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
#
# @allure.story("关注成功回调")
# @allure.link("http://yapi.hikcreate.com/project/31/interface/api/61233")
# @allure.description("/integral/task/focusSuccess")
# @allure.title("{inData[testPoint]}")
# @pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'focusSuccessIntegral'))
# def test_focus_success_integral(self, inData):
# url = f"{BMCConfig().host}{inData['url']}"
# method = inData['method']
# req_data = inData['reqData']
# expectData = inData['expectData']
# headers = inData['headers']
# res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
# assert res['code'] == expectData['code']
@allure.story("查询兑换记录")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/56103")
@allure.description("/integral/mall/exchangeRecord/list")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordListIntegral'))
def test_exchange_record_list_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("查询兑换记录详情")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/57354")
@allure.description("/integral/mall/exchangeRecord/detail")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'exchangeRecordDetailIntegral'))
def test_exchange_record_detail_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
@allure.story("关注成功回调")
@allure.link("http://yapi.hikcreate.com/project/31/interface/api/61233")
@allure.description("/integral/task/focusSuccess")
@allure.title("{inData[testPoint]}")
@pytest.mark.parametrize("inData", get_excelData(workBook, '积分商城', 'focusSuccessIntegral'))
def test_focus_success_integral(self, inData):
url = f"{BMCConfig().host}{inData['url']}"
method = inData['method']
req_data = inData['reqData']
expectData = inData['expectData']
headers = inData['headers']
res = request_main(url=url, headers=headers, method=method, data=req_data, has_token=False)
assert res['code'] == expectData['code']
if __name__ == '__main__':
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment