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
Ejemplo n.º 2
0
 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...")
Ejemplo n.º 3
0
class GetSoilsTest(unittest.TestCase):
    def setUp(self):
        print 'start run GetSoils test ......connect server'
        self.ar_con = ARControl()
        self.ar_con.connect_server()

    def tearDown(self):
        print 'GetSoils test complete.....close socket'

    def test_get_soils_success(self):
        """
        获取地块信息成功\
        开发:黄良江(900000)\
        测试:魏春旺(100861)
        """
        self.ar_con.login(100861, "im")
        res = self.ar_con.get_soils()
        res_data = json.loads(res)

        for soil in res_data:
            assert_that(soil, has_key("soil_id"), "no soil_id response...")
            assert_that(soil, has_key("time"), "no time response...")
            assert_that(soil, has_key("seed"), "no seed response...")
Ejemplo n.º 4
0
 def test_get_unread_msg_deal_add_friend_refuse_online(self):
     """
     获取未读消息--拒绝添加好友(在线)\
     开发:黄良江(900000)\
     测试:林冰晶(791099)
     """
     account_id_1 = CoRand.get_rand_int(100001)
     uc_id_1 = CoRand.get_rand_int()
     account_id_2 = CoRand.get_rand_int(100001)
     uc_id_2 = CoRand.get_rand_int()
     self.ar_con2 = ARControl()
     self.ar_con2.connect_server()
     print "玩家2执行操作:"
     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)
     print "玩家1执行操作:"
     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.ar_con.add_friend(user_id_2)
     print "玩家2执行操作:"
     self.ar_con2.get_rev()
     self.ar_con2.deal_add_friend(user_id_1, -1)
     print "玩家1执行操作:"
     res = self.ar_con.get_rev()
     res_data = json.loads(res)
     assert_that(res_data, has_key("user_id"), "no user_id response...")
     assert_that(res_data["user_id"], equal_to(user_id_2), "response user_id mismatch...")
     assert_that(res_data, has_key("op"), "no op response...")
     assert_that(res_data["op"], equal_to(-1), "response op mismatch...")
     assert_that(res_data, has_key("type"), "no type response...")
     assert_that(res_data["type"], equal_to(2), "response type mismatch...")
Ejemplo n.º 5
0
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 == []
 def test_give_friend_energy_give_more_than_50(self):
     """
     赠送体力--每天赠送体力无上限(测试60次)\
     开发:黄良江(900000)\
     测试:林冰晶(791099)
     """
     print "创建玩家A:"
     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)
     number = 1
     while number < 61:
         print "创建好友玩家" + str(number) + ":"
         locals()['account_id_' + str(number)] = CoRand.get_rand_int(100001)
         locals()['uc_id_' + str(number)] = CoRand.get_rand_int()
         locals()['self.ar_con' + str(number)] = ARControl()
         locals()['self.ar_con' + str(number)].connect_server()
         res = locals()['self.ar_con' + str(number)].login(
             locals()['account_id_' + str(number)],
             "im",
             locals()['uc_id_' + str(number)],
         )
         res_data = json.loads(res)
         locals()['user_id_' + str(number)] = res_data["user_id"]
         locals()['nick_name_' +
                  str(number)] = CoRand.get_random_word_filter_sensitive(6)
         locals()['self.ar_con' + str(number)].modify_info(
             locals()['nick_name_' + str(number)])
         locals()['self.ar_con' + str(number)].add_friend(user_id)
         print "玩家A同意添加好友" + str(number) + ",并赠送体力:"
         self.ar_con.get_rev()
         self.ar_con.deal_add_friend(locals()['user_id_' + str(number)], 1)
         res = self.ar_con.give_friend_energy(locals()['user_id_' +
                                                       str(number)])
         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...")
         number += 1
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...")
Ejemplo n.º 8
0
 def setUp(self):
     print 'start run GetUserCoin test ......connect server'
     self.ar_con = ARControl()
     self.ar_con.connect_server()
     self.account_id = 100861
Ejemplo n.º 9
0
    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...")
Ejemplo n.º 10
0
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...")
Ejemplo n.º 11
0
 def setUp(self):
     print 'start run UpdateLocation test ......connect server'
     self.ar_con = ARControl()
     self.ar_con.connect_server()
     self.api_name = "updateLocation"
Ejemplo n.º 12
0
    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...")
Ejemplo n.º 13
0
    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...")
Ejemplo n.º 14
0
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...")
Ejemplo n.º 15
0
 def setUp(self):
     print 'start run GetApartmentSweepInfo test ......connect server'
     self.ar_con = ARControl()
     self.ar_con.connect_server()
     self.account_id = 100861
Ejemplo n.º 16
0
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...")
 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)
Ejemplo n.º 19
0
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...")
Ejemplo n.º 20
0
 def setUp(self):
     print 'start run MatchFlower test ......connect server'
     self.ar_con = ARControl()
     self.ar_con.connect_server()
Ejemplo n.º 21
0
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...")
Ejemplo n.º 22
0
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...")
Ejemplo n.º 23
0
 def setUp(self):
     print 'start run GetSeeds test ......connect server'
     self.ar_con = ARControl()
     self.ar_con.connect_server()
Ejemplo n.º 24
0
 def setUp(self):
     print 'start run ModifyInfo test ......connect server'
     self.ar_con = ARControl()
     self.ar_con.connect_server()
     self.api_name = "modifyInfo"
Ejemplo n.º 25
0
    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...")
Ejemplo n.º 26
0
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...")
Ejemplo n.º 27
0
    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...")
Ejemplo n.º 28
0
 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
Ejemplo n.º 29
0
    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...")
Ejemplo n.º 30
0
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...")