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
     ]
Example #6
0
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)
Example #8
0
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)