/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.test.infrastructure.deployment;
import static org.mule.functional.services.TestServicesUtils.buildExpressionLanguageServiceFile;
import static org.mule.functional.services.TestServicesUtils.buildHttpServiceFile;
import static org.mule.functional.services.TestServicesUtils.buildSchedulerServiceFile;
import org.mule.runtime.container.api.MuleCoreExtension;
import org.mule.tck.junit4.AbstractMuleTestCase;
import java.util.LinkedList;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
public class AbstractFakeMuleServerTestCase extends AbstractMuleTestCase {
@Rule
public TemporaryFolder muleHome = new TemporaryFolder();
@Rule
public TemporaryFolder compilerWorkFolder = new TemporaryFolder();
protected FakeMuleServer muleServer;
protected List<MuleCoreExtension> getCoreExtensions() {
return new LinkedList<>();
}
@Before
public void setUp() throws Exception {
muleServer = new FakeMuleServer(muleHome.getRoot().getAbsolutePath(), getCoreExtensions());
muleServer.addZippedService(buildSchedulerServiceFile(compilerWorkFolder.newFolder("schedulerService")));
muleServer.addZippedService(buildHttpServiceFile(compilerWorkFolder.newFolder("httpService")));
muleServer.addZippedService(buildExpressionLanguageServiceFile(compilerWorkFolder.newFolder("expressionLanguageService")));
}
@After
public void tearDown() throws Exception {
if (muleServer != null) {
muleServer.stop();
muleServer = null;
}
}
}