// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprofiler.core.ui.action.actions; import static org.junit.Assert.*; import static org.mockito.Matchers.*; import static org.mockito.Mockito.*; import java.io.File; import java.io.FilenameFilter; import java.util.ArrayList; import java.util.List; import org.junit.Rule; import org.junit.Test; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.rule.PowerMockRule; import org.talend.commons.utils.io.FilesUtils; import org.talend.dataprofiler.ecos.jobs.ComponentInstaller; import org.talend.dataprofiler.ecos.model.IEcosComponent; import org.talend.utils.sugars.ReturnCode; /** * created by xqliu on Sep 26, 2012 Detailled comment */ @PrepareForTest({ ComponentInstaller.class, FilesUtils.class }) public class ImportObjectTest { @Rule public PowerMockRule powerMockRule = new PowerMockRule(); /** * Test method for * {@link org.talend.dataprofiler.core.ui.action.actions.ImportObject#extractImportObject(org.talend.dataprofiler.ecos.model.IEcosComponent, java.util.List)} * . */ @Test public void testExtractImportObject() { try { IEcosComponent ecosMock = mock(IEcosComponent.class); PowerMockito.mockStatic(ComponentInstaller.class); File fileMock = mock(File.class); when(ComponentInstaller.unzip(anyString(), anyString())).thenReturn(fileMock); PowerMockito.mockStatic(FilesUtils.class); List<File> objFiles = new ArrayList<File>(); File objFileMock = mock(File.class); objFiles.add(objFileMock); List<File> jarFiles = new ArrayList<File>(); File jarFileMock = mock(File.class); jarFiles.add(jarFileMock); when(FilesUtils.getAllFilesFromFolder((File) anyObject(), (FilenameFilter) anyObject())).thenReturn(objFiles) .thenReturn(jarFiles); List<ReturnCode> information = new ArrayList<ReturnCode>(); List<ImportObject> importObjects = ImportObject.extractImportObject(ecosMock, information); assertEquals(importObjects.size(), 1); assertEquals(information.size(), 0); } catch (Exception e) { fail(e.getMessage()); } } /** * Test method for * {@link org.talend.dataprofiler.core.ui.action.actions.ImportObject#extractImportObject(org.talend.dataprofiler.ecos.model.IEcosComponent, java.util.List)} * . */ @Test public void testExtractImportObject2() { try { IEcosComponent ecosMock = mock(IEcosComponent.class); PowerMockito.mockStatic(ComponentInstaller.class); File fileMock = mock(File.class); when(ComponentInstaller.unzip(anyString(), anyString())).thenReturn(fileMock); PowerMockito.mockStatic(FilesUtils.class); List<File> objFiles = new ArrayList<File>(); when(FilesUtils.getAllFilesFromFolder((File) anyObject(), (FilenameFilter) anyObject())).thenReturn(objFiles); List<ReturnCode> information = new ArrayList<ReturnCode>(); List<ImportObject> importObjects = ImportObject.extractImportObject(ecosMock, information); assertEquals(importObjects.size(), 0); assertEquals(information.size(), 1); } catch (Exception e) { fail(e.getMessage()); } } }