personal_info.py 11.6 KB
#!/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')