/** * Initializes the test hierarchy. * * <pre> * Server side for user1 * ============================== * * /user1 (user workspace) * |-- user1Folder1 * | |-- user1File1 * | |-- user1Folder2 * |-- user1File2 * |-- user1Folder3 * | |-- user1File3 * |-- user1Folder4 * * Server side for user2 * ============================== * * /user2 (user workspace) * |-- user2Folder1 (registered as a synchronization root with ReadWrite permission for user1) * | |-- user2File1 * | |-- user2Folder2 * |-- user2File2 * |-- user2Folder3 (registered as a synchronization root with ReadWrite permission for user1) * | |-- user2File3 * * </pre> */ @Before public void init() throws Exception { // Create test users createUser("user1", "user1"); createUser("user2", "user2"); // Open a core session for each user session1 = coreFeature.openCoreSession("user1"); session2 = coreFeature.openCoreSession("user2"); // Create user workspace for each user userWorkspace1 = userWorkspaceService.getCurrentUserPersonalWorkspace(session1, null); userWorkspace2 = userWorkspaceService.getCurrentUserPersonalWorkspace(session2, null); userWorkspace1ItemId = USER_SYNC_ROOT_PARENT_ID_PREFIX + userWorkspace1.getId(); userWorkspace1ItemPath = "/" + TOP_LEVEL_ID + "/" + userWorkspace1ItemId; // Populate user workspaces // user1 user1Folder1 = createFolder(session1, userWorkspace1.getPathAsString(), "user1Folder1", "Folder"); user1File1 = createFile( session1, user1Folder1.getPathAsString(), "user1File1", "File", "user1File1.txt", CONTENT_PREFIX + "user1File1"); user1Folder2 = createFolder(session1, user1Folder1.getPathAsString(), "user1Folder2", "Folder"); user1File2 = createFile( session1, userWorkspace1.getPathAsString(), "user1File2", "File", "user1File2.txt", CONTENT_PREFIX + "user1File2"); user1Folder3 = createFolder(session1, userWorkspace1.getPathAsString(), "user1Folder3", "Folder"); user1File3 = createFile( session1, user1Folder3.getPathAsString(), "user1File3", "File", "user1File3.txt", CONTENT_PREFIX + "user1File3"); user1Folder4 = createFolder(session1, userWorkspace1.getPathAsString(), "user1Folder4", "Folder"); TransactionHelper.commitOrRollbackTransaction(); TransactionHelper.startTransaction(); // user2 user2Folder1 = createFolder(session2, userWorkspace2.getPathAsString(), "user2Folder1", "Folder"); user2File1 = createFile( session2, user2Folder1.getPathAsString(), "user2File1", "File", "user2File1.txt", CONTENT_PREFIX + "user2File1"); user2Folder2 = createFolder(session2, user2Folder1.getPathAsString(), "user2Folder2", "Folder"); user2File2 = createFile( session2, userWorkspace2.getPathAsString(), "user2File2", "File", "user2File2.txt", CONTENT_PREFIX + "user2File2"); user2Folder3 = createFolder(session2, userWorkspace2.getPathAsString(), "user2Folder3", "Folder"); user2File3 = createFile( session2, user2Folder3.getPathAsString(), "user2File3", "File", "user2File3.txt", CONTENT_PREFIX + "user2File3"); TransactionHelper.commitOrRollbackTransaction(); TransactionHelper.startTransaction(); setPermission(user2Folder1, "user1", SecurityConstants.READ_WRITE, true); setPermission(user2Folder3, "user1", SecurityConstants.READ_WRITE, true); // Register shared folders as synchronization roots for user1 nuxeoDriveManager.registerSynchronizationRoot( session1.getPrincipal(), session1.getDocument(user2Folder1.getRef()), session1); nuxeoDriveManager.registerSynchronizationRoot( session1.getPrincipal(), session1.getDocument(user2Folder3.getRef()), session1); // Get an Automation client session for user1 clientSession1 = automationClient.getSession("user1", "user1"); mapper = new ObjectMapper(); }
protected void maybeSleepToNextSecond() { coreFeature.getStorageConfiguration().maybeSleepToNextSecond(); }
protected void waitIfMySQLOrSQLServer() throws InterruptedException { StorageConfiguration storageConfiguration = coreFeature.getStorageConfiguration(); if (storageConfiguration.isVCSMySQL() || storageConfiguration.isVCSSQLServer()) { Thread.sleep(1000); } }
protected void waitForFulltextIndexing() { nextTransaction(); coreFeature.getStorageConfiguration().waitForFulltextIndexing(); }