Repository URL to install this package:
|
Version:
0.3.0 ▾
|
#!/usr/bin/env python2
import unittest
from zendesk_sync import ZendeskSync
from zendesk_sync.zendesk_sync import format_name
from clean_users_test import CleanUsersTest
class TestUsers(CleanUsersTest):
"""
Make sure user related actions work
"""
def test_create_user(self):
# we make sure that create_user can create a user
self.zs.create_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname,
self.username)
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['external_id'], self.user_uuid)
def test_user_suspend(self):
# we make sure that create_user can create a user
self.test_create_user()
self.assertTrue(self.zs.safe_suspend_user(self.user_uuid))
user = self.zs.get_user(self.user_uuid)
self.assertTrue(user['suspended'])
def test_user_suspend_fail(self):
self.assertFalse(self.zs.safe_suspend_user(self.user_uuid))
def test_user_merging(self):
self.zs.safe_delete_user_by_email(self.primary_email)
# create a user with no uuid
old_user_id = self.zs.create_user_no_merge(
"",
self.primary_email,
self.emails,
self.fullname,
self.username)
self.assertEqual(int(old_user_id), int(self.zs.get_user_by_email(self.primary_email)['id']))
# check if the two users were merged when a user with a uuid was
# created
new_user_id = self.zs.create_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname,
self.username)
idents = self.zs.list_identities(self.user_uuid)
self.assertEqual(len(idents), 1)
self.assertEqual(idents[0]['value'], self.primary_email)
# The old user is destroyed by being merged into the new one
self.assertNotEqual(old_user_id, new_user_id)
self.assertEqual(int(new_user_id), int(self.zs.get_user_by_email(self.primary_email)['id']))
def test_safe_create_user(self):
self.zs.safe_create_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname,
self.username)
# we make sure that the first user creation attempt worked
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['name'], self.fullname + ' (' + self.username + ')')
# we make sure that an attempt to create a user that exists does not
# cause an error
self.assertIsNone(self.zs.safe_create_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname,
self.username))
def test_update_existing_user(self):
self.zs.create_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname,
self.username)
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['name'], format_name(self.username, self.fullname))
# we make sure that we can change the user's self.username and full
# name
self.zs.safe_create_update_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname2,
self.username2)
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['name'], format_name(self.username2, self.fullname2))
def test_update_create_user(self):
# we make sure that safe_create_update_user can create a user
self.zs.safe_create_update_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname2,
self.username2)
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['name'], format_name(self.username2, self.fullname2))
def test_create_update_user_no_primary(self):
# we make sure that we don't need a primary email
self.zs.safe_create_update_user(
self.user_uuid,
None,
self.emails,
self.fullname2,
self.username2)
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['name'], format_name(self.username2, self.fullname2))
if __name__ == '__main__':
unittest.main()