#!/usr/bin/env python # -*- coding: utf-8 -*- import unittest import requests from data_fixture.config_data import HOST_BOSS from data_fixture import config_data as Data from data_fixture import create_testdata as CreateTestData from data_fixture.mysql_db import DB import os import uuid current_dir = str(os.path.dirname(__file__)) #获取个人信息 class GetPersonalInfo(unittest.TestCase): def setUp(self): self.base_url = HOST_BOSS + "/personal/get" self.subAccount = str(uuid.uuid4()).replace('-', '') CreateTestData.pre_subAccount(Data.USER_ID, self.subAccount, 1) def tearDown(self): pass def test_getParentAccountInfo_success(self): headers = {'Accept': '*/*'} getData = {'userId': Data.USER_ID, 'type': 1} r = requests.get(self.base_url, headers=headers, params=getData) self.result_1 = r.json() self.assertEqual(self.result_1['status'], 1, 'get parent info fail') def test_getChildAccountInfo_success(self): headers = {'Accept': '*/*'} getData = {'userId': Data.USER_ID, 'type': 2} r = requests.get(self.base_url, headers=headers, params=getData) self.result_2 = r.json() self.assertEqual(self.result_2['status'], 1, 'get child info fail') #修改个人信息 class UpdatePersonalInfo(unittest.TestCase): def setUp(self): self.base_url = HOST_BOSS + "/personal/update" self.subAccount = str(uuid.uuid4()).replace('-', '') CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount, 1) def tearDown(self): pass def test_UpdateParentInfo_success(self): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'} postData = { 'userId':Data.PARENT_ID, 'type': 1, 'name':'主账户', 'birthday':'2003-12-12', 'gradeId': '9', 'regionId' : '320100', 'schoolId': '500018', 'qq': '1313131313', 'gender': 'female', 'regionName': '江苏南京玄武', 'deviceNumber': Data.DEVICE_NUMBER_NEW, 'address':'幸福小区308' } where_data_1 = {'id':Data.PARENT_ID, 'qq': '1313131313'} where_data_2 = {'user_id':Data.PARENT_ID, 'school_id': '500018'} where_data_3 = {'user_id':Data.PARENT_ID, 'address':'幸福小区308'} r = requests.post(self.base_url, headers=headers, data=postData) self.result_1 = r.json() self.assertEqual(self.result_1['status'], 1, 'UpdateParentInfo ERROR') self.assertTrue(CreateTestData.db_select('acornuser.acorn_user', where_data_1), 1) self.assertTrue(CreateTestData.db_select('acornuser.ozing_student', where_data_2), 1) self.assertTrue(CreateTestData.db_select('acornuser.acorn_user_extra', where_data_3), 1) def test_UpdateChildInfo_success(self): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'} postData = { 'userId': Data.PARENT_ID, 'type': 2, 'name': '子账户', 'birthday': '2010-12-12', 'gradeId': '6', 'regionId': '330100', 'schoolId': '6129', 'qq': '1515151515', 'gender': 'female', 'regionName': '浙江杭州西湖', 'deviceNumber': Data.DEVICE_NUMBER_NEW, 'address': '鲜花小区808' } where_data_child = {'qq': '1515151515', 'address': '鲜花小区808'} r = requests.post(self.base_url, headers=headers, data=postData) self.result_2 = r.json() self.assertEqual(self.result_2['status'], 1, 'UpdateParentInfo ERROR') self.assertTrue(CreateTestData.db_select('acornuser.child_user', where_data_child)) # 添加和修改个性签名 class AddorUpdateSignature(unittest.TestCase): def setUp(self): self.base_url = HOST_BOSS + "/signature/addOrUpdateSignature" self.subAccount = str(uuid.uuid4()).replace('-', '') CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount, 0) CreateTestData.checkSignatureExists(Data.PARENT_ID, 1) CreateTestData.checkSignatureExists(self.subAccount, 2) def tearDown(self): pass def test_AddParentSignature_success(self): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'} postData = {'userId':Data.PARENT_ID, 'signature':'who is the clever Polly 谁是聪明的鹦鹉', 'type': 1} r = requests.post(self.base_url, headers=headers, data=postData) self.result_1 = r.json() self.assertEqual(self.result_1['status'], 1, 'AddParentSignature ERROR') where_1 = {'user_id':Data.PARENT_ID, 'signature':'who is the clever Polly 谁是聪明的鹦鹉'} self.assertEqual(CreateTestData.db_select('acornuser.acorn_user_extra', where_1), 1) def test_UpdateParentSignature_success(self): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'} postData = {'userId':Data.PARENT_ID, 'signature':'clever Polly 一只吵人的鹦鹉', 'type': 1} r = requests.post(self.base_url, headers=headers, data=postData) self.result_2 = r.json() self.assertEqual(self.result_2['status'], 1, 'UpdateParentSignature ERROR') where_2 = {'user_id':Data.PARENT_ID, 'signature':'clever Polly 一只吵人的鹦鹉'} self.assertEqual(CreateTestData.db_select('acornuser.acorn_user_extra', where_2), 1, 'UpdateParentSignature ERROR') def test_AddChildSignature_success(self): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'} postData = {'userId':self.subAccount, 'signature':'Polly can you spell its name 波利', 'type': 2} r = requests.post(self.base_url, headers=headers, data=postData) self.result_3 = r.json() self.assertEqual(self.result_3['status'], 1, 'AddChildSignature ERROR') where_1 = {'sub_account_id':self.subAccount, 'signature':'Polly can you spell its name 波利'} self.assertEqual(CreateTestData.db_select('acornuser.subAccount_user_extra', where_1), 1, 'AddChildSignature ERROR') def test_UpdateChildSignature_success(self): headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'} postData = {'userId':self.subAccount, 'signature':'波利 P-O-L-L-Y', 'type': 2} r = requests.post(self.base_url, headers=headers, data=postData) self.result_4 = r.json() self.assertEqual(self.result_4['status'], 1, 'UPDATEChildSignature ERROR') where_1 = {'sub_account_id':self.subAccount, 'signature':'波利 P-O-L-L-Y'} self.assertEqual(CreateTestData.db_select('acornuser.subAccount_user_extra', where_1), 1, 'UPDATEChildSignature ERROR') # 显示个性签名 class GetSignature(unittest.TestCase): def setUp(self): self.base_url = HOST_BOSS + "/signature/info" self.subAccount = str(uuid.uuid4()).replace('-', '') CreateTestData.checkSignatureExists(Data.PARENT_ID, 1) CreateTestData.checkSignatureExists(self.subAccount, 2) def tearDown(self): pass def test_getParentSignature_success(self): headers = {'Accept': '*/*'} getData = {'userId': Data.PARENT_ID, 'type': 1} r = requests.get(self.base_url, headers=headers, params=getData) self.result_1 = r.json() self.assertEqual(self.result_1['status'], 1, 'get parent Signature fail') def test_getChildSignature_success(self): headers = {'Accept': '*/*'} getData = {'userId': self.subAccount, 'type': 2} r = requests.get(self.base_url, headers=headers, params=getData) self.result_2 = r.json() self.assertEqual(self.result_2['status'], 1, 'get child Signature fail') #更新用户头像 -- 默认图片 class UpdatePortraitDefault(unittest.TestCase): def setUp(self): self.base_url = HOST_BOSS + "/profile/picture/default" self.subAccount = str(uuid.uuid4()).replace('-', '') CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount, 0) def tearDown(self): pass def test_UpdateParentPortraitDefault_success(self): headers = {'Accept': '*/*', 'Content-Type':'application/x-www-form-urlencoded'} postData = {'userId': Data.PARENT_ID, 'type': 1, 'defaultImg':'http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/61e8d8cf-651f-49c9-beb2-ff1387af390a.png'} r = requests.post(self.base_url, headers=headers, data=postData) self.result_1 = r.json() self.assertEqual(self.result_1['status'], 1, 'UpdateParentPortrait fail') where = {'user_id': Data.PARENT_ID, 'portrait':'static/upload/boss_api/announcement/2017-08-29/61e8d8cf-651f-49c9-beb2-ff1387af390a.png'} self.assertEqual(CreateTestData.db_select('acornuser.ozing_student', where), 1, 'UpdateParentPortraitDefault fail') def test_UpdateChildPortraitDefault_success(self): headers = {'Accept': '*/*', 'Content-Type':'application/x-www-form-urlencoded'} postData = {'userId': self.subAccount, 'type': 2, 'defaultImg': 'http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/61e8d8cf-651f-49c9-beb2-ff1387af390a.png'} r = requests.post(self.base_url, headers=headers, data=postData) self.result_2 = r.json() self.assertEqual(self.result_2['status'], 1, 'UpdateChildPortrait fail') where = {'subAccountId': self.subAccount, 'image': 'static/upload/boss_api/announcement/2017-08-29/61e8d8cf-651f-49c9-beb2-ff1387af390a.png'} self.assertEqual(CreateTestData.db_select('acornuser.child_user', where), 1, 'UpdateChildPortraitDefault fail') #更新用户头像-- 上传文件 class UpdatePortrait(unittest.TestCase): def setUp(self): self.base_url = HOST_BOSS + "/profile/picture/update" img_file_1 = current_dir + '/1.jpg' img_file_2 = current_dir + '/1.png' self.img_1 = open(img_file_1, 'rb') self.img_2 = open(img_file_2, 'rb') self.subAccount = str(uuid.uuid4()).replace('-', '') CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount, 0) def tearDown(self): pass def test_UpdateParentPortraitDefault_success(self): headers = {'Accept': '*/*', 'Content-Type':'multipart/form-data; boundary=cada83b1d4b82a7ccd28ae8f7f6d6'} postData = {'userId': Data.PARENT_ID, 'type': 1} file = {'img': self.img_1} r = requests.post(self.base_url, data=postData, files=file) ss = r.request self.img_1.close() self.result_1 = r.json() self.assertEqual(self.result_1['status'], 1, 'UpdateParentPortrait fail') self.assertEqual(len(self.result_1['data']), 1, 'UpdateParentPortrait data fail') def test_UpdateChildPortrait_success(self): headers = {'Accept': '*/*', 'Content-Type':'multipart/form-data; boundary=fa0cada83b1d4b82a7ccd28ae8f7f6d6'} postData = {'userId': self.subAccount, 'type': 2} file = {'img': self.img_2} r = requests.post(self.base_url, data=postData, files=file) ss = r.request self.img_2.close() self.result_2 = r.json() self.assertEqual(self.result_2['status'], 1, 'UpdateChildPortrait fail') self.assertEqual(len(self.result_2['data']), 1, 'UpdateChildPortrait data fail')