diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests')
2 files changed, 161 insertions, 97 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitInfoTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitInfoTest.java index 60d706c098..f9fa373569 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitInfoTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/CommitInfoTest.java @@ -149,7 +149,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getTimeStamp(), infos.get(1).getTimeStamp()); + assertEquals(commitInfo.getTimeStamp(), infos.get(0).getTimeStamp()); } @Skips("MongoDB") @@ -172,7 +172,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getBranch(), infos.get(1).getBranch()); + assertEquals(commitInfo.getBranch(), infos.get(0).getBranch()); } @Requires(IRepositoryConfig.CAPABILITY_BRANCHING) @@ -195,7 +195,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getBranch(), infos.get(1).getBranch()); + assertEquals(commitInfo.getBranch(), infos.get(0).getBranch()); } @Skips("MongoDB") @@ -227,7 +227,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getUserID(), infos.get(1).getUserID()); + assertEquals(commitInfo.getUserID(), infos.get(0).getUserID()); } @Skips("MongoDB") @@ -252,7 +252,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getComment(), infos.get(1).getComment()); + assertEquals(commitInfo.getComment(), infos.get(0).getComment()); } @Skips("MongoDB") @@ -275,7 +275,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getTimeStamp(), infos.get(1).getTimeStamp()); + assertEquals(commitInfo.getTimeStamp(), infos.get(0).getTimeStamp()); } @Skips("MongoDB") @@ -298,7 +298,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getBranch(), infos.get(1).getBranch()); + assertEquals(commitInfo.getBranch(), infos.get(0).getBranch()); } @Requires(IRepositoryConfig.CAPABILITY_BRANCHING) @@ -354,7 +354,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getUserID(), infos.get(1).getUserID()); + assertEquals(commitInfo.getUserID(), infos.get(0).getUserID()); } @Skips("MongoDB") @@ -380,7 +380,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getComment(), infos.get(1).getComment()); + assertEquals(commitInfo.getComment(), infos.get(0).getComment()); } @Requires(IRepositoryConfig.CAPABILITY_BRANCHING) @@ -518,7 +518,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getTimeStamp(), infos.get(1).getTimeStamp()); + assertEquals(commitInfo.getTimeStamp(), infos.get(0).getTimeStamp()); } @CleanRepositoriesBefore @@ -537,7 +537,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getBranch(), infos.get(1).getBranch()); + assertEquals(commitInfo.getBranch(), infos.get(0).getBranch()); } @Requires(IRepositoryConfig.CAPABILITY_BRANCHING) @@ -558,7 +558,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getBranch(), infos.get(1).getBranch()); + assertEquals(commitInfo.getBranch(), infos.get(0).getBranch()); } @CleanRepositoriesBefore @@ -587,7 +587,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getUserID(), infos.get(1).getUserID()); + assertEquals(commitInfo.getUserID(), infos.get(0).getUserID()); } @CleanRepositoriesBefore @@ -609,7 +609,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getComment(), infos.get(1).getComment()); + assertEquals(commitInfo.getComment(), infos.get(0).getComment()); } @CleanRepositoriesBefore @@ -628,7 +628,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getTimeStamp(), infos.get(1).getTimeStamp()); + assertEquals(commitInfo.getTimeStamp(), infos.get(0).getTimeStamp()); } @CleanRepositoriesBefore @@ -647,7 +647,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getBranch(), infos.get(1).getBranch()); + assertEquals(commitInfo.getBranch(), infos.get(0).getBranch()); } @Requires(IRepositoryConfig.CAPABILITY_BRANCHING) @@ -696,7 +696,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getUserID(), infos.get(1).getUserID()); + assertEquals(commitInfo.getUserID(), infos.get(0).getUserID()); } @CleanRepositoriesBefore @@ -718,7 +718,7 @@ public class CommitInfoTest extends AbstractCDOTest List<CDOCommitInfo> infos = handler.getInfos(); assertEquals(2, infos.size()); // Initial root resource commit + 1 - assertEquals(commitInfo.getComment(), infos.get(1).getComment()); + assertEquals(commitInfo.getComment(), infos.get(0).getComment()); } @Requires(IRepositoryConfig.CAPABILITY_BRANCHING) @@ -855,7 +855,67 @@ public class CommitInfoTest extends AbstractCDOTest assertEquals(1 + COMMITS, infos.size()); // Initial root resource commit + COMMITS for (int i = 0; i < COMMITS; i++) { - assertEquals(expected.get(i), infos.get(1 + i)); + assertEquals(expected.get(COMMITS - i - 1), infos.get(i)); + } + } + + @CleanRepositoriesBefore + public void testMultipleEntriesByCountDown() throws Exception + { + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource(getResourcePath(RESOURCE_PATH)); + + List<CDOCommitInfo> expected = new ArrayList<CDOCommitInfo>(); + final int COMMITS = 20; + for (int i = 0; i < COMMITS; i++) + { + resource.getContents().add(getModel1Factory().createProduct1()); + transaction.setCommitComment("Commit " + i); + expected.add(transaction.commit()); + } + + final int LOAD = 10; + + Handler handler = new Handler(); + session.getCommitInfoManager().getCommitInfos(null, CDOBranchPoint.UNSPECIFIED_DATE, null, null, -LOAD, handler); + + List<CDOCommitInfo> infos = handler.getInfos(); + + assertEquals(LOAD, infos.size()); // Initial root resource commit + COMMITS + for (int i = 0; i < LOAD; i++) + { + assertEquals(expected.get(COMMITS - i - 1), infos.get(i)); + } + } + + @CleanRepositoriesBefore + public void testMultipleEntriesByCountUp() throws Exception + { + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource(getResourcePath(RESOURCE_PATH)); + + List<CDOCommitInfo> expected = new ArrayList<CDOCommitInfo>(); + final int COMMITS = 20; + for (int i = 0; i < COMMITS; i++) + { + resource.getContents().add(getModel1Factory().createProduct1()); + transaction.setCommitComment("Commit " + i); + expected.add(transaction.commit()); + } + + final int LOAD = 10; + + Handler handler = new Handler(); + session.getCommitInfoManager().getCommitInfos(null, expected.get(0).getTimeStamp(), null, null, LOAD, handler); + + List<CDOCommitInfo> infos = handler.getInfos(); + + assertEquals(LOAD, infos.size()); // Initial root resource commit + COMMITS + for (int i = 0; i < LOAD; i++) + { + assertEquals(expected.get(i), infos.get(i)); } } diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_342135_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_342135_Test.java index 32831bec9c..260cec1656 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_342135_Test.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_342135_Test.java @@ -1,78 +1,82 @@ -/*
- * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Szabolcs Bárdy - initial API and implementation
- */
-package org.eclipse.emf.cdo.tests.bugzilla;
-
-import org.eclipse.emf.cdo.common.commit.CDOCommitInfo;
-import org.eclipse.emf.cdo.common.revision.CDOIDAndVersion;
-import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.tests.config.IRepositoryConfig;
-import org.eclipse.emf.cdo.tests.model1.Company;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.net4j.util.io.IOUtil;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import java.util.List;
-
-/**
- * @author Szabolcs Bárdy
- */
-public class Bugzilla_342135_Test extends AbstractCDOTest
-{
- @Requires(IRepositoryConfig.CAPABILITY_AUDITING)
- public void testDetachedCommitInfo() throws Exception
- {
- // Create test resource
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource(getResourcePath("/commitInfoResource"));
-
- // Create test object and commit
- Company c1 = getModel1Factory().createCompany();
- c1.setName("Test");
- resource.getContents().add(c1);
-
- transaction.commit();
-
- final URI uriC1 = EcoreUtil.getURI(c1);
- assertEquals(c1, transaction.getResourceSet().getEObject(uriC1, false));
-
- resource.getContents().remove(0); // remove object by index
-
- // Commit info
- CDOCommitInfo commitInfo = transaction.commit();
- List<CDORevisionKey> changedObjects = commitInfo.getChangedObjects();
- List<CDOIDAndVersion> detachedObjects = commitInfo.getDetachedObjects();
-
- IOUtil.OUT().println("Commit info: " + commitInfo);
- IOUtil.OUT().println("Commit info changed objects: " + changedObjects);
- IOUtil.OUT().println("Commit info detached objects: " + detachedObjects);
-
- assertEquals(false, detachedObjects.isEmpty());
- IOUtil.OUT().println();
-
- // Same commit info loaded from database
- CDOCommitInfo loadedCommitInfo = session.getCommitInfoManager().getCommitInfo(commitInfo.getTimeStamp());
- List<CDORevisionKey> loadedChangedObjects = loadedCommitInfo.getChangedObjects();
- List<CDOIDAndVersion> loadedDetachedObjects = loadedCommitInfo.getDetachedObjects();
-
- IOUtil.OUT().println("Loaded commit info: " + loadedCommitInfo);
- IOUtil.OUT().println("Commit info changed objects: " + loadedChangedObjects);
- IOUtil.OUT().println("Loaded commit info detached objects: " + loadedDetachedObjects);
-
- assertEquals(false, loadedDetachedObjects.isEmpty());
- }
-}
+/* + * Copyright (c) 2004 - 2012 Eike Stepper (Berlin, Germany) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Szabolcs Bárdy - initial API and implementation + */ +package org.eclipse.emf.cdo.tests.bugzilla; + +import org.eclipse.emf.cdo.common.commit.CDOCommitInfo; +import org.eclipse.emf.cdo.common.commit.CDOCommitInfoManager; +import org.eclipse.emf.cdo.common.revision.CDOIDAndVersion; +import org.eclipse.emf.cdo.common.revision.CDORevisionKey; +import org.eclipse.emf.cdo.eresource.CDOResource; +import org.eclipse.emf.cdo.session.CDOSession; +import org.eclipse.emf.cdo.tests.AbstractCDOTest; +import org.eclipse.emf.cdo.tests.config.IRepositoryConfig; +import org.eclipse.emf.cdo.tests.model1.Company; +import org.eclipse.emf.cdo.transaction.CDOTransaction; + +import org.eclipse.net4j.util.io.IOUtil; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import java.util.List; + +/** + * @author Szabolcs Bárdy + */ +public class Bugzilla_342135_Test extends AbstractCDOTest +{ + @Requires(IRepositoryConfig.CAPABILITY_AUDITING) + public void testDetachedCommitInfo() throws Exception + { + // Create test resource + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource(getResourcePath("/commitInfoResource")); + + // Create test object and commit + Company c1 = getModel1Factory().createCompany(); + c1.setName("Test"); + resource.getContents().add(c1); + + transaction.commit(); + + final URI uriC1 = EcoreUtil.getURI(c1); + assertEquals(c1, transaction.getResourceSet().getEObject(uriC1, false)); + + resource.getContents().remove(0); // remove object by index + + // Commit info + CDOCommitInfo commitInfo = transaction.commit(); + List<CDORevisionKey> changedObjects = commitInfo.getChangedObjects(); + List<CDOIDAndVersion> detachedObjects = commitInfo.getDetachedObjects(); + + IOUtil.OUT().println("Commit info: " + commitInfo); + IOUtil.OUT().println("Commit info changed objects: " + changedObjects); + IOUtil.OUT().println("Commit info detached objects: " + detachedObjects); + + assertEquals(false, detachedObjects.isEmpty()); + IOUtil.OUT().println(); + + // Same commit info loaded from database + CDOCommitInfoManager commitInfoManager = session.getCommitInfoManager(); + long timeStamp = commitInfo.getTimeStamp(); + + CDOCommitInfo loadedCommitInfo = commitInfoManager.getCommitInfo(timeStamp); + List<CDORevisionKey> loadedChangedObjects = loadedCommitInfo.getChangedObjects(); + List<CDOIDAndVersion> loadedDetachedObjects = loadedCommitInfo.getDetachedObjects(); + + IOUtil.OUT().println("Loaded commit info: " + loadedCommitInfo); + IOUtil.OUT().println("Commit info changed objects: " + loadedChangedObjects); + IOUtil.OUT().println("Loaded commit info detached objects: " + loadedDetachedObjects); + + assertEquals(false, loadedDetachedObjects.isEmpty()); + } +} |