/******************************************************************************* * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH 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: * Edgar - initial API and implementation ******************************************************************************/ package org.eclipse.emf.emfstore.server.test; import static org.eclipse.emf.emfstore.client.test.common.util.ProjectUtil.share; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.core.IsEqual.equalTo; import java.util.List; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.emf.emfstore.client.ESLocalProject; import org.eclipse.emf.emfstore.client.test.common.cases.ESTestWithLoggedInUser; import org.eclipse.emf.emfstore.client.test.common.dsl.Add; import org.eclipse.emf.emfstore.client.test.common.dsl.Create; import org.eclipse.emf.emfstore.internal.server.model.versioning.AbstractChangePackage; import org.eclipse.emf.emfstore.internal.server.model.versioning.PrimaryVersionSpec; import org.eclipse.emf.emfstore.server.exceptions.ESException; import org.eclipse.emf.emfstore.test.model.TestElement; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; /** * Integration tests that utilize the actual EMFStore middleware. * * @author emueller * */ public class IntegrationTest extends ESTestWithLoggedInUser { @BeforeClass public static void beforeClass() { startEMFStore(); } @AfterClass public static void afterClass() { stopEMFStore(); } @Test public void test() throws ESException { final TestElement testElement = Create.testElement("foo"); //$NON-NLS-1$ share(getUsersession(), getLocalProject()); final ESLocalProject clonedProject = getLocalProject().getRemoteProject().checkout("clonedProject", //$NON-NLS-1$ new NullProgressMonitor()); final PrimaryVersionSpec baseVersion = getProjectSpace().getBaseVersion(); Add.toProject(getLocalProject(), testElement); Add.toProject(getLocalProject(), Create.testElement("bar")); //$NON-NLS-1$ getLocalProject().commit(new NullProgressMonitor()); final PrimaryVersionSpec targetVersion = getProjectSpace().getBaseVersion(); final List<AbstractChangePackage> changes = getProjectSpace().getChanges(targetVersion, baseVersion); clonedProject.update(new NullProgressMonitor()); assertThat(changes.size(), equalTo(1)); assertThat(getLocalProject().getBaseVersion().getIdentifier(), equalTo(1)); } }