diff --git a/tests/test_client.py b/tests/test_client.py index eddd45b161f7cf3bc4fc153a87c1d73f6a733b80..3b9d227ad0f50cbfbbed296b22a12236c3eb988e 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -19,7 +19,7 @@ from pyotrs import Client from pyotrs.lib import NoBaseURL, NoWebServiceName, ResponseJSONParseError from pyotrs.lib import SessionError -from pyotrs import Article, Client, Ticket # noqa +from pyotrs import Article, Attachment, Client, DynamicField, Ticket # noqa from pyotrs.lib import NoBaseURL, NoWebServiceName, NoCredentials # noqa from pyotrs.lib import SessionCreateError, SessionIDFileError, OTRSAPIError, OTRSHTTPError # noqa from pyotrs.lib import TicketError, TicketSearchNumberMultipleResults # noqa @@ -464,6 +464,42 @@ class ClientTests(unittest.TestCase): obj.ticket_create(ticket=tic, article=art) self.assertEqual(mock_t_create_json.call_count, 1) + @mock.patch('pyotrs.lib.Client._ticket_create_json', autospec=True) + def test_ticket_create_mocked_attachment_true(self, mock_t_create_json): + """Test ticket_create - mocked attachment result """ + obj = Client(baseurl="http://fqdn", + webservicename="GenericTicketConnectorREST") + att1 = Attachment("mFyCg==", "text/plain", "foo.txt") + att2 = Attachment("YmFyCg==", "text/plain", "dümmy.txt") + obj.session_id = "some_session_id" + tic = Ticket(dct={'Title': 'foo'}) + art = Article({'Subject': 'mySubject', + 'Body': 'myBody', + 'TimeUnit': 0, + 'MimeType': 'text/plain', + 'Charset': 'UTF8'}) + mock_t_create_json.return_value = True + obj.ticket_create(ticket=tic, article=art, attachment_list=[att1, att2]) + self.assertEqual(mock_t_create_json.call_count, 1) + + @mock.patch('pyotrs.lib.Client._ticket_create_json', autospec=True) + def test_ticket_create_mocked_dynamic_field_true(self, mock_t_create_json): + """Test ticket_create - mocked dynamic field result """ + obj = Client(baseurl="http://fqdn", + webservicename="GenericTicketConnectorREST") + dyn1 = DynamicField(name="firstname", value="Jane") + dyn2 = DynamicField(dct={'Name': 'lastname', 'Value': 'Doe'}) + obj.session_id = "some_session_id" + tic = Ticket(dct={'Title': 'foo'}) + art = Article({'Subject': 'mySubject', + 'Body': 'myBody', + 'TimeUnit': 0, + 'MimeType': 'text/plain', + 'Charset': 'UTF8'}) + mock_t_create_json.return_value = True + obj.ticket_create(ticket=tic, article=art, dynamic_field_list=[dyn1, dyn2]) + self.assertEqual(mock_t_create_json.call_count, 1) + # # @mock.patch('pyotrs.lib.requests.Response.json', autospec=True) # @mock.patch('pyotrs.lib.Client._validate_response', autospec=True)