package org.jolokia.mule;
/*
* Copyright 2009-2011 Roland Huss
*
* 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
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.IOException;
import java.net.*;
import org.jolokia.test.util.EnvTestUtil;
import org.mule.api.MuleException;
import org.mule.api.lifecycle.*;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import static org.testng.Assert.*;
/**
* @author roland
* @since 30.08.11
*/
public abstract class JolokiaMuleAgentTestCase {
private JolokiaMuleAgent agent = null;
protected abstract JolokiaMuleAgent createJolokiaMuleAgent();
@BeforeMethod
public void setup() {
agent = createJolokiaMuleAgent();
}
@Test
public void initialise() {
agent.setDebug(true);
agent.setPort(1811);
agent.setDebugMaxEntries(1);
agent.setHistoryMaxEntries(2);
agent.setMaxCollectionSize(3);
agent.setMaxDepth(4);
agent.setMaxObjects(5);
agent.setUser("roland");
agent.setPassword("s!cr!t");
assertEquals(agent.isDebug(),true);
assertEquals(agent.getPort(),1811);
assertEquals(agent.getDebugMaxEntries(),1);
assertEquals(agent.getHistoryMaxEntries(),2);
assertEquals(agent.getMaxCollectionSize(),3);
assertEquals(agent.getMaxDepth(),4);
assertEquals(agent.getMaxObjects(),5);
assertEquals(agent.getUser(),"roland");
assertEquals(agent.getPassword(),"s!cr!t");
}
@Test
public void description() {
agent.setPort(4711);
String description = agent.getDescription();
assertTrue(description.contains("4711"));
}
@Test(expectedExceptions = StartException.class)
public void illegalStart() throws MuleException {
agent.start();
}
@Test(expectedExceptions = StopException.class)
public void illegalStop() throws MuleException {
agent.stop();
}
@Test
public void lifecycleHooks() throws InitialisationException {
agent.registered();
agent.initialise();
agent.dispose();
agent.unregistered();
}
@Test
public void startStop() throws MuleException, IOException {
agent.setPort(EnvTestUtil.getFreePort());
agent.setUser("roland");
agent.setPassword("s!cr!et");
agent.initialise();
agent.start();
agent.stop();
}
@Test(expectedExceptions = StartException.class)
public void startFailed() throws IOException, MuleException {
int port = EnvTestUtil.getFreePort();
// Block port now ...
ServerSocket s = new ServerSocket();
String host = "localhost";
try {
System.out.println("Port: " + port);
s.bind(new InetSocketAddress(Inet4Address.getByName(host),port));
agent.setPort(port);
agent.setHost(host);
agent.initialise();
agent.start();
} finally {
s.close();
}
}
@Test
public void stop() {
}
}