def setup_integration_env(): global NUXEO_URL, USER, PASSWORD global remote_client, lcclient, TEST_WORKSPACE, LOCAL_TEST_FOLDER global LOCAL_NXDRIVE_FOLDER, LOCAL_NXDRIVE_CONF_FOLDER global ctl # Check the Nuxeo server test environment NUXEO_URL = os.environ.get("NXDRIVE_TEST_NUXEO_URL") USER = os.environ.get("NXDRIVE_TEST_USER") PASSWORD = os.environ.get("NXDRIVE_TEST_PASSWORD") if None in (NUXEO_URL, USER, PASSWORD): raise SkipTest("No integration server configuration found in " "environment.") parent_path = os.path.dirname(TEST_WORKSPACE_PATH) workspace_name = os.path.basename(TEST_WORKSPACE_PATH) root_remote_client = NuxeoClient(NUXEO_URL, USER, PASSWORD, base_folder="/") TEST_WORKSPACE = root_remote_client.create( parent_path, "Workspace", name=workspace_name, properties={"dc:title": TEST_WORKSPACE_TITLE} )[u"uid"] # Client to be use to create remote test documents and folders remote_client = NuxeoClient(NUXEO_URL, USER, PASSWORD, base_folder=TEST_WORKSPACE) # Check the local filesystem test environment LOCAL_TEST_FOLDER = tempfile.mkdtemp("-nuxeo-drive-tests") LOCAL_NXDRIVE_FOLDER = os.path.join(LOCAL_TEST_FOLDER, "Nuxeo Drive") os.mkdir(LOCAL_NXDRIVE_FOLDER) LOCAL_NXDRIVE_CONF_FOLDER = os.path.join(LOCAL_TEST_FOLDER, "nuxeo-drive-conf") os.mkdir(LOCAL_NXDRIVE_CONF_FOLDER) ctl = Controller(LOCAL_NXDRIVE_CONF_FOLDER)
def test_make_token(self): remote_client = self.remote_document_client_1 token = remote_client.request_token() if token is None: raise SkipTest('nuxeo-platform-login-token is not deployed') self.assertTrue(len(token) > 5) self.assertEquals(remote_client.auth[0], 'X-Authentication-Token') self.assertEquals(remote_client.auth[1], token) # Requesting token is an idempotent operation token2 = remote_client.request_token() self.assertEquals(token, token2) # It's possible to create a new client using the same token remote_client2 = NuxeoClient( remote_client.server_url, remote_client.user_id, remote_client.device_id, remote_client.client_version, token=token, base_folder=self.workspace) token3 = remote_client.request_token() self.assertEquals(token, token3) # Register a root with client 2 and see it with client one folder_1 = remote_client2.make_folder('/', 'Folder 1') remote_client2.register_as_root(folder_1) roots = remote_client.get_roots() self.assertEquals(len(roots), 1) self.assertEquals(roots[0].name, 'Folder 1') # The root can also been seen with a new client connected using # password based auth remote_client3 = NuxeoClient( remote_client.server_url, remote_client.user_id, remote_client.device_id, remote_client.client_version, password=self.password_1, base_folder=None) roots = remote_client3.get_roots() self.assertEquals(len(roots), 1) self.assertEquals(roots[0].name, 'Folder 1') # Another device using the same user credentials will get a different # token remote_client4 = NuxeoClient( remote_client.server_url, remote_client.user_id, 'other-test-device', remote_client.client_version, password=self.password_1, base_folder=None) token4 = remote_client4.request_token() self.assertNotEquals(token, token4) # A client can revoke a token explicitly and thus loose credentials remote_client4.revoke_token() self.assertRaises(IOError, remote_client4.get_roots)
def setup_integration_server(): global nxclient, TEST_WORKSPACE NUXEO_URL = os.environ.get('NXDRIVE_TEST_NUXEO_URL') USER = os.environ.get('NXDRIVE_TEST_USER') PASSWORD = os.environ.get('NXDRIVE_TEST_PASSWORD') if None in (NUXEO_URL, USER, PASSWORD): raise SkipTest("No integration server configuration found in " "environment.") nxclient = NuxeoClient(NUXEO_URL, USER, PASSWORD, base_folder='/') parent_path = os.path.dirname(TEST_WORKSPACE_PATH) workspace_name = os.path.basename(TEST_WORKSPACE_PATH) TEST_WORKSPACE = nxclient.create( parent_path, 'Workspace', name=workspace_name, properties={'dc:title': 'Nuxeo Drive Tests'})[u'uid']
def test_make_token(self): remote_client = self.remote_document_client_1 token = remote_client.request_token() if token is None: raise SkipTest('nuxeo-platform-login-token is not deployed') self.assertTrue(len(token) > 5) self.assertEquals(remote_client.auth[0], 'X-Authentication-Token') self.assertEquals(remote_client.auth[1], token) # Requesting token is an idempotent operation token2 = remote_client.request_token() self.assertEquals(token, token2) # It's possible to create a new client using the same token remote_client2 = NuxeoClient(remote_client.server_url, remote_client.user_id, remote_client.device_id, remote_client.client_version, token=token, base_folder=self.workspace) token3 = remote_client.request_token() self.assertEquals(token, token3) # Register a root with client 2 and see it with client one folder_1 = remote_client2.make_folder('/', 'Folder 1') remote_client2.register_as_root(folder_1) roots = remote_client.get_roots() self.assertEquals(len(roots), 1) self.assertEquals(roots[0].name, 'Folder 1') # The root can also been seen with a new client connected using # password based auth remote_client3 = NuxeoClient(remote_client.server_url, remote_client.user_id, remote_client.device_id, remote_client.client_version, password=self.password_1, base_folder=None) roots = remote_client3.get_roots() self.assertEquals(len(roots), 1) self.assertEquals(roots[0].name, 'Folder 1') # Another device using the same user credentials will get a different # token remote_client4 = NuxeoClient(remote_client.server_url, remote_client.user_id, 'other-test-device', remote_client.client_version, password=self.password_1, base_folder=None) token4 = remote_client4.request_token() self.assertNotEquals(token, token4) # A client can revoke a token explicitly and thus lose credentials remote_client4.revoke_token() self.assertRaises(IOError, remote_client4.get_roots)