def test_update_milestone(testrail_client, mocked_response): expected_milestone = Milestone(name='Test milestone', id=1) mocked_response(data_json=expected_milestone.to_json()) api_milestone = testrail_client.milestones.update_milestone( milestone=expected_milestone) assert api_milestone == expected_milestone
def update_milestone(self, milestone: Milestone) -> Milestone: """http://docs.gurock.com/testrail-api2/reference-milestones#update_milestone""" updated_milestone_data = milestone.to_json(include_none=False) milestone_data = self._request( f'update_milestone/{milestone.id}', method='POST', data=updated_milestone_data, ) return Milestone.from_json(data_json=milestone_data)
def test_add_milestone_with_set_project(testrail_client, mocked_response): expected_milestone = Milestone(name='Test milestone', id=1) mocked_response(data_json=expected_milestone.to_json()) testrail_client.set_project_id(project_id=1) api_milestone = testrail_client.milestones.add_milestone( milestone=expected_milestone) assert api_milestone == expected_milestone
def add_milestone( self, milestone: Milestone, project_id: typing.Optional[ModelID] = None, ) -> Milestone: """http://docs.gurock.com/testrail-api2/reference-milestones#add_milestone""" project_id = project_id or self._project_id if project_id is None: raise TestRailException('Provide project id') new_milestone_data = milestone.to_json(include_none=False) milestone_data = self._request( f'add_milestone/{project_id}', method='POST', data=new_milestone_data, ) return Milestone.from_json(data_json=milestone_data)
def get_milestones( self, project_id: typing.Optional[ModelID] = None ) -> typing.List[Milestone]: """http://docs.gurock.com/testrail-api2/reference-milestones#get_milestones""" project_id = project_id or self._project_id if project_id is None: raise TestRailException('Provide project id') milestones_data = self._request(f'get_milestones/{project_id}') return [ Milestone.from_json(data_json=milestone_data) for milestone_data in milestones_data ]
def test_milestone_from_json(milestone_data): milestone = Milestone.from_json(data_json=milestone_data) assert milestone.completed_on == 1389968184 assert milestone.description == 'Milestone description' assert milestone.due_on == 1391968184 assert milestone.id == 1 assert milestone.is_completed is False assert milestone.name == 'Release 1.5' assert milestone.project_id == 1 assert milestone.is_started is True assert milestone.milestones == [2, 3, 4] assert milestone.parent_id is None assert milestone.start_on == 1389968184 assert milestone.started_on == 1389968184 assert milestone.url == 'http://<server>/testrail/index.php?/milestones/view/1'
def get_milestone(self, milestone_id: ModelID) -> Milestone: """http://docs.gurock.com/testrail-api2/reference-milestones#get_milestone""" milestone_data = self._request(f'get_milestone/{milestone_id}') return Milestone.from_json(data_json=milestone_data)
def milestone(milestone_data): return Milestone.from_json(data_json=milestone_data)
def test_add_milestone_raises(testrail_client, mocked_response): expected_milestone = Milestone(name='Test milestone', id=1) mocked_response(data_json=expected_milestone.to_json()) with pytest.raises(TestRailException): testrail_client.milestones.add_milestone(milestone=expected_milestone)