python unit test example code

本文档介绍了AirWatch REST API的基本使用方法,包括初始化、数据解析及多种操作如搜索组、获取应用信息等。通过具体示例展示了如何利用Python进行设备管理和用户信息更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Aw_base.py

import json

import syslog

from rest_access import RESTAccess

 

class AirWatchBase(object):

               def __init__(self):

                               self.rest = RESTAccess()

                               #syslog.openlog(ident = "airwatch-restlib", logoption = syslog.LOG_PID,facility = syslog.LOG_DEBUG)

 

               def __del__(self):

                               if self.rest:

                                               del self.rest

                               #syslog.closelog()

 

               def parse_result(self, data):

                               if data.content_length > 0:

                                               if data.content_type == "application/json":

                                                               return json.loads(data.content)

 

                               return data.content

 

               def parse_param(self, data):

                               if type(data) == dict:

                                               return json.dumps(data)

                               

                               return data

 

test.py

 

#!/usr/bin/python

#-*- coding: utf-8 -*-

 

import user, group, device

import unittest

import logging

 

logging.basicConfig(

                                                                               filename = 'airwatch-restlib.log',

                                                                               format = "%(asctime)s - %(name)s - %(levelname)s %(message)s",

                                                                               level = logging.DEBUG

                                                               )

 

class TestUser(unittest.TestCase):

#class TestUser():

               def setUp(self):

                               self.user = user.User()

                               self.error_user_id = 99999999

 

               def tearDown(self):

                               del self.user

               

               #@unittest.skip("skipcreate user")

               def create(self):

                               data = {

                                               "UserName":"test_xli",

                                               "Password": "Wsws1234",

                                               "FirstName":"Xusheng",

                                               "LastName":"Li",

                                               "Status":True,

                                               "Email":"test_xli@websense.com",

                                               "SecurityType":2,

                                               #"ContactNumber":"",

                                               "EmailUserName":"Li,Xusheng",

                                               "Group":"676",

                                               #"Role":"Full Access",

                                               #"MessageType": -1,

                                               #"EnrolledDevicesCount":"0",

                                               #"MessageTemplateId": 0

                               }

 

                               #u = self.user.create(data)

                               u = self.error_user_id

                               logging.debug("created a user with id %d, and info: %s", u, data)

                               self.assertTrue(type(u) == int)

 

               def test_update(self):

                               user_id = 206

                               data = {

                                               "UserName":"xli",

                                               "Password": "Wsws1234",

                                               "FirstName":"Xusheng",

                                               "LastName":"Li",

                                               "Status":True,

                                               "Email":"xli@websense.com",

                                               "SecurityType":2,

                                               #"ContactNumber":"",

                                               "EmailUserName":"Li,Xusheng",

                                               "Group":"676",

                                               #"Role":"Full Access",

                                               #"MessageType": -1,

                                               #"EnrolledDevicesCount":"0",

                                               #"MessageTemplateId": 0

                               }

 

                               u = self.user.get(user_id)

                               if u['LastName'] == 'Li':

                                               data['LastName'] = 'Lee'

                               u = self.user.update(user_id, data)

                               logging.debug("update a user with id %d, and info: %s", user_id,data)

                               self.assertTrue(type(u) == int)

                               u = self.user.get(user_id)

                               self.assertEqual(u['LastName'], data['LastName'])

               

               def test_get(self):

                               user_id = 206

                               u = self.user.get(user_id)

                               logging.debug("get user by id: %d", user_id)

                               logging.debug(u)

 

                               self.assertEqual(u["Id"], user_id)

 

               def test_get_error(self):

                              error = self.user.get(self.error_user_id)

                               logging.debug("get user by id: %d", self.error_user_id)

                               logging.debug(error)

 

                               self.assertEqual(error["ErrorCode"], 400)

 

               def test_delete(self):

                               user_id = 212

                               u = self.user.delete(user_id)

                               logging.debug("delete user by id: %d", user_id)

                               logging.debug(u)

 

                               self.assertEqual(user_id, u)

 

               def test_delete_error(self):

                               u = self.user.delete(self.error_user_id)

                               logging.debug("delete user by id: %d", self.error_user_id)

                               logging.debug(u)

 

                               self.assertEqual(u['ErrorCode'], 400)

 

               def register_device(self):

                               device_info = {

                                               "LocationGroupId": 676,

                                               "FriendlyName":"xli's iPad",

                                               "Ownership":"Undefined",

                                               "PlatformId":0,

                                               "ModelId":0,

                                               "OperatingSystemId":0,

                                               "Udid":"f3f00bbf2326cff4f54028b1c162e5cc53fe6760",

                                               "SerialNumber":"DMPJ89PUDVGK",

                                               "Imei":"013118003265688",

                                               "AssetNumber":"f3f00bbf2326cff4f54028b1c162e5cc53fe6760",

                                               "MessageType":"Text value",

                                               "SIM":"Text value",

                                               "ToEmailAddress":"xli@websense.com",

                                               "ToPhoneNumber":"+8615311729307"

                               }

 

                               self.user.register_device(device_info)

 

               def test_change_location_group(self):

                               user_id = 206

                               u = self.user.get(user_id)

                               if u['Group'] == "Dev group":

                                               group_id = 659

                               else:

                                               group_id = 676

                               tmp = self.user.change_location_group(user_id, group_id)

 

                               self.assertEqual(tmp, group_id)

 

               def test_change_location_group_error_user_id(self):

                               group_id = 676

                               error = self.user.change_location_group(self.error_user_id, group_id)

 

                               self.assertEqual(error['ErrorCode'], 400)

 

               def test_change_location_group_error_group_id(self):

                               user_id = 206

                               group_id = 99999999

                               error = self.user.change_location_group(user_id, group_id)

 

                               self.assertEqual(error['ErrorCode'], 400)

 

               def test_list(self):

                               us = self.user.list()

                               logging.debug("list all users")

                               logging.debug(us)

 

                               self.assertTrue(type(us) == list)

 

               def test_search(self):

                               data = {

                                               "firstname":"Xusheng",

                                               #"lastname":"Li",

                                               "email":"xli@websense.com",

                                               #"locationgroupid": "676",

                                               #"role":""

                               }

 

                               us = self.user.search(data)

                               logging.debug("search user by condition: %s", data)

                               logging.debug(us)

                               for u in us:

                                               self.assertEqual(u["Email"], "xli@websense.com")

                                               self.assertEqual(u["LastName"], "Li")

                                               self.assertEqual(u["FirstName"], "Xusheng")

                                               self.assertEqual(u["Group"], "Dev group")

 

               def test_search_error(self):

                               data = {

                                               "firstname":"Not existence firstname",

                                               "lastname":"Not existence lastname",

                                               "email":"notexit@email.com",

                                               "locationgroupid": "676",

                                               #"role":""

                               }

 

                               error = self.user.search(data)

                               logging.debug('search a nonexist user with condition: %s", data')

                               logging.debug(error)

 

                               self.assertEqual(error[0], 204)

 

#@unittest.skip("skipgroup test")

class TestGroup(unittest.TestCase):

#class TestGroup():

               def setUp(self):

                               self.group = group.Group()

                               self.error_group_id = 99999999

 

               def tearDown(self):

                               del self.group

 

               def test_create(self):

                               group_id = 659

                               data = {

                                               u"Name":u"Dev group2",

                                               u"GroupId":u"devgroup2",

                                               u"LocationGroupType":u"Customer",

                                               u"Country":u"China",

                                               u"AddDefaultLocation":u"",

                                               u"LgLevel":0

                               }

 

                               #g = self.group.create(group_id, data)

                               g = 333

                               self.assertTrue(type(g) == int)

                               logging.debug("create an group which id is: %d", g)

 

               def test_update(self):

                               group_id = 676

                               data = {

                                               u"Name":u"Dev group",

                                               u"GroupId":u"devgroup",

                                               u"LocationGroupType":u"Customer",

                                               u"Country":u"China",

                                               u"AddDefaultLocation":u"",

                                               u"LgLevel":0

                               }

 

                               g = self.group.get(group_id)

                               if g['Name'] == 'Dev group':

                                               data['Name'] = 'Dev group3'

                               g = self.group.update(group_id, data)

                               self.assertTrue(type(g) == int)

                               logging.debug("create an group which id is: %d", g)

                               g = self.group.get(group_id)

                               self.assertEqual(g['Name'], data['Name'])

 

               def test_get(self):

                               group_id = 676

                               g = self.group.get(group_id)

 

                               logging.debug("get group information with id: %d", group_id)

                               logging.debug("group content: %s", g)

                               self.assertEqual(g['Id'], group_id)

 

               def test_get_error(self):

                               e = self.group.get(self.error_group_id)

 

                               logging.debug("get group information with id: %d", self.error_group_id)

                               logging.debug("group content: %s", e)

                               self.assertEqual(e['ErrorCode'], 400)

 

               def test_getadmins(self):

                               group_id = 659

                               a = self.group.getadmins(group_id)

 

                               logging.debug("get admins of group with group id: %d", group_id)

                               logging.debug(a)

                               self.assertTrue(type(a) == list)

 

               def test_getadmins_error(self):

                               e = self.group.getadmins(self.error_group_id)

 

                               logging.debug("get admins of group with group id: %d", self.error_group_id)

                               logging.debug(e)

                               self.assertEqual(e['ErrorCode'], 400)

 

               def test_getusers(self):

                               group_id = 659

                               us = self.group.getusers(group_id)

 

                               logging.debug("get users of group with group id: %d", group_id)

                               logging.debug(us)

                               self.assertTrue(type(us) == list)

 

               def test_getusers_error(self):

                               e = self.group.getusers(self.error_group_id)

 

                               logging.debug("get users of group with group id: %d", self.error_group_id)

                               logging.debug(e)

                               self.assertEqual(e['ErrorCode'], 400)

 

               def test_getchild(self):

                               group_id = 659

                               cs = self.group.getchild(group_id)

 

                               logging.debug("get children of group with group id: %d", group_id)

                               logging.debug(cs)

                               self.assertTrue(type(cs) == list)

 

               def test_getchild_error(self):

                               e = self.group.getchild(self.error_group_id)

 

                               logging.debug("get child of group with group id: %d", self.error_group_id)

                               logging.debug(e)

                               self.assertEqual(e['ErrorCode'], 400)

 

               def test_roles(self):

                               group_id = 676

                               rs = self.group.roles(group_id)

 

                               logging.debug("get children of group with group id: %d", group_id)

                               logging.debug(rs)

                               self.assertTrue(type(rs) == list)

 

               def test_roles_error(self):

                               e = self.group.roles(self.error_group_id)

 

                               logging.debug("get roles of group with group id: %d",self.error_group_id)

                               logging.debug(e)

                               self.assertEqual(e['ErrorCode'], 400)

 

               def test_search(self):

                               cond = {"Name":"Engineering Test","GroupId":"engtest", "Type":"Customer"}

                               gs = self.group.search(cond)

                               logging.debug("search group by condition: %s", cond)

                               logging.debug(gs)

                               self.assertTrue(type(gs) == list)

                               for g in gs:

                                               self.assertEqual(g['Name'], "Engineering Test")

                                               self.assertEqual(g['GroupId'], "engtest")

                                               self.assertEqual(g['LocationGroupType'], "Customer")

 

               def test_search_error(self):

                               cond = {"Name":"Not existence group","GroupId":"Not existence group id","Type":"Not existence type"}

                               error = self.group.search(cond)

                               logging.debug('search a nonexist group with condition: %s", data')

                               logging.debug(error)

 

                               self.assertEqual(error[0], 204)

 

               def test_list(self):

                               gs =  self.group.list()

                               self.assertTrue(type(gs) == list)

 

#@unittest.skip("skipadmin test")

#class TestAdmin(unittest.TestCase):

class TestAdmin():

               def setUp(self):

                               self.admin = admin.Admin()

 

               def tearDown(self):

                               del self.admin

               

               def test_create(self):

                               data = {

                                               #"Id": 287

                                               "UserName":"xli",

                                               "Password":"Wsws123456",

                                               "FirstName":"Xusheng",

                                               "LastName":"Lee",

                                               "Email":"xli@websense.com",

                                               "LocationGroup":"devgroup",

                                               "LocationGroupId":"676",

                                               #"TimeZone":"Text value",

                                               #"Locale":"Text value",

                                               #"InitialLandingPage":"Text value",

                                               #"LastLoginTimeStamp":"\/Date(928164000000-0400)\/",

                                               "Roles":[

                                               { "Id":10088 },

                                               { "Id":108 },

                                               { "Id":10122 }

                                               ],

                                               #"IsActiveDirectoryUser":true

                               }

 

                               self.admin.create(data)

               

               def test_get(self):

                               admin_id = 287

                               a = self.admin.get(user_id)

                               logging.debug(u)

 

                               self.assertEqual(a["Id"], admin_id)

 

               def test_removerole(self):

                               role = {

                                               "Id":108

                               }

                               pp.pprint(a.removerole(287, role))

 

               def test_addrole(self):

                               role = {

                                               "Id":108

                               }

                               pp.pprint(a.addrole(287, role))

 

               def test_delete(self):

                               pp.pprint(a.delete(287 ))

 

               def test_changepassword(self):

                               pp.pprint(a.changepassword(287,data))

 

               def test_list(self):

                               a = self.user.list()

                               logging.debug(a)

 

               def test_search(self):

                               pass

 

class TestDevice(unittest.TestCase):

#class TestDevice():

               def setUp(self):

                               self.device = device.Device()

                               self.error_device_id = 99999999

                               self.error_macaddress = 'ZZZZZZZZZZZZ'

                               self.error_serial_number = 'ZZZZZZZZZZZZ'

                               self.error_udid = 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz'

 

               def tearDown(self):

                               del self.device

 

               def test_get(self):

                               device_id = 779

                               d = self.device.get(device_id)

 

                               logging.debug("get device info by device id: %d", device_id)

                               logging.debug(d)

 

                               self.assertEqual(d['Id'], device_id)

 

               def test_get_error(self):

                               d = self.device.get(self.error_device_id)

 

                               logging.debug("get device info by device id: %d", self.error_device_id)

                               logging.debug(d)

 

                               self.assertEqual(d['ErrorCode'], 404)

 

               def test_get_by_macaddress(self):

                               macaddress = '8CFABA14927A'

                               d = self.device.get_by_macaddress(macaddress)

 

                               logging.debug("get device info by mac address: %s", macaddress)

                               logging.debug(d)

 

                               self.assertEqual(d['MacAddress'], macaddress)

 

               def test_get_by_macaddress_error(self):

                               d = self.device.get_by_macaddress(self.error_macaddress)

 

                               logging.debug("get device info by mac address: %s", self.error_macaddress)

                               logging.debug(d)

 

                               self.assertEqual(d['ErrorCode'], 404)

 

               def test_get_by_serialnumber(self):

                               serialnumber = 'DMPJ89PUDVGK'

                               d = self.device.get_by_serialnumber(serialnumber)

 

                               logging.debug("get device info by device serial number: %s",serialnumber)

                               logging.debug(d)

 

                               self.assertEqual(d['SerialNumber'], serialnumber)

 

               def test_get_by_serialnumber_error(self):

                               d = self.device.get_by_serialnumber(self.error_serial_number)

 

                               logging.debug("get device info by device serial number: %s",self.error_serial_number)

                               logging.debug(d)

 

                               self.assertEqual(d['ErrorCode'], 404)

 

               def test_get_by_udid(self):

                               udid = 'f3f00bbf2326cff4f54028b1c162e5cc53fe6760'

                               d = self.device.get_by_udid(udid)

 

                               logging.debug("get device info by device udid: %s", udid)

                               logging.debug(d)

 

                               self.assertEqual(d['Udid'], udid)

 

               def test_get_udid_error(self):

                               d = self.device.get_by_udid(self.error_udid)

 

                               logging.debug("get device info by device id: %s", self.error_udid)

                               logging.debug(d)

 

                               self.assertEqual(d['ErrorCode'], 404)

 

               def test_get_app_by_id(self):

                               device_id = 779

                               d = self.device.get_apps_by_id(device_id)

 

                               logging.debug("get application info by device id: %s", device_id)

                               logging.debug(d)

 

                               self.assertTrue(type(d) == list)

 

               def test_query_by_id(self):

                               device_id = 779

                               d = self.device.query_by_id(device_id)

 

                               logging.debug("get application info by device id: %s", device_id)

                               logging.debug(d)

 

                               self.assertEqual(device_id, d)

 

               def test_query_by_macaddress(self):

                               macaddress = "8CFABA14927A"

                               d = self.device.query_by_macaddress(macaddress)

 

                               logging.debug("get application info by device macaddress: %s",macaddress)

                               logging.debug(d)

 

                               self.assertEqual(macaddress, d)

 

               def test_query_by_serialnumber(self):

                               serialnumber = 'DMPJ89PUDVGK'

                               d = self.device.query_by_serialnumber(serialnumber)

 

                               logging.debug("get application info by device serialnumber: %s",serialnumber)

                               logging.debug(d)

 

                               self.assertEqual(serialnumber, d)

 

               def test_query_by_udid(self):

                               udid = 'f3f00bbf2326cff4f54028b1c162e5cc53fe6760'

                               d = self.device.query_by_udid(udid)

 

                               logging.debug("get application info by device udid: %s", udid)

                               logging.debug(d)

 

                               self.assertEqual(udid, d)

 

               def test_get_by_ids(self):

                               #data = [779, 613, 616, 620, 622, 646, 647, 648, 730, 755, 779, 804,]

                               data = [779, 804,]

                               ds = self.device.get_by_ids(data)

 

                               logging.debug("get device info by device ids: %s", data)

                               logging.debug(ds)

 

                               self.assertEqual(type(ds), list)

 

               def test_get_enrollment_status_by_id(self):

                               device_id = 804

                               ei = self.device.get_enrollment_status_by_id(device_id)

 

                               logging.debug("get enrollment status by device id: %s", device_id)

                               logging.debug(ei)

 

                               self.assertTrue(ei.has_key('Id'))

                               self.assertEqual(ei['Id'], device_id)

 

               def test_search(self):

                               data = {"user": "xli"}

                               ds = self.device.search(data)

 

                               self.assertEqual(type(ds), list)

                               for d in ds:

                                               self.assertEqual(d['UserName'], 'xli')

 

               def test_search_error(self):

                               data = {"user": "not exist user"}

                               d = self.device.search(data)

 

                               self.assertEqual(type(d), tuple)

 

               def test_list(self):

                               ds = self.device.list()

                               logging.debug("list all device")

                               logging.debug(ds)

 

                               self.assertTrue(type(ds) == list)

                               for d in ds:

                                               logging.debug(d['Id'])

 

if __name__ == '__main__':

               unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值