• 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)
    
    
  • 相关阅读:
    Web前端项目-交互式3D魔方【附源码】
    Spring5复习笔记
    Eureka细节详解
    Linux系统信息收集
    Kubernetes(七)修改 pod 网络(flannel 插件)
    MobileViT v2导出onnx模型时遇Col2Im算子无法导出问题
    【esp32】 PWM控制LED亮度原理及代码详解
    Linux概述
    【Java面试指北】单例模式
    go实现分布式锁
  • 原文地址:https://blog.csdn.net/qq_37703224/article/details/139843076