Search in sources :

Example 21 with ContainerItem

use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.

the class NewViewActionTest method testCreateServerObject.

@Test
public void testCreateServerObject() throws Exception {
    // 
    ContainerItem newItem = MdmpropertiesFactory.eINSTANCE.createContainerItem();
    ContainerItem mockContainerItem = spy(newItem);
    PowerMockito.mockStatic(MDMWorbenchPlugin.class);
    when(MDMWorbenchPlugin.getImageDescriptor(anyString())).thenReturn(mock(ImageDescriptor.class));
    NewViewAction action = new NewViewAction();
    NewViewAction spyAction = spy(action);
    // $NON-NLS-1$
    Whitebox.setInternalState(spyAction, "parentItem", mockContainerItem);
    ItemState itemState = mock(ItemState.class);
    when(mockContainerItem.getState()).thenReturn(itemState);
    // $NON-NLS-1$
    when(mockContainerItem.getState().getPath()).thenReturn("");
    WSViewItem item = MdmpropertiesFactory.eINSTANCE.createWSViewItem();
    WSViewItem spyViewItem = spy(item);
    Resource mockResource = mock(Resource.class);
    ResourceSet mockResourceSet = mock(ResourceSet.class);
    when(mockResource.getResourceSet()).thenReturn(mockResourceSet);
    when(spyViewItem.eResource()).thenReturn(mockResource);
    PowerMockito.whenNew(WSViewItemImpl.class).withNoArguments().thenReturn((WSViewItemImpl) spyViewItem);
    // run
    // $NON-NLS-1$
    Item addedItem = spyAction.createServerObject("abc");
    assertThat(addedItem, notNullValue());
}
Also used : Item(org.talend.core.model.properties.Item) WSViewItem(org.talend.mdm.repository.model.mdmproperties.WSViewItem) ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) WSViewItem(org.talend.mdm.repository.model.mdmproperties.WSViewItem) ItemState(org.talend.core.model.properties.ItemState) Resource(org.eclipse.emf.ecore.resource.Resource) ImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) ResourceSet(org.eclipse.emf.ecore.resource.ResourceSet) AbstractSimpleAddActionTest(org.talend.mdm.repository.ui.actions.AbstractSimpleAddActionTest) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 22 with ContainerItem

use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.

the class ContainerCacheServiceTest method testGetParent.

@Test
public void testGetParent() {
    // $NON-NLS-1$
    String path = "/pathA/pathB";
    ERepositoryObjectType repoType = IServerObjectRepositoryType.TYPE_DATAMODEL;
    ItemState mockState = PowerMockito.mock(ItemState.class);
    PowerMockito.when(mockState.getPath()).thenReturn(path);
    ContainerItem mockContainerItem = PowerMockito.mock(ContainerItem.class);
    PowerMockito.when(mockContainerItem.getState()).thenReturn(mockState);
    Property mockProperty = PowerMockito.mock(Property.class);
    PowerMockito.when(mockProperty.getItem()).thenReturn(mockContainerItem);
    IRepositoryViewObject mockViewObject = PowerMockito.mock(IRepositoryViewObject.class);
    PowerMockito.when(mockViewObject.getProperty()).thenReturn(mockProperty);
    PowerMockito.when(mockViewObject.getRepositoryObjectType()).thenReturn(repoType);
    PowerMockito.mockStatic(ContainerCacheService.class);
    IRepositoryViewObject mockResultParent = PowerMockito.mock(IRepositoryViewObject.class);
    PowerMockito.when(ContainerCacheService.get(any(ERepositoryObjectType.class), anyString())).thenReturn(mockResultParent);
    PowerMockito.when(ContainerCacheService.getParent(any(IRepositoryViewObject.class))).thenCallRealMethod();
    IRepositoryViewObject parent = ContainerCacheService.getParent(mockViewObject);
    assertEquals(mockResultParent, parent);
    PowerMockito.verifyStatic();
    // $NON-NLS-1$
    ContainerCacheService.get(repoType, "/pathA");
    // $NON-NLS-1$
    PowerMockito.when(mockState.getPath()).thenReturn("/");
    parent = ContainerCacheService.getParent(mockViewObject);
    assertNull(parent);
    // $NON-NLS-1$
    PowerMockito.when(mockState.getPath()).thenReturn("");
    parent = ContainerCacheService.getParent(mockViewObject);
    assertNull(parent);
    // $NON-NLS-1$
    PowerMockito.when(mockState.getPath()).thenReturn("path");
    parent = ContainerCacheService.getParent(mockViewObject);
    assertEquals(mockResultParent, parent);
    PowerMockito.verifyStatic();
    // $NON-NLS-1$
    ContainerCacheService.get(repoType, "path");
    Item mockItem = PowerMockito.mock(Item.class);
    PowerMockito.when(mockItem.getState()).thenReturn(mockState);
    PowerMockito.when(mockState.getPath()).thenReturn(path);
    PowerMockito.when(mockProperty.getItem()).thenReturn(mockItem);
    parent = ContainerCacheService.getParent(mockViewObject);
    assertEquals(mockResultParent, parent);
    PowerMockito.verifyStatic();
    ContainerCacheService.get(repoType, path);
}
Also used : WSDataModelItem(org.talend.mdm.repository.model.mdmproperties.WSDataModelItem) Item(org.talend.core.model.properties.Item) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) ItemState(org.talend.core.model.properties.ItemState) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) Property(org.talend.core.model.properties.Property) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 23 with ContainerItem

use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.

the class ContainerCacheServiceTest method testPutContainer.

@Test
public void testPutContainer() {
    // $NON-NLS-1$
    String path = "/path";
    ERepositoryObjectType repositoryType = IServerObjectRepositoryType.TYPE_DATAMODEL;
    ItemState mockState = PowerMockito.mock(ItemState.class);
    PowerMockito.when(mockState.getPath()).thenReturn(path);
    MDMServerObjectItem mockItem = PowerMockito.mock(MDMServerObjectItem.class);
    PowerMockito.when(mockItem.getState()).thenReturn(mockState);
    Property mockProperty = PowerMockito.mock(Property.class);
    PowerMockito.when(mockProperty.getItem()).thenReturn(mockItem);
    IRepositoryViewObject mockViewObj = PowerMockito.mock(IRepositoryViewObject.class);
    PowerMockito.when(mockViewObj.getProperty()).thenReturn(mockProperty);
    PowerMockito.when(mockViewObj.getRepositoryObjectType()).thenReturn(repositoryType);
    // not container item
    ContainerCacheService.putContainer(mockViewObj);
    assertNull(ContainerCacheService.get(repositoryType, path));
    // container item
    ContainerItem mockContainerItem = PowerMockito.mock(ContainerItem.class);
    PowerMockito.when(mockContainerItem.getState()).thenReturn(mockState);
    PowerMockito.when(mockContainerItem.getRepObjType()).thenReturn(repositoryType);
    PowerMockito.when(mockProperty.getItem()).thenReturn(mockContainerItem);
    ContainerCacheService.putContainer(mockViewObj);
    assertEquals(mockViewObj, ContainerCacheService.get(repositoryType, path));
}
Also used : ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) ItemState(org.talend.core.model.properties.ItemState) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) Property(org.talend.core.model.properties.Property) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 24 with ContainerItem

use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.

the class RemoveFromRepositoryActionTest method doRunTest.

@Test
public void doRunTest() throws Exception {
    PowerMockito.mockStatic(MDMWorbenchPlugin.class);
    when(MDMWorbenchPlugin.getImageDescriptor(anyString())).thenReturn(mock(ImageDescriptor.class));
    RemoveFromRepositoryAction removeAction = new RemoveFromRepositoryAction();
    RemoveFromRepositoryAction removeActionM = PowerMockito.spy(removeAction);
    CommonViewer commonViewerM = mock(CommonViewer.class);
    // $NON-NLS-1$
    Whitebox.setInternalState(removeActionM, "commonViewer", commonViewerM);
    // $NON-NLS-1$
    PowerMockito.doReturn(true).when(removeActionM, "confirm", 2);
    // $NON-NLS-1$
    PowerMockito.doNothing().when(removeActionM, "warn");
    // mock a mdm repositoryViewObject
    IRepositoryViewObject objectRVO = mock(IRepositoryViewObject.class);
    MDMServerObjectItem mdmItemM = mock(MDMServerObjectItem.class);
    Property propertyM = mock(Property.class);
    when(objectRVO.getProperty()).thenReturn(propertyM);
    when(propertyM.getItem()).thenReturn(mdmItemM);
    // mock a FolderRepositoryObject
    FolderRepositoryObject folderRO = mock(FolderRepositoryObject.class);
    Property foldePropertyM = mock(Property.class);
    ContainerItem containerItem = mock(ContainerItem.class);
    when(folderRO.getProperty()).thenReturn(foldePropertyM);
    when(foldePropertyM.getItem()).thenReturn(containerItem);
    ItemState itemState = mock(ItemState.class);
    when(containerItem.getState()).thenReturn(itemState);
    // $NON-NLS-1$
    when(itemState.getPath()).thenReturn("");
    PowerMockito.mockStatic(RepositoryNodeProviderRegistryReader.class);
    RepositoryNodeProviderRegistryReader reader = mock(RepositoryNodeProviderRegistryReader.class);
    PowerMockito.when(RepositoryNodeProviderRegistryReader.getInstance()).thenReturn(reader);
    ERepositoryObjectType typeM = ERepositoryObjectType.PROCESS;
    when(containerItem.getRepObjType()).thenReturn(typeM);
    MDMServerObject mdmServerObjectM = mock(MDMServerObject.class);
    when(mdmItemM.getMDMServerObject()).thenReturn(mdmServerObjectM);
    Shell shellM = mock(Shell.class);
    Control controlM = mock(Control.class);
    when(commonViewerM.getControl()).thenReturn(controlM);
    when(controlM.getShell()).thenReturn(shellM);
    List<Object> selectedObjects = new ArrayList<Object>();
    selectedObjects.add(objectRVO);
    selectedObjects.add(folderRO);
    when(removeActionM.getSelectedObject()).thenReturn(selectedObjects);
    // $NON-NLS-1$
    Whitebox.setInternalState(removeActionM, "lockedObjs", Collections.EMPTY_LIST);
    PowerMockito.mockStatic(MessageDialog.class);
    when(MessageDialog.openConfirm((Shell) anyObject(), anyString(), anyString())).thenReturn(true);
    PowerMockito.mockStatic(RepositoryResourceUtil.class);
    when(RepositoryResourceUtil.isOpenedInEditor((IRepositoryViewObject) anyObject())).thenReturn(null);
    when(RepositoryResourceUtil.hasContainerItem(anyObject(), eq(FolderType.FOLDER_LITERAL))).thenReturn(true);
    PowerMockito.mockStatic(ContainerCacheService.class);
    FolderItem folderItemM = mock(FolderItem.class);
    when(repositoryFactory.getFolderItem(eq(projectM), eq(typeM), (IPath) anyObject())).thenReturn(folderItemM);
    when(folderItemM.getState()).thenReturn(itemState);
    removeActionM.doRun();
}
Also used : ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) CommonViewer(org.eclipse.ui.navigator.CommonViewer) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) ArrayList(java.util.ArrayList) FolderRepositoryObject(org.talend.mdm.repository.models.FolderRepositoryObject) RepositoryNodeProviderRegistryReader(org.talend.core.model.repository.RepositoryNodeProviderRegistryReader) Shell(org.eclipse.swt.widgets.Shell) Control(org.eclipse.swt.widgets.Control) FolderItem(org.talend.core.model.properties.FolderItem) ItemState(org.talend.core.model.properties.ItemState) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ImageDescriptor(org.eclipse.jface.resource.ImageDescriptor) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) FolderRepositoryObject(org.talend.mdm.repository.models.FolderRepositoryObject) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) Property(org.talend.core.model.properties.Property) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 25 with ContainerItem

use of org.talend.mdm.repository.model.mdmproperties.ContainerItem in project tmdm-studio-se by Talend.

the class RenameObjectActionTest method doRunTest.

@Test
public void doRunTest() throws Exception {
    RenameObjectAction renameAction = new RenameObjectAction();
    RenameObjectAction renameActionM = PowerMockito.spy(renameAction);
    CommonViewer commonViewerM = mock(CommonViewer.class);
    // $NON-NLS-1$
    Whitebox.setInternalState(renameActionM, "commonViewer", commonViewerM);
    // mock a mdm repositoryViewObject
    IRepositoryViewObject objectRVO = mock(IRepositoryViewObject.class);
    IRepositoryViewObject parentRVO = mock(IRepositoryViewObject.class);
    MDMServerObjectItem mdmItemM = mock(MDMServerObjectItem.class);
    ContainerItem parentItemM = mock(ContainerItem.class);
    Property propertyM = mock(Property.class);
    Property parentPropertyM = mock(Property.class);
    // $NON-NLS-1$
    String name = "mockName";
    MDMServerObject mdmServerObjectM = mock(MDMServerObject.class);
    when(mdmServerObjectM.getName()).thenReturn(name);
    ItemState itemStateM = mock(ItemState.class);
    // 
    when(objectRVO.getProperty()).thenReturn(propertyM);
    when(propertyM.getItem()).thenReturn(mdmItemM);
    when(mdmItemM.getMDMServerObject()).thenReturn(mdmServerObjectM);
    when(mdmItemM.getState()).thenReturn(itemStateM);
    // $NON-NLS-1$
    when(itemStateM.getPath()).thenReturn("");
    // 
    when(parentRVO.getProperty()).thenReturn(parentPropertyM);
    when(parentPropertyM.getItem()).thenReturn(parentItemM);
    // 
    PowerMockito.mockStatic(RepositoryNodeProviderRegistryReader.class);
    RepositoryNodeProviderRegistryReader reader = mock(RepositoryNodeProviderRegistryReader.class);
    PowerMockito.when(RepositoryNodeProviderRegistryReader.getInstance()).thenReturn(reader);
    ERepositoryObjectType typeM = ERepositoryObjectType.PROCESS;
    when(resourceProviderM.getRepositoryObjectType(mdmItemM)).thenReturn(typeM);
    // $NON-NLS-1$ //$NON-NLS-2$
    PowerMockito.doReturn("NewName").when(renameActionM, "showRenameDlg", typeM, parentItemM, name);
    // 
    PowerMockito.mockStatic(ContainerCacheService.class);
    // $NON-NLS-1$
    when(ContainerCacheService.get(eq(typeM), eq(""))).thenReturn(parentRVO);
    Shell shellM = mock(Shell.class);
    Control controlM = mock(Control.class);
    when(commonViewerM.getControl()).thenReturn(controlM);
    when(controlM.getShell()).thenReturn(shellM);
    List<Object> selectedObjects = new ArrayList<Object>();
    selectedObjects.add(objectRVO);
    // 
    when(renameActionM.getSelectedObject()).thenReturn(selectedObjects);
    InputDialog inputDialogM = mock(InputDialog.class);
    PowerMockito.whenNew(InputDialog.class).withArguments(eq(shellM), anyString(), anyString(), anyString(), anyObject()).thenReturn(inputDialogM);
    when(inputDialogM.open()).thenReturn(IDialogConstants.OK_ID);
    // $NON-NLS-1$
    when(inputDialogM.getValue()).thenReturn("NewName");
    renameActionM.doRun();
}
Also used : ContainerItem(org.talend.mdm.repository.model.mdmproperties.ContainerItem) InputDialog(org.eclipse.jface.dialogs.InputDialog) CommonViewer(org.eclipse.ui.navigator.CommonViewer) MDMServerObjectItem(org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem) ArrayList(java.util.ArrayList) RepositoryNodeProviderRegistryReader(org.talend.core.model.repository.RepositoryNodeProviderRegistryReader) Shell(org.eclipse.swt.widgets.Shell) Control(org.eclipse.swt.widgets.Control) ItemState(org.talend.core.model.properties.ItemState) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) IRepositoryViewObject(org.talend.core.model.repository.IRepositoryViewObject) ERepositoryObjectType(org.talend.core.model.repository.ERepositoryObjectType) Property(org.talend.core.model.properties.Property) MDMServerObject(org.talend.mdm.repository.model.mdmserverobject.MDMServerObject) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

ContainerItem (org.talend.mdm.repository.model.mdmproperties.ContainerItem)46 Item (org.talend.core.model.properties.Item)28 IRepositoryViewObject (org.talend.core.model.repository.IRepositoryViewObject)24 ItemState (org.talend.core.model.properties.ItemState)18 ERepositoryObjectType (org.talend.core.model.repository.ERepositoryObjectType)16 Test (org.junit.Test)15 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)15 MDMServerObjectItem (org.talend.mdm.repository.model.mdmproperties.MDMServerObjectItem)11 FolderRepositoryObject (org.talend.mdm.repository.models.FolderRepositoryObject)11 Property (org.talend.core.model.properties.Property)10 ImageDescriptor (org.eclipse.jface.resource.ImageDescriptor)9 Resource (org.eclipse.emf.ecore.resource.Resource)8 ResourceSet (org.eclipse.emf.ecore.resource.ResourceSet)8 AbstractSimpleAddActionTest (org.talend.mdm.repository.ui.actions.AbstractSimpleAddActionTest)8 FolderType (org.talend.core.model.properties.FolderType)6 FolderItem (org.talend.core.model.properties.FolderItem)5 Path (org.eclipse.core.runtime.Path)4 PersistenceException (org.talend.commons.exception.PersistenceException)4 WSDataModelItem (org.talend.mdm.repository.model.mdmproperties.WSDataModelItem)4 MDMServerObject (org.talend.mdm.repository.model.mdmserverobject.MDMServerObject)4