Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
zendesk_sync / tests / test_user_to_org.py
Size: Mime:
#!/usr/bin/env python2
import unittest

import time

from zdesk import ZendeskError

from zendesk_sync import ZendeskSync
from clean_orgs_test import CleanOrgsTest


class TestUserToOrg(CleanOrgsTest):
    """
    Make sure we can handle a user becoming an org
    """

    def test_user_to_org(self):
        """
        In this case user1 is transferring ownership to user2 and
        user1's account must be merged into user2's but the emails
        must be removed
        """
        user1_id = 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)

        user2_id = self.zs.create_user(
            self.user_uuid2,
            self.primary_email2,
            self.emails2,
            self.fullname,
            self.username)
        user2 = self.zs.get_user(self.user_uuid2)
        self.assertEqual(user2['external_id'], self.user_uuid2)

        # create an org with the same uuid as the first user and
        # containing the second user
        self.zs.safe_org_ownership_update(self.user_uuid, self.org_name, [self.user_uuid2])

        self.zs.merge_users(self.user_uuid2, self.user_uuid)

        user2 = self.zs.get_user(self.user_uuid2)
        self.assertEqual(user2['id'], int(user2_id))
        self.assertEqual(user2['email'], self.primary_email2.lower())

        idents = self.zs.list_identities(self.user_uuid2)
        self.assertTrue(len(idents) >= 1)
        emails = [i['value'] for i in idents]
        self.assertIn(self.primary_email2.lower(), emails)
        self.assertNotIn(self.primary_email.lower(), emails)


if __name__ == '__main__':
    unittest.main()