Пример #1
0
    def test_get_external_id_returns_username(self):
        u = create_user(username="******", password="******")
        request = test.RequestFactory().get("/")
        request.user = u

        view = views.ZendeskAuthorize(request=request)
        self.assertEqual(u.get_username(), view.get_external_id())
Пример #2
0
    def test_get_email_returns_user_email(self):
        u = create_user(username="******", email="*****@*****.**")
        request = test.RequestFactory().get("/")
        request.user = u

        view = views.ZendeskAuthorize(request=request)
        self.assertEqual(u.email, view.get_email())
Пример #3
0
    def test_get_user_name_returns_username_when_no_first_or_last_name(self):
        u = User(username="******")
        request = test.RequestFactory().get("/")
        request.user = u

        view = views.ZendeskAuthorize(request=request)
        self.assertEqual(u.get_username(), view.get_user_name())
Пример #4
0
    def test_get_user_name_returns_full_name_when_present(self):
        u = User(first_name=" Joe", last_name="Tester ")
        request = test.RequestFactory().get("/")
        request.user = u

        view = views.ZendeskAuthorize(request=request)
        self.assertEqual("Joe Tester", view.get_user_name())
Пример #5
0
    def test_get_timestamp_returns_empty_string_when_not_in_get_parameter(
            self):
        request = test.RequestFactory().get("/", {})
        view = views.ZendeskAuthorize(request=request)

        timestamp = view.get_timestamp()
        self.assertEqual(u'', timestamp)
Пример #6
0
 def test_create_query_string_returns_url_encoded_string_for_parameters_present(self, get_params):
     get_params.return_value = [
         ('name', 'Joe Tester'),
         ('email', '*****@*****.**'),
         ('organization', ''),
     ]
     view = views.ZendeskAuthorize()
     self.assertEqual('name=Joe+Tester&email=joe%40example.com', view.create_query_string())
Пример #7
0
 def test_create_query_string_never_includes_token(self, get_params):
     get_params.return_value = [
         ('name', 'Joe Tester'),
         ('email', '*****@*****.**'),
         ('organization', ''),
         ('token', TEST_ZENDESK_TOKEN),
     ]
     view = views.ZendeskAuthorize()
     self.assertEqual('name=Joe+Tester&email=joe%40example.com', view.create_query_string())
Пример #8
0
    def test_generate_hash_creates_pipe_delimited_hash_from_values(self):
        # functional test... testing default behavior.
        u = User(first_name=" Joe", last_name="Tester ", email="*****@*****.**", username="******")
        request = test.RequestFactory().get("/", {'timestamp': 500})
        request.user = u

        hash_string = "{user_name}|{email}|{external_id}||||{token}|{timestamp}".format(
            user_name="Joe Tester", email=u.email, external_id=u.get_username(), token=settings.ZENDESK_TOKEN, timestamp=u'500')
        expected_hash = md5(hash_string).hexdigest()

        view = views.ZendeskAuthorize(request=request)
        self.assertEqual(expected_hash, view.generate_hash())
Пример #9
0
    def test_generate_hash_creates_pipe_delimited_hash_from_zendesk_params(self, get_params):
        # unit test... testing semantics.
        u = User(first_name="Joe", last_name="Tester", email="*****@*****.**", username="******")
        get_params.return_value = [
            ('name', '{} {}'.format(u.first_name, u.last_name)),
            ('email', u.email),
            ('external_id', u.get_username()),
        ]

        hash_string = "{user_name}|{email}|{external_id}".format(
            user_name="Joe Tester", email=u.email, external_id=u.get_username())
        expected_hash = md5(hash_string).hexdigest()

        view = views.ZendeskAuthorize()
        self.assertEqual(expected_hash, view.generate_hash())
Пример #10
0
    def test_get_zendesk_parameters_returns_list_of_two_item_pairs(self, get_timestamp, get_token, get_photo,
            get_tags, get_organization, get_id, get_email, get_user_name):
        # Unit test assuring the methods get called properly... order is very important.

        view = views.ZendeskAuthorize()
        self.assertEqual([
            ('name', get_user_name.return_value),
            ('email', get_email.return_value),
            ('external_id', get_id.return_value),
            ('organization', get_organization.return_value),
            ('tags', get_tags.return_value),
            ('remote_photo_url', get_photo.return_value),
            ('token', get_token.return_value),
            ('timestamp', get_timestamp.return_value),
        ], view.get_zendesk_parameters())
Пример #11
0
    def test_get_timestamp_returns_timestamp_from_get_parameter(self):
        request = test.RequestFactory().get("/", {"timestamp": 500})
        view = views.ZendeskAuthorize(request=request)

        timestamp = view.get_timestamp()
        self.assertEqual(u'500', timestamp)
Пример #12
0
    def test_get_token_returns_zendesk_token_from_settings(self):
        view = views.ZendeskAuthorize()

        with self.settings(ZENDESK_TOKEN="my-token-from-settings"):
            token = view.get_token()
        self.assertEqual("my-token-from-settings", token)
Пример #13
0
 def test_get_remote_photo_returns_empty_string_by_default(self):
     view = views.ZendeskAuthorize()
     self.assertEqual('', view.get_remote_photo_url())
Пример #14
0
 def test_get_tags_returns_empty_string_by_default(self):
     view = views.ZendeskAuthorize()
     self.assertEqual('', view.get_tags())