Exemple #1
0
    class TestOTRSAPI(TestCase):
        def setUp(self):
            self.c = GenericTicketConnector(OTRS_SERVER, OTRS_WEBSERVICE)
            self.c.register_credentials(OTRS_LOGIN, OTRS_PASSWORD)

        def test_session_create(self):
            sessid = self.c.session_create(user_login = OTRS_LOGIN,
                                           password   = OTRS_PASSWORD)
            self.assertEqual(len(sessid), 32)

        def test_ticket_get(self):
            t = self.c.ticket_get(32)
            self.assertEqual(t.TicketID, 32)
            self.assertEqual(t.StateType, 'closed')

        def test_ticket_get_with_articles(self):
            t = self.c.ticket_get(32, get_articles=True)
            self.assertEqual(t.TicketID, 32)
            self.assertEqual(t.StateType, 'closed')
            articles = t.articles()
            self.assertIsInstance(articles, (list, tuple))
            self.assertIsInstance(articles[0], Article)
            self.assertEqual(articles[0].SenderType, 'customer')

        def test_ticket_search(self):
            t_list = self.c.ticket_search(CustomerID=9)
            self.assertIsInstance(t_list, list)
            self.assertIn(32, t_list)

        def test_ticket_create(self):
            t = Ticket(State='new', Priority='3 normal', Queue='Support',
                       Title='Problem test', CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest', Body='bla', Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)
            self.assertIsInstance(t_id, int)
            self.assertIsInstance(t_number, int)
            self.assertTrue(len(str(t_number)) >= 12)

        def test_ticket_update_attrs_by_id(self):
            t = Ticket(State='new', Priority='3 normal', Queue='Support',
                       Title='Problem test', CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest', Body='bla', Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)

            t = Ticket(Title='Foubar')
            upd_tid, upd_tnumber = self.c.ticket_update(ticket_id=t_id, ticket=t)
            self.assertIsInstance(upd_tid, int)
            self.assertIsInstance(upd_tnumber, int)
            self.assertTrue(len(str(upd_tnumber)) >= 12)

            self.assertEqual(upd_tid, t_id)
            self.assertEqual(upd_tnumber, t_number)

            upd_t = self.c.ticket_get(t_id)
            self.assertEqual(upd_t.Title, 'Foubar')
            self.assertEqual(upd_t.Queue, 'Support')

        def test_ticket_update_attrs_by_number(self):
            t = Ticket(State='new', Priority='3 normal', Queue='Support',
                       Title='Problem test', CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest', Body='bla', Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)

            t = Ticket(Title='Foubar')
            upd_tid, upd_tnumber = self.c.ticket_update(ticket_number=t_number,
                                                        ticket=t)
            self.assertIsInstance(upd_tid, int)
            self.assertIsInstance(upd_tnumber, int)
            self.assertTrue(len(str(upd_tnumber)) >= 12)

            self.assertEqual(upd_tid, t_id)
            self.assertEqual(upd_tnumber, t_number)

            upd_t = self.c.ticket_get(t_id)
            self.assertEqual(upd_t.Title, 'Foubar')
            self.assertEqual(upd_t.Queue, 'Support')

        def test_ticket_update_new_article(self):
            t = Ticket(State='new', Priority='3 normal', Queue='Support',
                       Title='Problem test', CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest', Body='bla', Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)

            a2 = Article(Subject='UnitTest2', Body='bla', Charset='UTF8',
                         MimeType='text/plain')

            a3 = Article(Subject='UnitTest3', Body='bla', Charset='UTF8',
                         MimeType='text/plain')

            self.c.ticket_update(t_id, article=a2)
            self.c.ticket_update(t_id, article=a3)

            t_upd = self.c.ticket_get(t_id, get_articles=True)
            arts_upd = t_upd.articles()
            self.assertIsInstance(arts_upd, list)
            self.assertEqual(len(arts_upd), 4)
            self.assertEqual(arts_upd[0].Subject, 'UnitTest')
            # article 1 is an auto response
            self.assertEqual(arts_upd[2].Subject, 'UnitTest2')
            self.assertEqual(arts_upd[3].Subject, 'UnitTest3')
Exemple #2
0
    class TestOTRSAPI(TestCase):
        def setUp(self):
            self.c = GenericTicketConnector(OTRS_SERVER, OTRS_WEBSERVICE)
            self.c.register_credentials(OTRS_LOGIN, OTRS_PASSWORD)

        def test_session_create(self):
            sessid = self.c.session_create(user_login=OTRS_LOGIN,
                                           password=OTRS_PASSWORD)
            self.assertEqual(len(sessid), 32)

        def test_ticket_get(self):
            t = self.c.ticket_get(32)
            self.assertEqual(t.TicketID, 32)
            self.assertEqual(t.StateType, 'closed')

        def test_ticket_get_with_articles(self):
            t = self.c.ticket_get(32, get_articles=True)
            self.assertEqual(t.TicketID, 32)
            self.assertEqual(t.StateType, 'closed')
            articles = t.articles()
            self.assertIsInstance(articles, (list, tuple))
            self.assertIsInstance(articles[0], Article)
            self.assertEqual(articles[0].SenderType, 'customer')

        def test_ticket_search(self):
            t_list = self.c.ticket_search(CustomerID=9)
            self.assertIsInstance(t_list, list)
            self.assertIn(32, t_list)

        def test_ticket_create(self):
            t = Ticket(State='new',
                       Priority='3 normal',
                       Queue='Support',
                       Title='Problem test',
                       CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest',
                        Body='bla',
                        Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)
            self.assertIsInstance(t_id, int)
            self.assertIsInstance(t_number, int)
            self.assertTrue(len(str(t_number)) >= 12)

        def test_ticket_update_attrs_by_id(self):
            t = Ticket(State='new',
                       Priority='3 normal',
                       Queue='Support',
                       Title='Problem test',
                       CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest',
                        Body='bla',
                        Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)

            t = Ticket(Title='Foubar')
            upd_tid, upd_tnumber = self.c.ticket_update(ticket_id=t_id,
                                                        ticket=t)
            self.assertIsInstance(upd_tid, int)
            self.assertIsInstance(upd_tnumber, int)
            self.assertTrue(len(str(upd_tnumber)) >= 12)

            self.assertEqual(upd_tid, t_id)
            self.assertEqual(upd_tnumber, t_number)

            upd_t = self.c.ticket_get(t_id)
            self.assertEqual(upd_t.Title, 'Foubar')
            self.assertEqual(upd_t.Queue, 'Support')

        def test_ticket_update_attrs_by_number(self):
            t = Ticket(State='new',
                       Priority='3 normal',
                       Queue='Support',
                       Title='Problem test',
                       CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest',
                        Body='bla',
                        Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)

            t = Ticket(Title='Foubar')
            upd_tid, upd_tnumber = self.c.ticket_update(ticket_number=t_number,
                                                        ticket=t)
            self.assertIsInstance(upd_tid, int)
            self.assertIsInstance(upd_tnumber, int)
            self.assertTrue(len(str(upd_tnumber)) >= 12)

            self.assertEqual(upd_tid, t_id)
            self.assertEqual(upd_tnumber, t_number)

            upd_t = self.c.ticket_get(t_id)
            self.assertEqual(upd_t.Title, 'Foubar')
            self.assertEqual(upd_t.Queue, 'Support')

        def test_ticket_update_new_article(self):
            t = Ticket(State='new',
                       Priority='3 normal',
                       Queue='Support',
                       Title='Problem test',
                       CustomerUser='******',
                       Type='Divers')
            a = Article(Subject='UnitTest',
                        Body='bla',
                        Charset='UTF8',
                        MimeType='text/plain')
            t_id, t_number = self.c.ticket_create(t, a)

            a2 = Article(Subject='UnitTest2',
                         Body='bla',
                         Charset='UTF8',
                         MimeType='text/plain')

            a3 = Article(Subject='UnitTest3',
                         Body='bla',
                         Charset='UTF8',
                         MimeType='text/plain')

            self.c.ticket_update(t_id, article=a2)
            self.c.ticket_update(t_id, article=a3)

            t_upd = self.c.ticket_get(t_id, get_articles=True)
            arts_upd = t_upd.articles()
            self.assertIsInstance(arts_upd, list)
            self.assertEqual(len(arts_upd), 4)
            self.assertEqual(arts_upd[0].Subject, 'UnitTest')
            # article 1 is an auto response
            self.assertEqual(arts_upd[2].Subject, 'UnitTest2')
            self.assertEqual(arts_upd[3].Subject, 'UnitTest3')