Skip to content

Package: RAPWorkspace_PTest

RAPWorkspace_PTest

nameinstructionbranchcomplexitylinemethod
RAPWorkspace_PTest()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
testWorkspaceProviderService()
M: 0 C: 68
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 21
100%
M: 0 C: 1
100%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Neil Mackenzie - initial implementation
13: ******************************************************************************/
14: package org.eclipse.emf.ecp.workspace.ui.rap.test;
15:
16: import java.util.Collection;
17:
18: import org.eclipse.emf.ecp.core.ECPProject;
19: import org.eclipse.emf.ecp.core.ECPProjectManager;
20: import org.eclipse.emf.ecp.core.ECPProvider;
21: import org.eclipse.emf.ecp.core.exceptions.ECPProjectWithNameExistsException;
22: import org.eclipse.emf.ecp.core.rap.sessionprovider.test.MockSessionProvider;
23: import org.eclipse.emf.ecp.core.rap.sessionprovider.test.MockSessionProvider.SessionProviderType;
24: import org.eclipse.emf.ecp.core.util.ECPProperties;
25: import org.eclipse.emf.ecp.core.util.ECPUtil;
26: import org.eclipse.emf.ecp.workspace.internal.core.WorkspaceProvider;
27: import org.junit.Test;
28: import junit.framework.TestCase;
29:
30: /**
31: * @author neil Test use of WorkspaceProvider with RAP and multiple sessions.
32: */
33: @SuppressWarnings("restriction")
34: public class RAPWorkspace_PTest extends TestCase {
35:
36:         /**
37:          * Test that we can create and retrieve projects using the workspace provider
38:          * when we have multiple sessions.
39:          */
40:         @Test
41:         public final void testWorkspaceProviderService() throws ECPProjectWithNameExistsException {
42:                 MockSessionProvider.getInstance();
43:                 MockSessionProvider.setSessionProvider(SessionProviderType.SAME_SESSION_ID);
44:
45:                 final ECPProjectManager projectManager1 = ECPUtil.getECPProjectManager();
46:                 final ECPProvider provider1 = ECPUtil.getECPProviderRegistry().getProvider(WorkspaceProvider.NAME);
47:
48:                 ECPProperties props1 = ECPUtil.createProperties();
49:                 props1.addProperty(WorkspaceProvider.PROP_ROOT_URI, WorkspaceProvider.VIRTUAL_ROOT_URI);
50:                 final ECPProject project1 = projectManager1.createProject(provider1, "Test1", props1); //$NON-NLS-1$
51:
52:                 MockSessionProvider.setSessionProvider(SessionProviderType.DIFFERENT_SESSION_ID);
53:
54:                 final ECPProjectManager projectManager2 = ECPUtil.getECPProjectManager();
55:                 final ECPProvider provider2 = ECPUtil.getECPProviderRegistry().getProvider(WorkspaceProvider.NAME);
56:                 ECPProperties props2 = ECPUtil.createProperties();
57:                 props2.addProperty(WorkspaceProvider.PROP_ROOT_URI, WorkspaceProvider.VIRTUAL_ROOT_URI);
58:                 final ECPProject project2 = projectManager2.createProject(provider2, "Test2", props2); //$NON-NLS-1$
59:
60:                 assertNotSame(projectManager1, projectManager2);
61:
62:                 final Collection<ECPProject> projects1 = projectManager1.getProjects();
63:                 assertEquals(1, projects1.size());
64:                 assertTrue(projects1.contains(project1));
65:
66:                 final Collection<ECPProject> projects2 = projectManager2.getProjects();
67:                 assertEquals(1, projects2.size());
68:                 assertTrue(projects2.contains(project2));
69:
70:         }
71:
72: }