def test_reason_init_double_quotes_in_params(failing_param_name, args, kwargs): """It should raise ReasonError if any of the parameters contains double quotes.""" with pytest.raises( administrative.ReasonError, match=f"Property {failing_param_name} cannot contain double quotes", ): administrative.Reason(*args, **kwargs)
def test_reason_task_id_with_task(): """It should return the task ID.""" reason = administrative.Reason("Reason message", "user1", "host1", task_id="T12345") assert reason.task_id == "T12345"
def test_reason_task_id_without_task(): """It should return None for the missing task ID.""" reason = administrative.Reason("Reason message", "user1", "host1") assert reason.task_id is None
def test_reason_init(): """It should initalize a Reason instance with the mandatory parameters.""" reason = administrative.Reason("Reason message", "user1", "host1") assert str(reason) == "Reason message - user1@host1"
def test_reason_quoted(): """It should return the double quoted string representation of the instance.""" reason = administrative.Reason("Reason message", "user1", "host1") assert reason.quoted() == '"Reason message - user1@host1"'
def test_reason_hostname(): """It should return the hostname.""" reason = administrative.Reason("Reason message", "user1", "host1") assert reason.hostname == "host1"
def test_reason_owner(): """It should return the owner part.""" reason = administrative.Reason("Reason message", "user1", "host1") assert reason.owner == "user1@host1"
def test_reason_reason(): """It should return the reason.""" reason = administrative.Reason("Reason message", "user1", "host1") assert reason.reason == "Reason message"
def test_reason_init_with_task(): """It should initalize a Reason instance with the optional task ID.""" reason = administrative.Reason("Reason message", "user1", "host1", task_id="T12345") assert str(reason) == "Reason message - user1@host1 - T12345"