Пример #1
0
    def put(self, request, service_id, *args, **kwargs):
        """
        代表的是更新服务
        :param request:
        :param service_id: 服务的id
        :param args:
        :param kwargs:
        :return:
        """
        service = Service.objects.filter(id=service_id).first()
        if service is None:
            return response_success()

        body = request.body
        if not body:
            return response_success()
        data = json.loads(body)
        form = ServiceForm(data)
        if form.is_valid():
            # Service.objects.filter(id=service_id).update(name=form.cleaned_data["name"],
            #                                              description=form.cleaned_data["description"],
            #                                              parent=form.cleaned_data["parent"])
            Service.objects.filter(id=service_id).update(**form.cleaned_data)
            return response_success()
        else:
            raise MyException()
Пример #2
0
def task_add_interface(request, task_id, interface_id):
    task = Task.objects.filter(id=task_id).first()
    if task is None:
        return response_success()

    interface = Interface.objects.filter(id=interface_id).first()
    if interface is None:
        return response_success()

    TaskInterfaceRelation.objects.create(task=task, interface=interface)
    return response_success()
Пример #3
0
def task_get_interfaces(request, task_id):
    task = Task.objects.filter(id=task_id).first()
    if task is None:
        return response_success([])
    tis = TaskInterfaceRelation.objects.filter(task=task)
    ret = []
    for i in tis:
        interface = i.interface
        data = model_to_dict(interface)
        data["task_interface_id"] = i.id
        ret.append(data)
    return response_success(ret)
Пример #4
0
def get_task_results(request, task_id):
    """
    获取任务的结果
    :param request:
    :param task_id:
    :return:
    """
    task = Task.objects.filter(id=task_id).first()
    if task is None:
        return response_success()

    version_results = TaskResult.objects.filter(task=task) # 这是获取全部的结果

    # 把所有的version都取出来,放到一个数组里面,然后去重
    version_list = []
    for i in version_results:
        version = i.version
        if version in version_list:
            continue
        else:
            version_list.append(version)

    ret = []
    for version in version_list:
        # 取某一个版本的所有结果
        tmp_results = TaskResult.objects.filter(task=task, version=version)

        if 0 == tmp_results.count():
            continue

        success_count = 0
        failed_count = 0
        for r in tmp_results:
            if r.success:
                success_count += 1
            else:
                failed_count += 1
        ret.append(
            {
            "total": tmp_results.count(),
            "version": version,
            "create_time": tmp_results[0].create_time,
            "success_count": success_count,
            "failed_count": failed_count
            }
        )

    data = request.GET
    size = int(data.get('size', 10))
    page = int(data.get('page', 1))
    ret = CalcUtils.page_data(ret, page, size)
    return response_success(ret)
Пример #5
0
def run_task(request, task_id):
    """
    执行任务
    :param request:
    :param task_id:
    :return:
    """
    task = Task.objects.filter(id=task_id).first()
    if task is None:
        return response_success()

    runner = TaskRunner(task)
    runner.run()
    return response_success()
Пример #6
0
 def get(self, request, service_id, *args, **kwargs):
     """
     代表获取单个服务
     :param request:
     :param service_id: 服务的id
     :param args:
     :param kwargs:
     :return:
     """
     service = Service.objects.filter(id=service_id).first()
     if service is None:
         return response_success()
     else:
         return response_success(model_to_dict(service))
Пример #7
0
 def get(self, request, task_id, *args, **kwargs):
     """
     代表获取单个task
     :param request:
     :param task_id: task的id
     :param args:
     :param kwargs:
     :return:
     """
     task = Task.objects.filter(id=task_id).first()
     if task is None:
         return response_success()
     else:
         return response_success(model_to_dict(task))
Пример #8
0
 def get(self, request, interface_id, *args, **kwargs):
     """
     代表获取单个接口
     :param request:
     :param interface_id: 接口的id
     :param args:
     :param kwargs:
     :return:
     """
     service = Interface.objects.filter(id=interface_id).first()
     if service is None:
         return response_success()
     else:
         return response_success(model_to_dict(service))
Пример #9
0
 def get(self, request, mock_id, *args, **kwargs):
     """
     代表获取单个mock
     :param request:
     :param mock_id: mock的id
     :param args:
     :param kwargs:
     :return:
     """
     mock = Mock.objects.filter(id=mock_id).first()
     if mock is None:
         return response_success()
     else:
         return response_success(model_to_dict(mock))
Пример #10
0
def task_test2_post(request):

    method = request.method
    if "post" == method or "POST" == method:
        return response_success({'mytest': "test2"})
    else:
        return response_failed()
Пример #11
0
    def post(self, request, *args, **kwargs):
        """
        注册
        :param response:
        :param args:
        :param kwargs:
        :return:
        """
        body = request.body  #返回的是字符串
        data = json.loads(body)  #把字符串解析为字典

        form = UserForm(data)
        result = form.is_valid()  # 校验数据是否合法
        if not result:
            default_log.error(form.errors.as_json())
            raise MyException()

        if User.objects.filter(
                username=form.cleaned_data['username']).exists():
            raise MyException(message='用户已存在')

        user = User.objects.create_user(username=form.cleaned_data['username'],
                                        password=form.cleaned_data['password'])

        if user:
            login(request, user)
            return response_success("注册成功")
        else:
            raise MyException(message="注册失败")
Пример #12
0
def make_mock(request, mock_id):
    mock = Mock.objects.filter(id=mock_id).first()
    response = mock.response
    if str(request.method).lower() == str(mock.method).lower():
        return response_success(response)
    else:
        return response_failed()
Пример #13
0
def task_test1_get(request):

    method = request.method

    if "get" == method or "GET" == method:
        return response_success({'mytest': "test1"})
    else:
        return response_failed()
Пример #14
0
 def get(self, request, *args, **kwargs):
     """
     代表获取服务的树形结构
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     data = self.get_service_tree_recursion(ROOT_ID)
     return response_success(data)
Пример #15
0
 def delete(self, request, *args, **kwargs):
     """
     注销
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     login(request)
     return response_success("注销成功")
Пример #16
0
 def post(self, request, *args, **kwargs):
     """
     代表的是创建接口
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     body = request.body
     if not body:
         return response_success()
     data = json.loads(body)
     form = InterfaceForm(data)
     if form.is_valid():
         Interface.objects.create(**form.cleaned_data)
         return response_success()
     else:
         print(form.errors.as_json())
         raise MyException()
Пример #17
0
 def delete(self, request, interface_id, *args, **kwargs):
     """
     代表的是删除接口
     :param request:
     :param interface_id: 服务的id
     :param args:
     :param kwargs:
     :return:
     """
     Interface.objects.filter(id=interface_id).delete()
     return response_success()
Пример #18
0
 def delete(self, request, service_id, *args, **kwargs):
     """
     代表的是删除服务
     :param request:
     :param service_id: 服务的id
     :param args:
     :param kwargs:
     :return:
     """
     Service.objects.filter(id=service_id).delete()
     return response_success()
Пример #19
0
 def delete(self, request, mock_id, *args, **kwargs):
     """
     代表的是删除mock
     :param request:
     :param mock_id: mock的id
     :param args:
     :param kwargs:
     :return:
     """
     Mock.objects.filter(id=mock_id).delete()
     return response_success()
Пример #20
0
 def get(self, request, *args, **kwargs):
     """
     代表获取task liebiao
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     tasks = Task.objects.all()
     data = [model_to_dict(i) for i in tasks]
     return response_success(data)
Пример #21
0
 def delete(self, request, task_id, *args, **kwargs):
     """
     代表的是删除task
     :param request:
     :param task_id: task的id
     :param args:
     :param kwargs:
     :return:
     """
     Task.objects.filter(id=task_id).delete()
     return response_success()
Пример #22
0
 def post(self, request, *args, **kwargs):
     """
     代表的是创建服务
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     body = request.body
     if not body:
         return response_success()
     data = json.loads(body)
     form = ServiceForm(data)
     if form.is_valid():
         # Service.objects.create(name=form.cleaned_data["name"],
         #                                              description=form.cleaned_data["description"],
         #                                              parent=form.cleaned_data["parent"])
         Service.objects.create(**form.cleaned_data)
         return response_success()
     else:
         raise MyException()
Пример #23
0
def test_success(request):
    a = 2
    b = 2
    c = 2

    if a != 1:
        print("hahahahha")
        raise MyException(
            message="aaaaa"
        )  # 抛出异常,会去到中间件my_middle_ware.py的process_exception里面,来判断是什么异常
    # default_log.info("info-1")
    return response_success({"a": 1})
Пример #24
0
    def put(self, request, mock_id, *args, **kwargs):
        """
        代表的是更新mock
        :param request:
        :param mock_id: mock的id
        :param args:
        :param kwargs:
        :return:
        """
        mock = Mock.objects.filter(id=mock_id).first()
        if mock is None:
            return response_success()

        body = request.body
        if not body:
            return response_success()
        data = json.loads(body)
        form = MockForm(data)
        if form.is_valid():
            Mock.objects.filter(id=mock_id).update(**form.cleaned_data)
            return response_success()
        else:
            raise MyException()
Пример #25
0
 def get(self, request, *args, **kwargs):
     """
     获取用户的登录信息
     :param response:
     :param args:
     :param kwargs:
     :return:
     """
     user = request.user
     if user.is_authenticated:  # 判断用户是否认证过
         ret = {"username": user.username, "id": user.id}
         return response_success(ret)
     else:
         raise MyException(message="用户没有登录")
Пример #26
0
    def put(self, request, interface_id, *args, **kwargs):
        """
        代表的是更新接口
        :param request:
        :param interface_id: 接口的id
        :param args:
        :param kwargs:
        :return:
        """
        interface = Interface.objects.filter(id=interface_id).first()
        if interface is None:
            return response_success()

        body = request.body
        if not body:
            return response_success()
        data = json.loads(body)
        form = InterfaceForm(data)
        if form.is_valid():
            Interface.objects.filter(id=interface_id).update(
                **form.cleaned_data)
            return response_success()
        else:
            raise MyException()
Пример #27
0
 def get(self, request, *args, **kwargs):
     """
     代表获取mock列表
     :param request:
     :param args:
     :param kwargs:
     :return:
     """
     data = request.GET
     size = int(data.get('size', 10))
     page = int(data.get('page', 1))
     results = Mock.objects.all()
     ret = CalcUtils.page_data(results, page, size)
     ret['list'] = [model_to_dict(i) for i in ret['list']]
     return response_success(ret)
Пример #28
0
    def get(self, request, *args, **kwargs):
        """
        代表获取接口
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        data = request.GET
        service_id = data.get('service_id', None)
        size = int(data.get('size', 10))
        page = int(data.get('page', 1))

        if service_id is None:
            results = Interface.objects.all()
        else:
            results = Interface.objects.filter(service_id=service_id)

        ret = CalcUtils.page_data(results, page, size)
        ret['list'] = [model_to_dict(i) for i in ret['list']]
        return response_success(ret)
Пример #29
0
    def get(self, request, *args, **kwargs):
        """
        登录
        :param response:
        :param args:
        :param kwargs:
        :return:
        """
        form = UserForm(request.GET)
        result = form.is_valid()  # 校验数据是否合法
        if not result:
            default_log.error(form.errors.as_json())
            raise MyException()

        user = authenticate(username=form.cleaned_data['username'],
                            password=form.cleaned_data['password'])
        if user:
            login(request, user)  # 登录持久化 , 生成session
            return response_success('登录成功')
        else:
            raise MyException(message="登录失败")
Пример #30
0
    def get(self, request, *args, **kwargs):
        """
        代表登录
        :param request:
        :param args:
        :param kwargs:
        :return:
        """
        form = UserForm(request.GET)
        result = form.is_valid()
        if not result:
            default_log.error(form.errors.as_json())
            raise MyException()

        user = authenticate(username=form.cleaned_data["username"],
                            password=form.cleaned_data["password"])
        print("UsersView-get", user)
        if user:
            login(request, user)  # 登录持久化, 生成session
            return response_success("登录成功")
        else:
            raise MyException(message="登录失败")