/******************************************************************************* * Copyright (c) 2006-2010 eBay Inc. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 *******************************************************************************/ package org.ebayopensource.turmeric.eclipse.functional.test.ft.wsdlsvc; //import java.util.LinkedHashSet; //import java.util.Set; import junit.framework.Assert; import org.ebayopensource.turmeric.eclipse.core.model.services.ServiceFromWsdlParamModel; import org.ebayopensource.turmeric.eclipse.functional.test.AbstractTestCase; import org.ebayopensource.turmeric.eclipse.functional.test.SoaTestConstants; import org.ebayopensource.turmeric.eclipse.resources.model.AssetInfo; import org.ebayopensource.turmeric.eclipse.resources.model.IAssetInfo; import org.ebayopensource.turmeric.eclipse.services.ui.wizards.ConsumeNewServiceWizard; import org.ebayopensource.turmeric.eclipse.services.ui.wizards.pages.ConsumeNewServiceWizardPage; import org.ebayopensource.turmeric.eclipse.test.util.ZipExtractor; import org.ebayopensource.turmeric.eclipse.test.utils.WsdlUtilTest; import org.ebayopensource.turmeric.eclipse.utils.plugin.WorkspaceUtil; import org.eclipse.core.resources.IProject; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; /** * @author shrao test for context menu option 'Add/Remove Required Service' * option on Impl project tests: - Add a service and validate - Remove * the added service & validate - Add multiple services & validate - * Remove multiple services & validate * */ public class CtxMenuAddRemoveServiceTest extends AbstractTestCase { static String dataDirectory = WsdlUtilTest.getPluginOSPath( SoaTestConstants.PLUGIN_ID,"data"); @BeforeClass public static void setUp(){ ZipExtractor zip = new ZipExtractor(); zip.extract(dataDirectory+"/wsdl.zip",dataDirectory +"/extractedData"); } @Test public void testCtxMenuAddRemoveService1() throws Exception { ConsumeNewServiceWizard addRemoveSvcWizard = new ConsumeNewServiceWizard(); ServiceFromWsdlParamModel model = new ServiceFromWsdlParamModel(); String PARENT_DIR = ServiceSetupCleanupValidate.getParentDir(); model.setServiceName("BlogsServiceV1"); model.setWorkspaceRootDirectory(PARENT_DIR); final String projectName = model.getServiceName() + "Impl"; final IProject project = WorkspaceUtil.getProject(projectName); ConsumeNewServiceWizardPage addRemoveSvcWizardPage = new ConsumeNewServiceWizardPage( project); AssetInfo service1 = new AssetInfo("Svc1", IAssetInfo.TYPE_PROJECT); addRemoveSvcWizardPage.getAddedServices().add(service1); // we can // access // addedServices // map like // this...without // set APIs try { boolean addSvc = addRemoveSvcWizard.performFinish(); Assert.assertTrue( "Add Services returned false. Check 'Add/Remove Services' context menu on SOA Consumer projects", addSvc == true); // validate Base<Service>Consumer.java is regenerated with the // operations in the added service } catch (Exception ex) { System.out.println("Exception in testCtxMenuAddRemoveService1: " + ex.getLocalizedMessage()); Assert.fail("Exception in testCtxMenuAddRemoveService1: " + ex.getLocalizedMessage()); } } @Test public void testCtxMenuAddRemoveService2() throws Exception { ConsumeNewServiceWizard addRemoveSvcWizard = new ConsumeNewServiceWizard(); ServiceFromWsdlParamModel model = new ServiceFromWsdlParamModel(); String PARENT_DIR = ServiceSetupCleanupValidate.getParentDir(); model.setServiceName("BlogsServiceV1"); model.setWorkspaceRootDirectory(PARENT_DIR); final String projectName = model.getServiceName() + "Impl"; final IProject project = WorkspaceUtil.getProject(projectName); ConsumeNewServiceWizardPage addRemoveSvcWizardPage = new ConsumeNewServiceWizardPage( project); AssetInfo service1 = new AssetInfo("Svc1", IAssetInfo.TYPE_PROJECT); addRemoveSvcWizardPage.getRemovedServices().add(service1); // we can // access // removedServices // map like // this...without // set APIs try { boolean addSvc = addRemoveSvcWizard.performFinish(); Assert.assertTrue( "Remove Services returned false. Check 'Add/Remove Services' context menu on SOA Consumer projects", addSvc == true); // validate Base<Service>Consumer.java is regenerated without // operations from the removed service } catch (Exception ex) { System.out.println("Exception in testCtxMenuAddRemoveService2: " + ex.getLocalizedMessage()); Assert.fail("Exception in testCtxMenuAddRemoveService2: " + ex.getLocalizedMessage()); } } @AfterClass public static void deInit(){ ensureClean(dataDirectory +"/extractedData"); } }