• zdppy_amauth如何测试给用户批量绑定角色接口


    第一步:先实现新增用户的单元测试

    import unittest
    import req
    
    
    class TestUserAddRoles(unittest.TestCase):
        def assertApiSuccess(self, resp):
            """断言API接口的响应是成功的"""
            self.assertEqual(200, resp.status_code)
            data = resp.json()
            self.assertEqual(10000, data["code"])
            self.assertEqual(True, data["status"])
            return data
    
        @classmethod
        def setUpClass(cls):
            cls.base_url = "http://127.0.0.1:8888/auth"
    
        def test_user_add_roles(self):
            """测试批量绑定角色"""
            # 1、添加用户
            target_url = f"{self.base_url}/user/register"
            username = "zhangdapeng1"
            data = {
                "username": username,
                "password": username,
                "re_password": username,
            }
            resp = req.post(target_url, json=data)
            self.assertApiSuccess(resp)
    
            # 2、添加3个角色
            # 3、获取用户id
            target_url = f"{self.base_url}/user"
            resp = req.get(target_url)
            data = self.assertApiSuccess(resp)
            users = data.get("data")
            self.assertTrue(isinstance(users, list))
            user_id = None
            for user in users:
                if user.get("username") == username:
                    user_id = user.get("id")
                    break
            self.assertIsNotNone(user_id)
    
            # 4、获取角色id
            # 5、给用户绑定两个角色
            # 6、获取用户已经绑定的所有角色
            # 7、删除用户
            target_url = f"{self.base_url}/user/{user_id}"
            resp = req.delete(target_url)
            self.assertApiSuccess(resp)
    
            # 8、删除角色
            # 9、批量解绑用户关联的所有角色
    
    

    第二步:实现新增角色的单元测试

    import unittest
    import req
    
    
    class TestUserAddRoles(unittest.TestCase):
        def assertApiSuccess(self, resp):
            """断言API接口的响应是成功的"""
            self.assertEqual(200, resp.status_code)
            data = resp.json()
            self.assertEqual(10000, data["code"])
            self.assertEqual(True, data["status"])
            return data
    
        @classmethod
        def setUpClass(cls):
            cls.base_url = "http://127.0.0.1:8888/auth"
    
        def test_user_add_roles(self):
            """测试批量绑定角色"""
            # 1、添加用户
            target_url = f"{self.base_url}/user/register"
            username = "zhangdapeng1"
            data = {
                "username": username,
                "password": username,
                "re_password": username,
            }
            resp = req.post(target_url, json=data)
            self.assertApiSuccess(resp)
    
            # 2、添加3个角色
            target_url = f"{self.base_url}/role"
            rolename1, rolename2, rolename3 = "testrole1", "testrole2", "testrole3"
            rolenames = (rolename1, rolename2, rolename3)
            for rolename in rolenames:
                data = {
                    "name": rolename,
                    "nickname": rolename,
                }
                resp = req.post(target_url, json=data)
                self.assertApiSuccess(resp)
    
            # 3、获取用户id
            target_url = f"{self.base_url}/user"
            resp = req.get(target_url)
            data = self.assertApiSuccess(resp)
            users = data.get("data")
            self.assertTrue(isinstance(users, list))
            user_id = None
            for user in users:
                if user.get("username") == username:
                    user_id = user.get("id")
                    break
            self.assertIsNotNone(user_id)
    
            # 4、获取角色id
            target_url = f"{self.base_url}/role"
            resp = req.get(target_url)
            data = self.assertApiSuccess(resp)
            roles = data.get("data")
            self.assertTrue(isinstance(roles, list))
            roleid1, roleid2, roleid3 = None, None, None
            for role in roles:
                if role.get("name") == rolename1:
                    roleid1 = role.get("id")
                elif role.get("name") == rolename2:
                    roleid2 = role.get("id")
                elif role.get("name") == rolename3:
                    roleid3 = role.get("id")
            self.assertIsNotNone(roleid1)
            self.assertIsNotNone(roleid2)
            self.assertIsNotNone(roleid3)
    
            # 5、给用户绑定两个角色
            # 6、获取用户已经绑定的所有角色
            # 7、删除用户
            target_url = f"{self.base_url}/user/{user_id}"
            resp = req.delete(target_url)
            self.assertApiSuccess(resp)
    
            # 8、删除角色
            roleids = [roleid1, roleid2, roleid3]
            for roleid in roleids:
                target_url = f"{self.base_url}/role/{roleid}"
                resp = req.delete(target_url)
                self.assertApiSuccess(resp)
    
            # 9、批量解绑用户关联的所有角色
    
    

    第三步:测试批量绑定角色和解绑角色

    import unittest
    import req
    
    
    class TestUserAddRoles(unittest.TestCase):
        def assertApiSuccess(self, resp):
            """断言API接口的响应是成功的"""
            self.assertEqual(200, resp.status_code)
            data = resp.json()
            self.assertEqual(10000, data["code"])
            self.assertEqual(True, data["status"])
            return data
    
        @classmethod
        def setUpClass(cls):
            cls.base_url = "http://127.0.0.1:8888/auth"
    
        def test_user_add_roles(self):
            """测试批量绑定角色"""
            # 1、添加用户
            target_url = f"{self.base_url}/user/register"
            username = "zhangdapeng1"
            data = {
                "username": username,
                "password": username,
                "re_password": username,
            }
            resp = req.post(target_url, json=data)
            self.assertApiSuccess(resp)
    
            # 2、添加3个角色
            target_url = f"{self.base_url}/role"
            rolename1, rolename2, rolename3 = "testrole1", "testrole2", "testrole3"
            rolenames = (rolename1, rolename2, rolename3)
            for rolename in rolenames:
                data = {
                    "name": rolename,
                    "nickname": rolename,
                }
                resp = req.post(target_url, json=data)
                self.assertApiSuccess(resp)
    
            # 3、获取用户id
            target_url = f"{self.base_url}/user"
            resp = req.get(target_url)
            data = self.assertApiSuccess(resp)
            users = data.get("data")
            self.assertTrue(isinstance(users, list))
            user_id = None
            for user in users:
                if user.get("username") == username:
                    user_id = user.get("id")
                    break
            self.assertIsNotNone(user_id)
    
            # 4、获取角色id
            target_url = f"{self.base_url}/role"
            resp = req.get(target_url)
            data = self.assertApiSuccess(resp)
            roles = data.get("data")
            self.assertTrue(isinstance(roles, list))
            roleid1, roleid2, roleid3 = None, None, None
            for role in roles:
                if role.get("name") == rolename1:
                    roleid1 = role.get("id")
                elif role.get("name") == rolename2:
                    roleid2 = role.get("id")
                elif role.get("name") == rolename3:
                    roleid3 = role.get("id")
            self.assertIsNotNone(roleid1)
            self.assertIsNotNone(roleid2)
            self.assertIsNotNone(roleid3)
    
            # 5、给用户绑定两个角色
            target_url = f"{self.base_url}/user/{user_id}/role"
            resp = req.post(target_url, json={"ids": [roleid1, roleid2]})
            self.assertApiSuccess(resp)
    
            # 6、获取用户已经绑定的所有角色
            target_url = f"{self.base_url}/user/{user_id}/role"
            resp = req.get(target_url)
            data = self.assertApiSuccess(resp)
            roles = data.get("data")
            self.assertTrue(isinstance(roles, list))
            self.assertTrue(len(roles) == 2)
    
            # 7、删除用户
            target_url = f"{self.base_url}/user/{user_id}"
            resp = req.delete(target_url)
            self.assertApiSuccess(resp)
    
            # 8、删除角色
            roleids = [roleid1, roleid2, roleid3]
            for roleid in roleids:
                target_url = f"{self.base_url}/role/{roleid}"
                resp = req.delete(target_url)
                self.assertApiSuccess(resp)
    
            # 9、批量解绑用户关联的所有角色
            target_url = f"{self.base_url}/user/{user_id}/role"
            resp = req.delete(target_url)
            self.assertApiSuccess(resp)
    
    
  • 相关阅读:
    SpringBoot整合Mybatis(使用c3p0数据源)
    mysql的数据备份脚本
    【附源码】Python计算机毕业设计纳雍县梦金园珠宝店管理系统
    发动机悬置系统冲击仿真-瞬时模态动态分析与响应谱分析
    运维-- 统一网关非常必要
    OPPO 自研大规模知识图谱及其在数智工程中的应用
    使用ZIP包安装MySQL及配置教程
    2023年湖北省专利导航、知识产权软科学研究及服务政策(申报条件、材料、时间)
    元宇宙初体验:探秘各元宇宙游戏看点与玩法
    杰理之编码请求参数解析【篇】
  • 原文地址:https://blog.csdn.net/qq_37703224/article/details/139843076