sub_account.py 4.61 KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import unittest
import requests
from data_fixture.config_data import HOST_BOSS
from data_fixture import create_testdata as CreateTestData
from data_fixture import config_data as Data
from data_fixture.mysql_db import DB
import uuid

db_test = DB()

#添加子账户
class AddSubAccount(unittest.TestCase):
    def setUp(self):
        self.base_url = HOST_BOSS + '/childUser/addChildUser'
        CreateTestData.pre_AddSubAccount(Data.PARENT_ID)

    def tearDown(self):
        print(self.result)

    def test_addSubAccount_success(self):
        headers = {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': '*/*'}
        postData = {'parentId': Data.PARENT_ID,
                    'image': Data.SUB_ACC_IMAGE,
                    'name': '测试sub',
                    'gradeId': '6',
                    'schoolId': Data.SUB_ACC_SCHOOL_ID_1,
                    'regionId': Data.SUB_ACC_REGION_ID_1,
                    'deviceNumber': Data.DEVICE_NUMBER_CUS_BIND,
                    'regionName': Data.SUB_ACC_REGION_NAME_1
        }
        r = requests.post(self.base_url, headers=headers, data=postData)
        self.result = r.json()
        self.assertEqual(db_test.select_('acornuser.child_user', {'parent_id': Data.PARENT_ID}), 1, 'addSubAccount Error')
        self.assertEqual(self.result['status'], 1, 'addSubAccount Error')


#查找子账户信息
class GetSubAccount(unittest.TestCase):
    def setUp(self):
        self.base_url = HOST_BOSS + '/childUser/info'
        self.subAccount_1 = str(uuid.uuid4()).replace('-', '')
        self.subAccount_2 = str(uuid.uuid4()).replace('-', '')
        CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount_1, 0)
        CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount_2, 1)

    def tearDown(self):
        print(self.result)

    def test_getSubAccount_success(self):
        headers = {'Accept': '*/*'}
        getData = {'userId': Data.PARENT_ID, 'deviceNumber':Data.DEVICE_NUMBER_CUS_BIND}
        r = requests.get(self.base_url, headers=headers, params=getData)
        self.result = r.json()
        self.assertEqual(self.result['status'], 1, 'getSubAccount Error')
        self.assertTrue(len(self.result['data']) > 1, 'getSubAccount data Error')


#删除子账户
class DelSubAccount(unittest.TestCase):
    def setUp(self):
        self.base_url = HOST_BOSS + '/childUser/delete'
        self.subAccount = str(uuid.uuid4()).replace('-', '')
        CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount, 0)

    def tearDown(self):
        print(self.result)

    def test_delSubAccount_success(self):
        headers = {'Accept': '*/*'}
        getData = {'subAccountId': self.subAccount}
        r = requests.get(self.base_url, headers=headers, params=getData)
        self.result = r.json()
        self.assertEqual(db_test.select_('acornuser.child_user', {'subAccountId': self.subAccount}), 0, 'delSubAccount Error')
        self.assertEqual(self.result['status'], 1, 'delSubAccount ERROR')


#切换账户
class SwitchAccounts(unittest.TestCase):
    def setUp(self):
        self.base_url = HOST_BOSS + '/childUser/update'
        self.subAccount = str(uuid.uuid4()).replace('-', '')
        CreateTestData.pre_subAccount(Data.PARENT_ID, self.subAccount, 0)

    def tearDown(self):
        print(self.result)

    def test_swichToSubAccount_success(self):
        headers = {'Accept': '*/*'}
        getData = {'subAccountId': self.subAccount,
                   'userId': Data.PARENT_ID,
                   'deviceNumber' : Data.DEVICE_NUMBER_CUS_BIND,
                   'type': 2}
        r = requests.get(self.base_url, headers=headers, params=getData)
        self.result = r.json()
        where_data = {'parent_id': Data.PARENT_ID,'subAccountId': self.subAccount, 'status':1}
        self.assertEqual(db_test.select_('acornuser.child_user', where_data), 1, 'swichToSubAccount Error')
        self.assertEqual(self.result['status'], 1, 'swichToSubAccount ERROR')

    def test_swichToParentAccount_success(self):
        headers = {'Accept': '*/*'}
        getData = {'userId': Data.PARENT_ID,
                   'deviceNumber': Data.DEVICE_NUMBER_CUS_BIND,
                   'type': 1}
        r = requests.get(self.base_url, headers=headers, params=getData)
        self.result = r.json()
        where_data = {'userId': Data.PARENT_ID,
                      'deviceNumber': Data.DEVICE_NUMBER_CUS_BIND,
                      'status': 1}
        self.assertEqual(db_test.select_('acornuser.acorn_user_status', where_data), 1, 'swichToParentAccount Error')
        self.assertEqual(self.result['status'], 1, 'swichToParentAccount ERROR')