Exemplo n.º 1
0
 def set_instance(self):
     self.baseZendesk = BaseZenDesk(self.hostname, self.user, self.password,
                                    self.timeout)
Exemplo n.º 2
0
class TestBaseZenDesk(unittest.TestCase):

    def setUp(self):
        self.hostname = "test_host"
        self.user = "******"
        self.password = "******"
        self.timeout = 15
        self.set_instance()

    def set_instance(self):
        self.baseZendesk = BaseZenDesk(self.hostname, self.user, self.password,
                                       self.timeout)

    def get_base64(self):
        base64string = base64.encodestring('{}:{}'.format(
            self.user, self.password))[:-1]
        return "Basic {}".format(base64string)

    def test__init__(self):
        host = "https://{}.zendesk.com/api/v2/".format(self.hostname)
        self.assertEqual(self.baseZendesk.auth, (self.user, self.password))
        self.assertEqual(self.baseZendesk.host, host)
        self.assertEqual(self.baseZendesk.timeout, self.timeout)

    def test_method_get(self):
        resource = "organizations"
        host = "https://{}.zendesk.com/api/v2/{}".format(self.hostname,
                                                         resource)
        r = self.baseZendesk._request(resource)
        auth = r.request.headers.get('Authorization')
        content_type = r.request.headers.get('Content-type')
        accept = r.request.headers.get('Accept')

        self.assertEqual(content_type, 'application/json')
        self.assertEqual(accept, 'text/plain')
        self.assertEqual(r.request.method, 'GET')
        self.assertEqual(r.request.url, host)
        self.assertEqual(auth, self.get_base64())

    def test_method_post(self):
        resource = "organizations"
        host = "https://{}.zendesk.com/api/v2/{}".format(self.hostname,
                                                         resource)
        r = self.baseZendesk._request(resource, method='POST')
        auth = r.request.headers.get('Authorization')
        content_type = r.request.headers.get('Content-type')
        accept = r.request.headers.get('Accept')

        self.assertEqual(content_type, 'application/json')
        self.assertEqual(accept, 'text/plain')
        self.assertEqual(r.request.method, 'POST')
        self.assertEqual(r.request.url, host)
        self.assertEqual(auth, self.get_base64())

    def test_method_put(self):
        resource = "organizations"
        host = "https://{}.zendesk.com/api/v2/{}".format(self.hostname,
                                                         resource)
        r = self.baseZendesk._request(resource, method='PUT')
        auth = r.request.headers.get('Authorization')
        content_type = r.request.headers.get('Content-type')
        accept = r.request.headers.get('Accept')

        self.assertEqual(content_type, 'application/json')
        self.assertEqual(accept, 'text/plain')
        self.assertEqual(r.request.method, 'PUT')
        self.assertEqual(r.request.url, host)
        self.assertEqual(auth, self.get_base64())

    def test_method_delete(self):
        resource = "organizations"
        host = "https://{}.zendesk.com/api/v2/{}".format(self.hostname,
                                                         resource)
        r = self.baseZendesk._request(resource, method='DELETE')
        auth = r.request.headers.get('Authorization')
        content_type = r.request.headers.get('Content-type')
        accept = r.request.headers.get('Accept')

        self.assertEqual(content_type, 'application/json')
        self.assertEqual(accept, 'text/plain')
        self.assertEqual(r.request.method, 'DELETE')
        self.assertEqual(r.request.url, host)
        self.assertEqual(auth, self.get_base64())