class HarvestFlowerTest(unittest.TestCase): def setUp(self): print 'start run HarvestFlower test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'HarvestFlower test complete.....close socket' def test_harvest_flower_success(self): """ 收花成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") soil_id = 1 res = self.ar_con.get_soils() res_data = json.loads(res) for soil in res_data: if soil["seed"] > 0: soil_id = soil["soil_id"] res = self.ar_con.harvest_flower(soil_id) res_data = json.loads(res) assert_that(res_data, has_key("items"), "no items response...") assert_that(res_data, has_key("winning"), "no winning response...")
class GetRandomEventTest(unittest.TestCase): def setUp(self): print 'start run GetRandomEvent test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'GetRandomEvent test complete.....close socket' def test_get_random_event_sucess(self): """ 获取随机事件成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") latitude = 26.092 longitude = 119.314 res = self.ar_con.get_random_event(latitude, longitude) res_data = json.loads(res) assert_that(res_data, has_key("events"), "no events response...") assert_that(res_data, has_key("valid_time"), "no valid_time response...") for events in res_data["events"]: assert_that(events, has_key("event_id"), "no event_id response...") assert_that(events, has_key("latitude"), "no latitude response...") assert_that(events, has_key("longitude"), "no latitude response...") assert_that(events, has_key("event_type"), "no event_type response...") assert_that(events, has_key("status"), "no status response...")
class EvolutionPetTest(unittest.TestCase): def setUp(self): print 'start run EvolutionPet test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'EvolutionPet test complete.....close socket' def test_evolution_pet_success(self): """ 进化宠物成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_pet_list(user_id) res_data = json.loads(res) pet_id = res_data[0]["pet_id"] res = self.ar_con.get_pet_info(pet_id, user_id) res_data = json.loads(res) assert_that(res_data, has_key("pet_id"), "no id response...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id), "user_id not match...") assert_that(res_data, has_key("pet_code"), "no pet_code response...") assert_that(res_data, has_key("name"), "no name response...") assert_that(res_data, has_key("quality"), "no quality response...") assert_that(res_data, has_key("evolution_type"), "no evolution_type response...") assert_that(res_data, has_key("lookface"), "no lookface response...") assert_that(res_data, has_key("power"), "no power response...") assert_that(res_data, has_key("level"), "no level response...") assert_that(res_data, has_key("exp"), "no exp response...") assert_that(res_data, has_key("hp"), "no hp response...") assert_that(res_data, has_key("is_capture"), "no isCapture response...") assert_that(res_data, has_key("atk"), "no atk response...") assert_that(res_data, has_key("hit_rate"), "no hit_rate response...") assert_that(res_data, has_key("dodge_rate"), "no dodge_rate response...") assert_that(res_data, has_key("crit_rate"), "no crit_rate response...") assert_that(res_data, has_key("anti_crit_rate"), "no anti_crit_rate response...") assert_that(res_data, has_key("skill1"), "no skill1 response...") assert_that(res_data, has_key("skill1_level"), "no skill1_level response...") assert_that(res_data, has_key("skill2"), "no skill2 response...") assert_that(res_data, has_key("skill2_level"), "no skill2_level response...") assert_that(res_data, has_key("skill3"), "no skill3 response...") assert_that(res_data, has_key("skill3_level"), "no skill3_level response...") assert_that(res_data, has_key("skill4"), "no skill4 response...") assert_that(res_data, has_key("skill4_level"), "no skill4_level response...")
class GetRoomListTest(unittest.TestCase): """ 获取房间列表 """ def setUp(self): print 'start run GetRoomList test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetRoomList test complete.....close socket' def test_get_room_list_success(self): """ 获取房间列表成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") res = self.ar_con.get_room_list() res_data = json.loads(res) assert_that(res_data, has_key("list"), "no list response...") for room in res_data["list"]: assert_that(room, has_key("room_id"), "no room_id response...") assert_that(room, has_key("desc"), "no desc response...") assert_that(room, has_key("map_id"), "no map_id response...") assert_that(room, has_key("player_count"), "no player_count response...") assert_that(room, has_key("is_battling"), "no is_battling response...")
class PlantSeedTest(unittest.TestCase): def setUp(self): print 'start run PlantSeed test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'PlantSeed test complete.....close socket' def test_plant_seed_success(self): """ 种植花朵成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") res = self.ar_con.get_seeds() res_data = json.loads(res) seed = res_data[0]["seed"] res = self.ar_con.plant_seed(2, seed) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...")
class GetSweepOtherRewardsTest(unittest.TestCase): """ 获取玩家打扫别人房间的奖励 """ def setUp(self): print 'start run GetSweepOtherRewards test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetSweepOtherRewards test complete.....close socket' def test_get_sweep_other_rewards_success(self): """ 获取玩家打扫别人房间的奖励成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] apartment_code_1 = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code_1 = apartment["apartment_code"] break res = self.ar_con.apply_apartment(apartment_code_1) res_data = json.loads(res) floor_1 = res_data["floor"] self.ar_con.connect_server() account_id_2 = CoRand.get_rand_int(100001) self.ar_con.login(account_id_2, "im") pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.match_pet(pet_url) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) self.ar_con.sweep_apartment(apartment_code_1, user_id_1, floor_1) time.sleep(901) res = self.ar_con.get_sweep_other_rewards() res_data = json.loads(res) for rewards in res_data: assert_that(rewards, has_key("pet_id"), "no pet_id response...") assert_that(rewards, has_key("time"), "no time response...") assert_that(rewards, has_key("coin"), "no coin response...") assert_that(rewards, has_key("contribute_value"), "no contribute_value response...") assert_that(rewards, has_key("construct_value"), "no construct_value response...") assert_that(rewards, has_key("user_id"), "no user_id response...")
class GetApartmentSweepInfoTest(unittest.TestCase): """ 查看公寓打扫信息 """ def setUp(self): print 'start run GetApartmentSweepInfo test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetApartmentSweepInfo test complete.....close socket' def test_get_apartment_sweep_info_success(self): """ 查看公寓打扫信息成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] apartment_code = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code = apartment["apartment_code"] break res = self.ar_con.apply_apartment(apartment_code) res_data = json.loads(res) floor = res_data["floor"] pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.match_pet(pet_url) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) self.ar_con.sweep_apartment(apartment_code, user_id, floor) res = self.ar_con.get_apartment_sweep_info(apartment_code, user_id, floor) res_data = json.loads(res) assert_that(res_data, has_key("pet_info"), "no pet_info response...") assert_that(res_data, has_key("left_num"), "no left_num response...") assert_that(res_data, has_key("countdown"), "no countdown response...") assert_that(res_data["pet_info"], has_key("pet_id"), "no pet_id response...") assert_that(res_data["pet_info"], has_key("pet_code"), "no pet_code response...") assert_that(res_data["pet_info"], has_key("user_id"), "no user_id response...") assert_that(res_data["pet_info"], has_key("name"), "no name response...") assert_that(res_data["pet_info"], has_key("quality"), "no quality response...")
class GetApartmentFloorListTest(unittest.TestCase): """ 获取公寓所有楼层信息 """ def setUp(self): print 'start run GetApartmentFloorList test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetApartmentFloorList test complete.....close socket' def test_get_apartment_floor_list_success(self): """ 获取公寓所有楼层信息成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") res = self.ar_con.get_all_apartment() res_data = json.loads(res) apartment_code = res_data[0]["apartment_code"] self.ar_con.apply_apartment(apartment_code) # 有用户入住 res = self.ar_con.get_apartment_floor_list(apartment_code) res_data = json.loads(res) for floor in res_data: assert_that(floor, has_key("user_id"), "no user_id response...") assert_that(floor, has_key("sex"), "no sex response...") assert_that(floor, has_key("apartment_code"), "no apartment_code response...") assert_that(floor["apartment_code"], equal_to(apartment_code), "apartment_code not match...") assert_that(floor, has_key("floor"), "no floor response...") assert_that(floor, has_key("floor_name"), "no floor_name response...") assert_that(floor, has_key("nick_name"), "no nick_name response...") assert_that(floor, has_key("icon_code"), "no icon_code response...") def test_get_apartment_floor_list_notexist(self): """ 获取公寓所有楼层信息失败,不存在的公寓\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") apartment_code = CoRand.get_rand_int() res = self.ar_con.get_apartment_floor_list(apartment_code) res_data = json.loads(res) assert res_data == []
class UpdateFloorNameTest(unittest.TestCase): """ 重命名玩家楼层名称 """ def setUp(self): print 'start run UpdateFloorName test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'UpdateFloorName test complete.....close socket' def test_update_floor_name_success(self): """ 重命名玩家楼层名称成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] apartment_code = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code = apartment["apartment_code"] break res = self.ar_con.apply_apartment(apartment_code) res_data = json.loads(res) floor = res_data["floor"] floor_name = u"重命名" res = self.ar_con.update_floor_name(apartment_code, floor_name, floor) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_apartment_floor_list(apartment_code) res_data = json.loads(res) for user in res_data: if user["user_id"] == user_id: assert_that(user, has_key("floor_name"), "no floor_name response...") assert user[ "floor_name"] == floor_name, "response floor_name mismatching..." break
class GetMatchCountTest(unittest.TestCase): def setUp(self): print 'start run GetMatchCount test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'GetMatchCount test complete.....close socket' def test_get_match_count_success(self): """ 获取剩余的捕获次数成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") res = self.ar_con.get_match_count() res_data = json.loads(res) assert_that(res_data, has_key("scan_normal"), "no scan_normal response...") assert_that(res_data, has_key("scan_advance"), "no scan_advance response...") def test_get_match_count_after_capture(self): """ 捕获宠物后次数减一\ 【暂时去除次数限制,后期待更新】 开发:黄良江(900000)\ 测试:魏春旺(100861) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.get_match_count() res_data = json.loads(res) before_count = res_data["scan_advance"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) self.ar_con.capture_pet(res_data["item_id"]) res = self.ar_con.get_match_count() res_data = json.loads(res) after_count = res_data["scan_advance"] assert_that(before_count - after_count, equal_to(1), "get_match_count result error...")
class GetSupplyTest(unittest.TestCase): """ 获取神仙居 """ def setUp(self): print 'start run GetSupply test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetSupply test complete.....close socket' def test_get_supply_success(self): """ 获取神仙居成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") latitude = 26.092 longitude = 119.314 res = self.ar_con.get_supply(latitude, longitude) res_data = json.loads(res) for supply in res_data: assert_that(supply, has_key("id"), "no id response...") assert_that(supply, has_key("latitude"), "no latitude response...") assert_that(supply, has_key("longitude"), "no longitude response...") assert_that(supply, has_key("name"), "no name response...") assert_that(supply, has_key("image"), "no image response...") assert_that(supply, has_key("cd_time"), "no cd_time response...") def test_get_supply_error(self): """ 获取神仙居失败,错误的定位数据\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") latitude = 120.092 longitude = 220.314 res = self.ar_con.get_supply(latitude, longitude) res_data = json.loads(res) assert res_data == []
class GetAllApartmentTest(unittest.TestCase): """ 获取所有公寓列表 """ def setUp(self): print 'start run GetAllApartment test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetAllApartment test complete.....close socket' def test_get_all_apartment_success(self): """ 获取所有公寓列表成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: assert_that(apartment, has_key("apartment_code"), "no apartment_code response...") assert_that(apartment, has_key("latitude"), "no latitude response...") assert_that(apartment, has_key("longitude"), "no longitude response...") assert_that(apartment, has_key("apartment_name"), "no apartment_name response...") assert_that(apartment, has_key("img"), "no img response...") assert_that(apartment, has_key("total_floor"), "no total_floor response...") assert_that(apartment, has_key("is_full"), "no total_floor response...") assert_that(apartment, has_key("current_num"), "no total_floor response...")
class GetUserCoinTest(unittest.TestCase): def setUp(self): print 'start run GetUserCoin test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetUserCoin test complete.....close socket' def test_get_user_coin_success(self): """ 获取玩家金币成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") res = self.ar_con.get_user_coin() res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no energy response...")
class GetCSSessionTest(unittest.TestCase): def setUp(self): print 'start run GetCSSession test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'GetCSSession test complete.....close socket' def test_get_cs_session_success(self): """ 获取CS的Session成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") res = self.ar_con.get_cs_session() res_data = json.loads(res) assert_that(res_data, has_key("session"), "no session response...") assert_that(res_data, has_key("expire_at"), "no expire_at response...")
class GetSeedsTest(unittest.TestCase): def setUp(self): print 'start run GetSeeds test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'GetSeeds test complete.....close socket' def test_get_seeds_success(self): """ 获取种子信息成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") res = self.ar_con.get_seeds() res_data = json.loads(res) for seed in res_data: assert_that(seed, has_key("seed"), "no seed response...") assert_that(seed, has_key("count"), "no count response...")
class GetDefPetTeamTest(unittest.TestCase): """ 查看默认的宠物队伍 """ def setUp(self): print 'start run GetDefPetTeam test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'GetDefPetTeam test complete.....close socket' def test_get_def_pet_team_ok(self): """ 查看默认的宠物队伍成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = 100861 self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.get_def_pet_team() res_data = json.loads(res) assert_that(res_data, has_key("team_code"), "no team_code response...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data, has_key("pet_id1"), "no pet_id1 response...") assert_that(res_data, has_key("pet_id2"), "no pet_id2 response...") assert_that(res_data, has_key("pet_id3"), "no pet_id3 response...") assert_that(res_data, has_key("pet_id4"), "no pet_id4 response...") assert_that(res_data, has_key("pet_id5"), "no pet_id5 response...") assert_that(res_data, has_key("pet_id6"), "no pet_id6 response...") assert_that(res_data, has_key("pet_id7"), "no pet_id7 response...") assert_that(res_data, has_key("pet_id8"), "no pet_id8 response...") assert_that(res_data, has_key("pet_id9"), "no pet_id9 response...") assert_that(res_data, has_key("skill_id"), "no skill_id response...")
class AttackPetTest(unittest.TestCase): def setUp(self): print 'start run AttackPet test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "attackPet" self.account_id = 100861 self.pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" self.total_part_name = ["head", "arm", "clothes", "skirt", "shoes"] def tearDown(self): print 'AttackPet test complete.....close socket' def test_attack_pet_no_attack(self): """ 攻击玩家未抽取到攻击卡\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_ALLOW_ATTACK["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_ALLOW_ATTACK["err_msg"]), "response msg mismatching...") def test_attack_pet_no_shield(self): """ 被攻击玩家无护盾,攻击玩家获得300000金币\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response coin mismatch...") assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(1), "response star mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(0), "response reward_coin mismatch...") assert_that(res_data, has_key("shield"), "no shield response...") assert_that(res_data["shield"], equal_to(0), "response shield mismatch...") def test_attack_pet_has_shield(self): """ 被攻击玩家有护盾,攻击玩家获得100000金币\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "shield", 1) self.ar_con.gm_reload_user_data(user_id_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(100000), "response coin mismatch...") assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(1), "response star mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(0), "response reward_coin mismatch...") assert_that(res_data, has_key("shield"), "no shield response...") assert_that(res_data["shield"], equal_to(2), "response shield mismatch...") def test_attack_pet_first_attack(self): """ 部件第一次被攻击,星章数不变,部件等级不变,仍为可攻击状态\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) res = self.ar_con.upgrade_pet_part(part) res_data = json.loads(res) user1_coin_before = res_data["coin"] print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.get_user_info(user_id_2) res_data = json.loads(res) user2_coin_before = res_data["coin"] res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data, has_key("win_coin"), "no win_coin response...") win_coin = res_data["win_coin"] assert_that(res_data["coin"], equal_to(user2_coin_before + win_coin), "response coin mismatch...") assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(1), "response star mismatch...") print "玩家1执行操作:" self.ar_con.get_rev() res = self.ar_con.get_user_info(user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("can_attack"), "no can_attack response...") assert_that(res_data["can_attack"], equal_to(1), "response can_attack mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(user1_coin_before), "response coin mismatch...") res = self.ar_con.get_pet_info(pet_id, user_id_1) res_data = json.loads(res) attack_part_status = self.total_part_name[part - 1] + "_status" attack_part_level = self.total_part_name[part - 1] + "_level" assert_that(res_data, has_key(attack_part_status), "no attack_part_name response...") assert_that(res_data[attack_part_status], equal_to(1), "response attack_part_name mismatch...") assert_that(res_data, has_key(attack_part_level), "no attack_part_level response...") assert_that(res_data[attack_part_level], equal_to(1), "response attack_part_level mismatch...") def test_attack_pet_twice(self): """ 同部件两次被攻击,部件等级重置为0,星章数-1\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "创建玩家1:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) res = self.ar_con.upgrade_pet_part(part) res_data = json.loads(res) user1_coin_before = res_data["coin"] print "创建玩家2两次攻击1:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) self.ar_con2.attack_pet(part, user_id_1) self.ar_con.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response coin mismatch...") assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(0), "response star mismatch...") print "玩家1查看宠物信息:" self.ar_con.get_rev() res = self.ar_con.get_user_info(user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("can_attack"), "no can_attack response...") assert_that(res_data["can_attack"], equal_to(0), "response can_attack mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(user1_coin_before), "response coin mismatch...") res = self.ar_con.get_pet_info(pet_id, user_id_1) res_data = json.loads(res) attack_part_status = self.total_part_name[part - 1] + "_status" attack_part_level = self.total_part_name[part - 1] + "_level" assert_that(res_data, has_key(attack_part_status), "no attack_part_name response...") assert_that(res_data[attack_part_status], equal_to(0), "response attack_part_name mismatch...") assert_that(res_data, has_key(attack_part_level), "no attack_part_level response...") assert_that(res_data[attack_part_level], equal_to(0), "response attack_part_level mismatch...") def test_attack_pet_third(self): """ 同部件已两次被攻击,无法再次攻击\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) self.ar_con2.attack_pet(part, user_id_1) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) self.ar_con2.attack_pet(part, user_id_1) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PLAYER_BE_PROTECTED["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PLAYER_BE_PROTECTED["err_msg"]), "response msg mismatching...") def test_attack_pet_part_level_0(self): """ 攻击0级部位\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PLAYER_BE_PROTECTED["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PLAYER_BE_PROTECTED["err_msg"]), "response msg mismatching...") def test_attack_pet_user_not_have_pet(self): """ 攻击--被攻击玩家没有宠物\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) part = CoRand.get_rand_int(1, 5) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PLAYER_BE_PROTECTED["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PLAYER_BE_PROTECTED["err_msg"]), "response msg mismatching...") def test_attack_pet_self(self): """ 玩家攻击自己\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 104) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.attack_pet(part, user_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PLAYER_BE_PROTECTED["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PLAYER_BE_PROTECTED["err_msg"]), "response msg mismatching...") def test_attack_pet_without_param(self): """ 攻击失败,未传参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 104) self.ar_con.gm_reload_user_data(user_id) json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_USER_NOT_EXIST["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_USER_NOT_EXIST["err_msg"]), "response msg mismatching...") def test_attack_pet_without_user_id(self): """ 攻击失败,未传user_id参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 104) self.ar_con.gm_reload_user_data(user_id) json_body = {"part": 1} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_USER_NOT_EXIST["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_USER_NOT_EXIST["err_msg"]), "response msg mismatching...") def test_attack_pet_without_part(self): """ 攻击失败,未传part参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) json_body = {"user_id": user_id_1} res = self.ar_con2.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...") def test_attack_pet_error_part(self): """ 攻击失败,part参数错误\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part) print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) json_body = {"user_id": user_id_1, "part": 123} res = self.ar_con2.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_ALLOW_ATTACK_PART["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_ALLOW_ATTACK_PART["err_msg"]), "response msg mismatching...") def test_attack_pet_error_user_id(self): """ 攻击失败,user_id参数错误\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) user_id_2 = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "lottery_type", 104) self.ar_con.gm_reload_user_data(user_id_1) json_body = {"user_id": user_id_2, "part": 1} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_USER_NOT_EXIST["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_USER_NOT_EXIST["err_msg"]), "response msg mismatching...")
class UpdateLocationTest(unittest.TestCase): def setUp(self): print 'start run UpdateLocation test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "updateLocation" def tearDown(self): print 'UpdateLocation test complete.....close socket' def test_update_location_success(self): """ 上传位置信息成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ res = self.ar_con.login(100861, "im") res_data = json.loads(res) user_id = res_data["user_id"] latitude = 26.092 longitude = 119.314 res = self.ar_con.update_location(latitude, longitude) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("latitude"), "no code response...") assert_that(res_data, has_key("longitude"), "no err_msg response...") assert_that(res_data["latitude"], equal_to(latitude), "response code mismatching...") assert_that(res_data["longitude"], equal_to(longitude), "response msg mismatching...") def test_update_location_without_params(self): """ 上传位置信息失败,不带参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(100861, "im") json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
class SetFollowPetTest(unittest.TestCase): def setUp(self): print 'start run SetFollowPet test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "setFollowPet" self.account_id = 100861 def tearDown(self): print 'SetFollowPet test complete.....close socket' def test_set_follow_pet_success(self): """ 设置随身宠成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] res = self.ar_con.set_follow_pet(theme_park_id, pet_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no pet_id1 response...") assert_that(res_data["star"], equal_to(star), "response pet_id1 error...") def test_set_follow_pet_from_stage_pet(self): """ 舞台宠设置为随身宠成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] self.ar_con.equip_pet(theme_park_id, pet_id, 1) res = self.ar_con.set_follow_pet(theme_park_id, pet_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PET_NOT_FREE["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PET_NOT_FREE["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no pet_id1 response...") assert_that(res_data["star"], equal_to(star + 1), "response pet_id1 error...") def test_set_follow_pet_error_theme_park(self): """ 设置随身宠失败,错误的乐园id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) pet_id = res_data["follow_pet_id"] theme_park_id = CoRand.get_rand_int() res = self.ar_con.set_follow_pet(theme_park_id, pet_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NO_FOUND_PLAYER_PARK["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NO_FOUND_PLAYER_PARK["err_msg"]), "response msg mismatching...") def test_set_follow_pet_error_pet(self): """ 设置随身宠失败,错误的宠物id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] pet_id = CoRand.get_rand_int() res = self.ar_con.set_follow_pet(theme_park_id, pet_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...") def test_set_follow_pet_without_params(self): """ 设置随身宠失败,未传参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
class ModifyInfoTest(unittest.TestCase): def setUp(self): print 'start run ModifyInfo test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "modifyInfo" def tearDown(self): print 'ModifyInfo test complete.....close socket' def test_modify_info_success(self): """ 修改角色信息成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ res = self.ar_con.login(100861, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) sign = CoRand.get_random_word_filter_sensitive(6) res = self.ar_con.modify_info(nick_name, sign) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("nick_name"), "no nike_name response...") assert_that(res_data["nick_name"], equal_to(nick_name), "response code mismatching...") def test_modify_info_exist(self): """ 修改成已存在角色\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.ar_con.connect_server() self.ar_con.login(791099, "im") res = self.ar_con.modify_info(nick_name) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_ROLE_ALREADY_EXIST["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_ROLE_ALREADY_EXIST["err_msg"]), "response msg mismatching...") def test_modify_info_without_params(self): """ 修改角色信息-不传参数,不修改\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ self.ar_con.login(100861, "im") json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") def test_modify_info_nick_name_chinese(self): """ 修改角色信息成功,角色名称中文\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(100861, "im") nick_name = CoRand.get_rand_chinese(7) json_body = { "sex": 1, "icon": "https://www.baidu.com/", "nick_name": nick_name } res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") def test_modify_info_nick_name_combination(self): """ 修改角色信息成功,角色名称中文、英文、数字组合\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_rand_combination(4) res = self.ar_con.modify_info(nick_name) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") def test_modify_info_nick_name_illegal(self): """ 修改角色信息失败,非法字符\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(100861, "im") nick_name = "c a o" res = self.ar_con.modify_info(nick_name) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...") def test_modify_info_nick_name_long(self): """ 修改角色信息失败,昵称超出字符限制\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(100861, "im") nick_name = CoRand.randomword(16) res = self.ar_con.modify_info(nick_name) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
class SetGuidanceTest(unittest.TestCase): def setUp(self): print 'start run SetGuidance test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "setGuidance" self.account_id = 100861 def tearDown(self): print 'SetGuidance test complete.....close socket' def test_set_newer_code_success(self): """ 设置新手引导数据--验证数值设置成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) uc_id = CoRand.get_rand_int() res = self.ar_con.login(account_id, "im", uc_id) res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) newer_code = CoRand.get_rand_int(1, 10000) res = self.ar_con.set_newer_code(newer_code) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("newer_code"), "no newer_code response...") assert_that(res_data["newer_code"], equal_to(newer_code), "response newer_code mismatching...") def test_set_newer_code_data_0(self): """ 设置新手引导数据--设置newer_code为0\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) uc_id = CoRand.get_rand_int() res = self.ar_con.login(account_id, "im", uc_id) res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) newer_code = 0 res = self.ar_con.set_newer_code(newer_code) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("newer_code"), "no newer_code response...") assert_that(res_data["newer_code"], equal_to(newer_code), "response newer_code mismatching...") def test_set_newer_code_data_negative(self): """ 设置新手引导数据--设置newer_code为负数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) uc_id = CoRand.get_rand_int() res = self.ar_con.login(account_id, "im", uc_id) res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) newer_code = -5 res = self.ar_con.set_newer_code(newer_code) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("newer_code"), "no newer_code response...") assert_that(res_data["newer_code"], equal_to(newer_code), "response newer_code mismatching...")
class EquipPetTest(unittest.TestCase): def setUp(self): print 'start run EquipPet test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "equipPet" self.account_id = 100861 def tearDown(self): print 'EquipPet test complete.....close socket' def test_equip_pet_success(self): """ 装备宠物成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] pos = CoRand.get_rand_int(1, 5) res = self.ar_con.equip_pet(theme_park_id, pet_id, pos) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(star + 1), "response star error...") res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("pet_id" + str(pos)), "no pet_id1 response...") assert_that(res_data["pet_id" + str(pos)], equal_to(pet_id), "response pet_id1 error...") def test_equip_pet_already_equipped(self): """ 替换已有宠物\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id_1 = res_data["pet_id"] self.ar_con.capture_pet(pet_id_1) res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id_2 = res_data["pet_id"] self.ar_con.capture_pet(pet_id_2) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] self.ar_con.equip_pet(theme_park_id, pet_id_1, 1) res = self.ar_con.equip_pet(theme_park_id, pet_id_2, 1) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(star + 1), "response star error...") res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("pet_id1"), "no pet_id1 response...") assert_that(res_data["pet_id1"], equal_to(pet_id_2), "response pet_id1 error...") def test_equip_pet_without_pos(self): """ 装备宠物成功,未传pos,默认第一个位置\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] json_body = {"theme_park_id": theme_park_id, "pet_id": pet_id} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(star + 1), "response star error...") res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("pet_id1"), "no pet_id1 response...") assert_that(res_data["pet_id1"], equal_to(pet_id), "response pet_id1 error...") def test_equip_pet_error_pos(self): """ 装备宠物成功,pos值非法,默认为第五个位置\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] pos = CoRand.get_rand_int() res = self.ar_con.equip_pet(theme_park_id, pet_id, pos) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(star + 1), "response star error...") res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("pet_id5"), "no pet_id1 response...") assert_that(res_data["pet_id5"], equal_to(pet_id), "response pet_id1 error...") def test_equip_pet_from_follow_pet(self): """ 随身宠不能装备成舞台宠\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] pet_id = res_data["follow_pet_id"] res = self.ar_con.equip_pet(theme_park_id, pet_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PET_NOT_FREE["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PET_NOT_FREE["err_msg"]), "response msg mismatching...") def test_equip_pet_error_theme_park(self): """ 装备宠物失败,错误的乐园id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) pet_id = res_data["follow_pet_id"] theme_park_id = CoRand.get_rand_int() res = self.ar_con.equip_pet(theme_park_id, pet_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NO_FOUND_PLAYER_PARK["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NO_FOUND_PLAYER_PARK["err_msg"]), "response msg mismatching...") def test_equip_pet_error_pet(self): """ 装备宠物失败,错误的宠物id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] pet_id = CoRand.get_rand_int() res = self.ar_con.equip_pet(theme_park_id, pet_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...") def test_equip_pet_without_params(self): """ 装备宠物失败,未传参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
class MatchFlowerTest(unittest.TestCase): def setUp(self): print 'start run MatchFlower test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() def tearDown(self): print 'MatchFlower test complete.....close socket' def test_match_flower_success(self): """ 扫描花朵匹配成功\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://ndreadonly.oss-cn-hangzhou.aliyuncs.com/flower_image/large/t00003213/4577951499733050817.jpg" res = self.ar_con.match_flower(url) res_data = json.loads(res) assert_that(res_data, has_key("name"), "no name response...") assert_that(res_data, has_key("quality"), "no quality response...") assert_that(res_data, has_key("flowerelf"), "no flowerelf response...") assert_that(res_data, has_key("seed"), "no seed response...") def test_repeat_match_flower(self): """ 重复匹配花朵\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://ndreadonly.oss-cn-hangzhou.aliyuncs.com/flower_image/large/t00003213/4577951499733050817.jpg" self.ar_con.match_flower(url) res = self.ar_con.match_flower(url) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_FLOWER_HAS_SCANED["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_FLOWER_HAS_SCANED["err_msg"]), "response msg mismatching...") def test_match_flower_faild(self): """ 匹配花朵失败\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ user_id = 100861 res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://ndreadonly.oss-cn-hangzhou.aliyuncs.com/flower_image/test.jpg" res = self.ar_con.match_flower(url) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_FLOWER_INVALID_RESULT["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_FLOWER_INVALID_RESULT["err_msg"]), "response msg mismatching...")
class UpgradeBuildingTest(unittest.TestCase): def setUp(self): print 'start run UpgradeBuilding test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "upgradeBuilding" self.account_id = 100861 def tearDown(self): print 'UpgradeBuilding test complete.....close socket' def test_upgrade_building_success(self): """ 升级建筑\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star_before = res_data["star"] coin_before = res_data["coin"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("buildings"), "no icon response...") building_id = res_data["buildings"][0]["building_id"] level_before = res_data["buildings"][0]["level"] res = self.ar_con.upgrade_building(building_id) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], less_than(coin_before), "response coin error...") assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(star_before + 1), "response star error...") assert_that(res_data, has_key("level"), "no level response...") assert_that(res_data["level"], equal_to(level_before + 1), "response level error...") assert_that(res_data, has_key("next_park"), "no next_park response...") def test_upgrade_building_not_enough_coin(self): """ 升级建筑失败,金币不足[基于当前数据,金币规则修改后可能失败]\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("buildings"), "no icon response...") building_id = res_data["buildings"][0]["building_id"] for i in range(0, 4): self.ar_con.upgrade_building(building_id) res = self.ar_con.upgrade_building(building_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_ENOUGH_COIN["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_ENOUGH_COIN["err_msg"]), "response msg mismatching...") # def test_upgrade_building_unlock_theme_park(self): # """ # 所有建筑升至最高级,解锁下一乐园\【用户数据库需配置足够金币】 # 开发:黄良江(900000)\ # 测试:林冰晶(791099) # """ # user_id = 791099 # self.ar_con.login(user_id, "im") # res = self.ar_con.get_user_info(user_id) # res_data = json.loads(res) # star_before = res_data["star"] # coin_before = res_data["coin"] # res = self.ar_con.get_theme_park(user_id, -1) # res_data = json.loads(res) # assert_that(res_data, has_key("buildings"), "no icon response...") # for x in res_data["buildings"]: # building_id = x["building_id"] # for i in range(0, 5): # res = self.ar_con.upgrade_building(building_id) # res_data = json.loads(res) # # assert_that(res_data, has_key("coin"), "no coin response...") # assert_that(res_data["coin"], less_than(coin_before), "response coin error...") # assert_that(res_data, has_key("star"), "no star response...") # assert_that(res_data["star"], equal_to(star_before + 25), "response star error...") # assert_that(res_data, has_key("level"), "no level response...") # assert_that(res_data, has_key("next_park"), "no next_park response...") # assert_that(res_data["next_park"], equal_to(1), "response next_park error...") # def test_upgrade_building_last_level(self): # """ # 升级一个建筑至最高级,不能解锁下一个乐园\ # 开发:黄良江(900000)\ # 测试:林冰晶(791099) # """ # user_id = CoRand.get_rand_int(100001) # self.ar_con.login(user_id, "im") # for i in range(0, 50): # self.ar_con.draw_lottery() # # pp = 50 # # while pp != 0: # # res = self.ar_con.draw_lottery() # # res_data = json.loads(res) # # assert_that(res_data, has_key("pp"), "no nick_name response...") # # pp = res_data["pp"] # res = self.ar_con.get_user_info(user_id) # res_data = json.loads(res) # star_before = res_data["star"] # coin_before = res_data["coin"] # res = self.ar_con.get_theme_park(user_id, -1) # res_data = json.loads(res) # assert_that(res_data, has_key("buildings"), "no icon response...") # building_id = res_data["buildings"][0]["building_id"] # level_before = res_data["buildings"][0]["level"] # # for i in range(0, 4): # self.ar_con.upgrade_building(building_id) # # res = self.ar_con.upgrade_building(building_id) # res_data = json.loads(res) # # if res_data.has_key("err_msg"): # pass # else: # assert_that(res_data, has_key("coin"), "no coin response...") # assert_that(res_data["coin"], less_than(coin_before), "response coin error...") # assert_that(res_data, has_key("star"), "no star response...") # assert_that(res_data["star"], equal_to(star_before + 5), "response star error...") # assert_that(res_data, has_key("level"), "no level response...") # assert_that(res_data["level"], equal_to(level_before + 5), "response level error...") # assert_that(res_data, has_key("next_park"), "no next_park response...") # assert_that(res_data["next_park"], equal_to(0), "response next_park error...") # res = self.ar_con.get_theme_park(user_id, 2) # res_data = json.loads(res) # assert_that(res_data, has_key("park_id"), "no park_id response...") # assert_that(res_data, has_key("park_code"), "no park_code response...") # assert_that(res_data, has_key("park_name"), "no park_name response...") # assert_that(res_data, has_key("user_id"), "no user_id response...") # assert_that(res_data, has_key("follow_pet_id"), "no follow_pet_id response...") # assert_that(res_data, has_key("pet_id1"), "no pet_id1 response...") # def test_upgrade_building_was_highest(self): # """ # 升级建筑失败,建筑已经是最高级\ # 开发:黄良江(900000)\ # 测试:林冰晶(791099) # """ # user_id = CoRand.get_rand_int(100001) # self.ar_con.login(user_id, "im") # for i in range(0, 50): # self.ar_con.draw_lottery() # # pp = 50 # # while pp != 0: # # res = self.ar_con.draw_lottery() # # res_data = json.loads(res) # # assert_that(res_data, has_key("pp"), "no nick_name response...") # # pp = res_data["pp"] # self.ar_con.get_user_info(user_id) # res = self.ar_con.get_theme_park(user_id, -1) # res_data = json.loads(res) # assert_that(res_data, has_key("buildings"), "no icon response...") # building_id = res_data["buildings"][0]["building_id"] # # for i in range(0, 5): # self.ar_con.upgrade_building(building_id) # # res = self.ar_con.upgrade_building(building_id) # res_data = json.loads(res) # assert_that(res_data, has_key("code"), "no code response...") # assert_that(res_data, has_key("err_msg"), "no err_msg response...") # assert_that(res_data["code"], equal_to(EC_MAX_BUILDING_LEVEL["code"]), "response code mismatching...") # assert_that(res_data["err_msg"], equal_to(EC_MAX_BUILDING_LEVEL["err_msg"]), "response msg mismatching...") def test_upgrade_building_error_building_id(self): """ 升级建筑失败,错误的建筑id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") building_id = CoRand.get_rand_int() res = self.ar_con.upgrade_building(building_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NO_FOUND_BUILDING["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NO_FOUND_BUILDING["err_msg"]), "response msg mismatching...")
class GetApartmentListTest(unittest.TestCase): """ 获取玩家所入住的公寓列表 """ def setUp(self): print 'start run GetApartmentList test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 def tearDown(self): print 'GetApartmentList test complete.....close socket' def test_get_apartment_list_success(self): """ 获取所有公寓列表成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] apartment_code = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code = apartment["apartment_code"] break res = self.ar_con.apply_apartment(apartment_code) res_data = json.loads(res) floor = res_data["floor"] res = self.ar_con.get_apartment_list(user_id) res_data = json.loads(res) for apartment in res_data: assert_that(apartment, has_key("user_id"), "no user_id response...") assert_that(apartment["user_id"], equal_to(user_id), "response user_id mismatching...") assert_that(apartment, has_key("apartment_code"), "no apartment_code response...") assert_that(apartment["apartment_code"], equal_to(apartment_code), "response apartment_code mismatching...") assert_that(apartment, has_key("floor"), "no floor response...") assert_that(apartment["floor"], equal_to(floor), "response floor mismatching...") def test_get_apartment_list_no_join_apartment(self): """ 获取所有公寓列表,未入住任何公寓\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_apartment_list(user_id) res_data = json.loads(res) assert res_data == []
class GetRichPlayerListTest(unittest.TestCase): def setUp(self): print 'start run GetRichPlayerList test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "getRichPlayerList" self.account_id = 100861 self.pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" def tearDown(self): print 'GetRichPlayerList test complete.....close socket' def test_get_rich_player_list_no_steal(self): """ 获取富豪列表--未抽中偷袭\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_ALLOW_STEAL["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_ALLOW_STEAL["err_msg"]), "response msg mismatching...") def test_get_rich_player_list_success(self): """ 获取富豪列表--获取8位玩家,富豪金币>=10w,富豪金币>其余玩家金币>=1w,排除玩家本人\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) assert res_data != [] user_ids = [] coins = [] for i in res_data: assert_that(i, has_key("nick_name"), "no nick_name response...") assert_that(i, has_key("name"), "no name response...") assert_that(i, has_key("icon"), "no icon response...") assert_that(i, has_key("has_glass"), "no has_glass response...") assert_that(i, has_key("head_status"), "no head_status response...") assert_that(i, has_key("head_level"), "no head_level response...") assert_that(i, has_key("arm_status"), "no arm_status response...") assert_that(i, has_key("arm_level"), "no arm_level response...") assert_that(i, has_key("clothes_status"), "no clothes_status response...") assert_that(i, has_key("clothes_level"), "no clothes_level response...") assert_that(i, has_key("skirt_status"), "no skirt_status response...") assert_that(i, has_key("skirt_level"), "no skirt_level response...") assert_that(i, has_key("shoes_status"), "no shoes_status response...") assert_that(i, has_key("shoes_level"), "no shoes_level response...") assert_that(i, has_key("pet_code"), "no pet_code response...") assert_that(i, has_key("pet_id"), "no pet_id response...") assert_that(i, has_key("user_id"), "no user_id response...") user_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) assert_that(res_info_data, has_key("pet_idx"), "no pet_idx response...") assert_that(res_info_data["pet_idx"], not_(0), "response pet_idx mismatch...") coin_max = max(coins) coin_min = min(coins) assert_that(coin_max, greater_than(100000), "response coin less than 10w...") assert_that(coin_min, greater_than_or_equal_to(10000), "response coin less than 1w...") assert user_id not in user_ids assert_that(res_data, has_length(4), "response length mismatch...") def test_get_rich_player_list_friend_rich(self): """ 获取富豪列表--有好友金币>10w,抽取概率好友50%、陌生人50%\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "创建玩家A:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) res = self.ar_con2.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con2.capture_pet(pet_id) self.ar_con2.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con2.upgrade_pet_part(part) print "创建好友玩家B:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) self.ar_con.add_friend(user_id_2) print "A同意添加好友:" self.ar_con2.get_rev() self.ar_con2.deal_add_friend(user_id_1, 1) print "B执行50次获取富豪操作:" self.ar_con.get_rev() friend_num = 0 rand_num = 0 for i in range(0, 50): user_total_ids = [] coins = [] self.sql = ModifySql() self.sql.update_user(user_id_1, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id_1) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) for j in res_data: assert_that(j, has_key("user_id"), "no user_id response...") user_total_ids.append(j["user_id"]) res_info = self.ar_con.get_user_info(j["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) print user_total_ids if user_id_2 in user_total_ids: friend_num += 1 else: rand_num += 1 rich_user_index = coins.index(max(coins)) rich_user_id = user_total_ids[rich_user_index] user_ids = [rich_user_id] self.ar_con.catch_player_list(user_ids) self.sql = ModifySql() self.sql.update_user(user_id_2, "coin", 1000000) self.ar_con2.gm_reload_user_data(user_id_2) print "转盘50次,抽中好友次数:" + str(friend_num) print "转盘50次,抽中随机玩家次数:" + str(rand_num) # assert_that(abs(friend_num-rand_num), less_than(10), "draw probability mismatch") def test_get_rich_player_list_friend_poor(self): """ 获取富豪列表--好友金币<10w,从陌生人中随机抽取\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "创建玩家A:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "coin", 100) self.ar_con2.gm_reload_user_data(user_id_2) print "创建好友玩家B:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) self.ar_con.add_friend(user_id_2) print "A同意添加好友:" self.ar_con2.get_rev() self.ar_con2.deal_add_friend(user_id_1, 1) print "B获取富豪列表:" self.ar_con.get_rev() user_ids = [] for i in range(0, 10): self.sql = ModifySql() self.sql.update_user(user_id_1, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id_1) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) for j in res_data: assert_that(j, has_key("user_id"), "no user_id response...") user_ids.append(j["user_id"]) print user_ids assert user_id_2 not in user_ids def test_get_rich_player_list_not_catch_rich_third(self): """ 捕捉富豪--第一次未捕捉到富豪,第二三次获取富豪列表仍是同一个富豪,第四次重新获取富豪\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) print "第一次获取富豪列表" res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) # 获取富豪和非富豪的user_id和coin rich_user_index_1 = coins.index(max(coins)) rich_user_id_1 = user_total_ids[rich_user_index_1] poor_user_index_1 = coins.index(min(coins)) poor_user_id_1 = user_total_ids[poor_user_index_1] user_ids_1 = [poor_user_id_1] if poor_user_id_1 != rich_user_id_1: print "第一次获取富豪id是:" + str(rich_user_id_1) print "第一次捕捉非富豪:" self.ar_con.catch_player_list(user_ids_1) print "第二次获取富豪列表:" self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) # 获取富豪和非富豪的user_id和coin rich_user_index_2 = coins.index(max(coins)) rich_user_id_2 = user_total_ids[rich_user_index_2] poor_user_index_2 = coins.index(min(coins)) poor_user_id_2 = user_total_ids[poor_user_index_2] user_ids_2 = [poor_user_id_2] res = self.ar_con.get_user_info(rich_user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") if res_data["coin"] >= 100000: assert_that(rich_user_id_2, equal_to(rich_user_id_1), "rich user changed...") if poor_user_id_2 != rich_user_id_2: print "第二次获取富豪id是:" + str(rich_user_id_2) print "第二次捕捉非富豪:" self.ar_con.catch_player_list(user_ids_2) print "第三次获取富豪列表:" self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) rich_user_index_3 = coins.index(max(coins)) rich_user_id_3 = user_total_ids[rich_user_index_3] poor_user_index_3 = coins.index(min(coins)) poor_user_id_3 = user_total_ids[poor_user_index_3] user_ids_3 = [poor_user_id_3] res = self.ar_con.get_user_info(rich_user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") if res_data["coin"] >= 100000: assert_that(rich_user_id_3, equal_to(rich_user_id_1), "rich user changed...") if poor_user_id_3 != rich_user_id_3: print "第三次获取富豪id是:" + str(rich_user_id_3) print "第三次捕捉非富豪:" self.ar_con.catch_player_list(user_ids_3) print "第四次获取富豪列表:" self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info( i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) rich_user_index_4 = coins.index(max(coins)) rich_user_id_4 = user_total_ids[rich_user_index_4] print "第四次获取富豪id是:" + str(rich_user_id_4) assert_that(rich_user_id_4, not_(rich_user_id_1), "rich user not change...")
class GetRoomInfoTest(unittest.TestCase): """ 获取房间信息 """ def setUp(self): print 'start run GetRoomInfo test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 self.api_name = "getRoomInfo" def tearDown(self): print 'GetRoomInfo test complete.....close socket' def test_get_room_info_success(self): """ 获取房间信息成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") res = self.ar_con.get_room_list() res_data = json.loads(res) room_id = res_data["list"][0]["room_id"] res = self.ar_con.get_room_info(room_id) res_data = json.loads(res) assert_that(res_data, has_key("room_id"), "no room_id response...") assert_that(res_data, has_key("desc"), "no desc response...") assert_that(res_data, has_key("map_id"), "no map_id response...") assert_that(res_data, has_key("is_battling"), "no is_battling response...") assert_that(res_data, has_key("players"), "no players response...") def test_get_room_info_notexist(self): """ 获取房间信息失败,不存在的房间\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") room_id = CoRand.get_rand_int(4) res = self.ar_con.get_room_info(room_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...") def test_get_room_info_error_room_id(self): """ 获取房间信息失败,错误的room_id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") room_id = CoRand.randomword(6) res = self.ar_con.get_room_info(room_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
class GetSoulListTest(unittest.TestCase): """ 获取灵魂宠列表 """ def setUp(self): print 'start run getSoulPetList test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.account_id = 100861 self.api_name = "getSoulPetList" def tearDown(self): print 'getSoulPetList test complete.....close socket' def test_get_soul_pet_list_success(self): """ 获取灵魂宠列表\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) photo_id = CoRand.get_rand_int(1, 10) url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/" + str( photo_id) + ".jpg" for x in range(0, 10): res = self.ar_con.scan_face(url, "la") res_data = json.loads(res) if res_data["item_type"] == 0: assert_that(res_data, has_key("item_id"), "no item_id response...") assert_that(res_data, has_key("total_count"), "no total_count response...") item_id = res_data["item_id"] total_count = res_data["total_count"] res = self.ar_con.get_soul_pet_list(user_id) res_data = json.loads(res) for iteminfo in res_data: assert_that(iteminfo, has_key("item_id"), "no item_id response...") assert_that(iteminfo["item_id"], equal_to(item_id), "response item_id mismatching...") assert_that(iteminfo, has_key("user_id"), "no user_id response...") assert_that(iteminfo["user_id"], equal_to(user_id), "response user_id mismatching...") assert_that(iteminfo, has_key("item_code"), "no item_code response...") assert_that(iteminfo, has_key("item_count"), "no item_count response...") assert_that(iteminfo["item_count"], equal_to(total_count), "response item_count mismatching...") assert_that(iteminfo, has_key("item_name"), "no item_name response...") assert_that(iteminfo["item_name"], equal_to("la"), "response item_name mismatching...") def test_get_soul_no_soul_pet(self): """ 获取灵魂宠列表--没有灵魂宠\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.get_soul_pet_list(user_id) res_data = json.loads(res) assert_that(res_data, equal_to([]), "response mismatch...") def test_get_soul_other_user_list(self): """ 获取灵魂宠列表--获取其他玩家灵魂宠列表\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ print "玩家A获取灵魂:" account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) photo_id = CoRand.get_rand_int(1, 10) url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/" + str( photo_id) + ".jpg" for x in range(0, 10): res = self.ar_con.scan_face(url, "la") res_data = json.loads(res) if res_data["item_type"] == 0: assert_that(res_data, has_key("item_id"), "no item_id response...") item_id = res_data["item_id"] print "玩家B获取玩A的灵魂列表:" self.ar_con.connect_server() self.ar_con.login(100861, "im") res = self.ar_con.get_soul_pet_list(user_id) res_data = json.loads(res) assert_that(res_data, equal_to([]), "response mismatch...") def test_get_soul_list_user_id_error(self): """ 获取灵魂列表失败--用户id错误\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) user_id = CoRand.randomword(8) json_body = {"user_id": user_id} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, equal_to([]), "response mismatch...")
class GetRewardTest(unittest.TestCase): def setUp(self): print 'start run GetReward test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "getReward" self.account_id = 100861 self.pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" def tearDown(self): print 'GetReward test complete.....close socket' def test_get_reward_normal(self): """ 获取悬赏令信息:普通悬赏令,被悬赏者被攻击后,剩余悬赏攻击次数-1\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建悬赏令使用者:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) res = self.ar_con3.get_user_coin() res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) res = self.ar_con3.upgrade_pet_part(part_3) res_data = json.loads(res) coin_after = res_data["coin"] self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者通缉攻击者:" self.ar_con.get_rev() self.ar_con.reward_player(0, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(5), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(0), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(0), "response total_attack mismatch...") print "悬赏令使用者自己攻击被悬赏者:" self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "lottery_type", 104) self.ar_con.gm_reload_user_data(user_id_1) self.ar_con.attack_pet(part_3, user_id_3, reward_id) self.ar_con.get_rev() res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(4), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(int((coin_before-coin_after)*0.5)), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(1), "response total_attack mismatch...") def test_get_reward_advance(self): """ 获取悬赏令信息:高级悬赏令\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建悬赏令使用者:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.get_user_coin() res_data = json.loads(res) coin_before = res_data["coin"] self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) res = self.ar_con3.upgrade_pet_part(part_3) res_data = json.loads(res) coin_after = res_data["coin"] self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者通缉攻击者,并攻击:" self.ar_con.get_rev() self.ar_con.reward_player(1, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.pm_set_role_data("lotteryType", 104) self.ar_con.attack_pet(part_3, user_id_3, reward_id) self.ar_con.get_rev() res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(9), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(1), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(int((coin_before - coin_after) * 0.5)), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(1), "response total_attack mismatch...") def test_get_reward_others(self): """ 获取悬赏令信息:获取其他玩家悬赏令信息\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建悬赏令使用者:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) self.ar_con3.upgrade_pet_part(part_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者通缉攻击者:" self.ar_con.get_rev() self.ar_con.reward_player(1, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] print "创建其他玩家:" account_id_4 = CoRand.get_rand_int(100001) uc_id_4 = CoRand.get_rand_int() self.ar_con4 = ARControl() self.ar_con4.connect_server() res = self.ar_con4.login(account_id_4, "im", uc_id_4) res_data = json.loads(res) user_id_4 = res_data["user_id"] nick_name_4 = CoRand.get_random_word_filter_sensitive(6) self.ar_con4.modify_info(nick_name_4) res = self.ar_con4.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(10), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(1), "response left_times mismatch...") def test_get_reward_error_reward_id(self): """ 获取悬赏令信息:错误的reward_id\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") reward_id = CoRand.get_rand_int() res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...") def test_get_reward_without_params(self): """ 获取悬赏令信息:未传参数\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...") def test_get_reward_add_reward(self): """ 获取悬赏令信息--获取追加悬赏令信息\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "悬赏令使用者登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) self.ar_con3.upgrade_pet_part(part_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者使用普通通缉令通缉攻击者:" self.ar_con.get_rev() res = self.ar_con.reward_player(0, user_id_3) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") self.ar_con.get_enemy_list() print "追加高级悬赏令:" self.ar_con.reward_player(1, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.evil_rank_list(0) # print "悬赏令使用者自己攻击被悬赏者:" # self.sql = ModifySql() # self.sql.update_user(user_id_1, "lottery_type", 104) # self.ar_con.gm_reload_user_data(user_id_1) # self.ar_con.attack_pet(part_3, user_id_3, reward_id) # self.ar_con.get_rev() print"获取悬赏令信息:" res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(15), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") def test_get_reward_add_reward_attack(self): """ 获取悬赏令信息--获取追加悬赏令信息,包含追加前和追加后的信息\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "悬赏令使用者A登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建好友玩家B:" account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.add_friend(user_id_1) print "A同意添加好友B:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_2, 1) print "B收到消息:" self.ar_con2.get_rev() print "创建好友玩家D:" account_id_4 = CoRand.get_rand_int(100001) uc_id_4 = CoRand.get_rand_int() self.ar_con4 = ARControl() self.ar_con4.connect_server() res = self.ar_con4.login(account_id_4, "im", uc_id_4) res_data = json.loads(res) user_id_4 = res_data["user_id"] nick_name_4 = CoRand.get_random_word_filter_sensitive(6) self.ar_con4.modify_info(nick_name_4) self.ar_con4.add_friend(user_id_1) print "A同意添加好友D:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_4, 1) print "D收到消息:" self.ar_con4.get_rev() print "创建攻击者玩家C:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) self.ar_con3.upgrade_pet_part(part_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "A使用普通通缉令通缉C:" self.ar_con.get_rev() res = self.ar_con.reward_player(0, user_id_3) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.evil_rank_list(0) print "好友玩家B收到消息,攻击被悬赏者C:" self.ar_con2.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.get_user_info(user_id_2) res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con2.attack_pet(part_3, user_id_3, reward_id) res_data = json.loads(res) assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response win_coin mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(300000), "response reward_coin mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(coin_before + 600000), "response reward_coin mismatch...") print"A获取悬赏令信息:" time.sleep(1) self.ar_con.get_rev() res = self.ar_con.get_reward_attack(reward_id) res_data = json.loads(res) assert_that(res_data[0], has_key("attack_time"), "no attack_time response...") assert_that(res_data[0], has_key("user_id"), "no user_id response...") assert_that(res_data[0]["user_id"], equal_to(user_id_2), "response user_id mismatch...") assert_that(res_data[0], has_key("nick_name"), "no nick_name response...") assert_that(res_data[0]["nick_name"], equal_to(nick_name_2), "response nick_name mismatch...") assert_that(res_data[0], has_key("toll"), "no toll response...") print "A追加高级悬赏令:" self.ar_con.reward_player(1, user_id_3) print "好友玩家D收到消息,攻击被悬赏者C:" self.ar_con4.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_4, "guidance", 131071) self.ar_con4.gm_reload_user_data(user_id_4) self.sql = ModifySql() self.sql.update_user(user_id_4, "lottery_type", 104) self.ar_con4.gm_reload_user_data(user_id_4) res = self.ar_con4.attack_pet(part_3, user_id_3, reward_id) res_data = json.loads(res) assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response win_coin mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(300000), "response reward_coin mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") # print "A自己攻击被悬赏者C:" # self.sql = ModifySql() # self.sql.update_user(user_id_1, "lottery_type", 104) # self.ar_con.gm_reload_user_data(user_id_1) # res = self.ar_con.attack_pet(part_3, user_id_3, reward_id) # res_data = json.loads(res) # assert_that(res_data[0], has_key("reward_coin"), "no reward_coin response...") # assert_that(res_data[0]["reward_coin"], equal_to(300000), "response reward_coin mismatch...") self.ar_con.get_rev() print"获取悬赏令信息:" time.sleep(1) res = self.ar_con.get_reward_attack(reward_id) res_data = json.loads(res) assert_that(res_data[0], has_key("attack_time"), "no attack_time response...") assert_that(res_data[0], has_key("user_id"), "no user_id response...") assert_that(res_data[0]["user_id"], equal_to(user_id_2), "response user_id mismatch...") assert_that(res_data[0], has_key("nick_name"), "no nick_name response...") assert_that(res_data[0]["nick_name"], equal_to(nick_name_2), "response nick_name mismatch...") assert_that(res_data[0], has_key("toll"), "no toll response...") assert_that(res_data[1], has_key("attack_time"), "no attack_time response...") assert_that(res_data[1], has_key("user_id"), "no user_id response...") assert_that(res_data[1]["user_id"], equal_to(user_id_4), "response user_id mismatch...") assert_that(res_data[1], has_key("nick_name"), "no nick_name response...") assert_that(res_data[1]["nick_name"], equal_to(nick_name_4), "response nick_name mismatch...") assert_that(res_data[1], has_key("toll"), "no toll response...") def test_get_reward_total_toll_statistics(self): """ 获取悬赏令信息--验证累计损失、累计攻击次数数据正确性\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "悬赏令使用者A登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建好友玩家B:" account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.add_friend(user_id_1) print "A同意添加好友B:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_2, 1) print "B收到消息:" self.ar_con2.get_rev() print "创建好友玩家D:" account_id_4 = CoRand.get_rand_int(100001) uc_id_4 = CoRand.get_rand_int() self.ar_con4 = ARControl() self.ar_con4.connect_server() res = self.ar_con4.login(account_id_4, "im", uc_id_4) res_data = json.loads(res) user_id_4 = res_data["user_id"] nick_name_4 = CoRand.get_random_word_filter_sensitive(6) self.ar_con4.modify_info(nick_name_4) self.ar_con4.add_friend(user_id_1) print "A同意添加好友D:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_4, 1) print "D收到消息:" self.ar_con4.get_rev() print "创建攻击者玩家C:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.get_user_coin() res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_attacker_1 = 1 res = self.ar_con3.upgrade_pet_part(part_attacker_1) res_data = json.loads(res) coin_part_1_level_1 = coin_before - res_data["coin"] res = self.ar_con3.upgrade_pet_part(part_attacker_1) res_data = json.loads(res) coin_part_1_level_2 = coin_before - res_data["coin"] - coin_part_1_level_1 part_attacker_2 = 2 res = self.ar_con3.upgrade_pet_part(part_attacker_2) res_data = json.loads(res) coin_part_2_level_1 = coin_before - res_data["coin"] - coin_part_1_level_1 - coin_part_1_level_2 self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "A使用普通通缉令通缉C:" self.ar_con.get_rev() res = self.ar_con.reward_player(0, user_id_3) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.evil_rank_list(0) print "好友玩家B收到消息,攻击被悬赏者C,打坏部件2:" self.ar_con2.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.ar_con2.pm_set_role_data("lotteryType", 104) res = self.ar_con2.get_user_info(user_id_2) res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con2.attack_pet(part_attacker_2, user_id_3, reward_id) res_data = json.loads(res) assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response win_coin mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(300000), "response reward_coin mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(coin_before + 600000), "response reward_coin mismatch...") res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_2_level_1*0.5))) print "好友玩家D收到消息,攻击被悬赏者C,打坏部件1:" self.ar_con4.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_4, "guidance", 131071) self.ar_con4.gm_reload_user_data(user_id_4) self.ar_con4.pm_set_role_data("lotteryType", 104) self.ar_con4.attack_pet(part_attacker_1, user_id_3, reward_id) print "A收到消息:" res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_1_level_2 * 0.5))) print "好友玩家D再次攻击被悬赏者C,打爆部件1:" self.ar_con4.pm_set_role_data("lotteryType", 104) self.ar_con4.attack_pet(part_attacker_1, user_id_3, reward_id) print "A收到消息:" res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_1_level_2 * 0.5)+coin_part_1_level_1)) print "A自己攻击被悬赏者C,打爆部件2:" self.ar_con.pm_set_role_data("lotteryType", 104) self.ar_con.attack_pet(part_attacker_2, user_id_3, reward_id) res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_2_level_1*0.5))) print"获取悬赏令信息:" time.sleep(1) res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(1), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(coin_part_1_level_1+coin_part_1_level_2+coin_part_2_level_1), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(4), "response total_attack mismatch...")
class SetPetModeVerTest(unittest.TestCase): """ 设置人脸宠属性 """ def setUp(self): print 'start run setPetModelVer test ......connect server' self.ar_con = ARControl() self.ar_con.connect_server() self.api_name = "setPetModelVer" self.pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" def tearDown(self): print 'setPetModelVer test complete.....close socket' def test_set_pet_mode_ver_success(self): """ 设置人脸宠属性成功\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id = res_data["item_id"] self.ar_con.capture_pet(item_id) ver = 123 res = self.ar_con.set_pet_mode_ver(item_id, ver) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") def test_set_pet_mode_ver_other_user(self): """ 设置人脸宠属性--设置其他玩家宠物\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ print "玩家A获取人脸宠:" account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id = res_data["item_id"] self.ar_con.capture_pet(item_id) print "玩家B设置玩A的人脸宠属性:" self.ar_con.connect_server() self.ar_con.login(100861, "im") res = self.ar_con.set_pet_mode_ver(item_id, 123) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...") def test_set_pet_mode_ver_other_pet(self): """ 设置人脸宠属性--设置原生宠/灵魂宠属性\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.scan_face(self.pet_url, "la") res_data = json.loads(res) item_id = res_data["item_id"] item_type = res_data["item_type"] if item_type != 2: res = self.ar_con.set_pet_mode_ver(item_id, 123) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...") def test_set_pet_mode_ver_cultivate(self): """ 设置人脸宠属性--设置养成宠属性\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id = res_data["item_id"] self.ar_con.capture_pet(item_id) self.ar_con.set_cultivate_pet(item_id) res = self.ar_con.set_pet_mode_ver(item_id, 123) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") def test_set_pet_mode_ver_error_pet_id(self): """ 设置人脸宠属性失败--错误的宠物id\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) pet_id = CoRand.get_rand_int(1, 1000) ver = 123 res = self.ar_con.set_pet_mode_ver(pet_id, ver) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...") def test_set_pet_mode_ver_error_ver(self): """ 设置人脸宠属性失败--无效的版本\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id = res_data["item_id"] self.ar_con.capture_pet(item_id) ver = CoRand.get_random_word_filter_sensitive(6) res = self.ar_con.set_pet_mode_ver(item_id, ver) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...") def test_set_pet_mode_ver_no_param(self): """ 设置人脸宠属性失败--请求未带参数\ 开发:黄良江(900000)\ 测试:王 玲(222067) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) json_body = {} res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...")