microsoft / microsoft/azure-devops-python-api

Failed to call method "create_test_run" in azure python api

Open
#520 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
684
Forks
218
Avg merge
8d 10h
Merged PRs (30d)
1

Description

Hi, i have a problem wih azure's python api. I self written function in python which calls official api from microscoft.

def create_test_run(self,
                        a_project_name: str = None,
                        a_comment: str = None,
                        a_test_run_name: str = None,
                        a_error_msg: str = None,
                        a_test_run_points=None,
                        a_test_plan=None
                        ) -> TestRun:
        """create_test_run
        :param str a_project_name: the name of the azure project where your test_plans are located
        :param str a_comment: a comment that shall be added to the newly created test run
        :param str a_test_run_name: the name of the test_run that shall be created
        :param str a_error_msg: an error message for this test_run that can be displayed in azure
        :param str a_test_run_points: a list of point_ids that reference azure TestPlan <-> TestSuite <-> TestCase relation
        :param :class:`ShallowReference <azure.devops.v5_1.microsoft._team_foundation._test_management._web_api.models.ShallowReference>` a_test_plan: the test_plan for which this test_run shall be created
        :rtype: :class:`<TestRun> <azure.devops.v5_1.test_results.models.TestRun>`
        """
        if None in (a_project_name, a_test_run_name, a_test_run_points, a_test_plan):
            raise InputError(
                f"cannot create test_run in azure with a_project_name={a_project_name}, a_test_run_name={a_test_run_name}, a_test_run_points={a_test_run_points}, a_test_plan={a_test_plan}")

self. LOGGER.debug(
            f"[create_test_run] creating create_test_run[{a_test_run_name}]")

test_run = RunCreateModel(automated=False,
                                  comment=a_comment,
                                  name=a_test_run_name,
                                  error_message=a_error_msg,
                                  plan=a_test_plan,
                                  point_ids=a_test_run_points
                                  # build=builds.value[0]            #TODO: check if we can add a build :class:`ShallowReference <azure.devops.v5_1.microsoft._team_foundation._test_management._web_api.models.ShallowReference>`
                                  )
        return self.connection.clients_v5_1.get_test_results_client().create_test_run(test_run=test_run, project=a_project_name)

Every time we send this request, it gives a 404 error back, that the ressource does not exist. After looking carefully into the microscofts python api carefully i saw something. The function create_test_run in https://github.com/microsoft/azure-devops-python-api/blob/dev/azure-devops/azure/devops/v7_1/test_results/test_results_client.py only exists in the branches with a version number like dev5.1 and dev7.1. In the branch which is called dev, this function exists in another location which is https://github.com/microsoft/azure-devops-python-api/blob/dev/azure-devops/azure/devops/v7_1/test/test_client.py and the location ids are not identical. I would be very grateful if you can take a closer look to these source files.

Thank you and best regards,

Daniel

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the mentioned create_test_run implementations in azure/devops/v7_1/test_results/test_results_client.py and azure/devops/v7_1/test/test_client.py, focusing on their location IDs and client methods. Reproduce the request with the shown RunCreateModel arguments and determine why it returns 404; done means the correct operation is identified and the client behavior or usage is clarified.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.