ARTEMIS-737 small improvements on junit tests

This commit is contained in:
Clebert Suconic 2016-09-29 14:51:05 -04:00
parent 372fd199dd
commit fe24c5e9a4
3 changed files with 76 additions and 4 deletions

View File

@ -46,6 +46,7 @@ import org.apache.activemq.artemis.core.server.BindingQueryResult;
import org.apache.activemq.artemis.core.server.Queue;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.apache.activemq.artemis.jms.client.ActiveMQDestination;
import org.apache.activemq.artemis.jms.client.DefaultConnectionProperties;
import org.apache.activemq.artemis.jms.server.config.JMSConfiguration;
import org.apache.activemq.artemis.jms.server.config.impl.FileJMSConfiguration;
import org.apache.activemq.artemis.jms.server.config.impl.JMSConfigurationImpl;
@ -89,11 +90,34 @@ public class EmbeddedJMSResource extends ExternalResource {
* Create a default EmbeddedJMSResource
*/
public EmbeddedJMSResource() {
configuration = new ConfigurationImpl().setName(SERVER_NAME).setPersistenceEnabled(false).setSecurityEnabled(false).addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getName()));
this(false);
}
/**
* Create a default EmbeddedJMSResource
*/
public EmbeddedJMSResource(boolean useNetty) {
try {
configuration = new ConfigurationImpl().setName(SERVER_NAME).setPersistenceEnabled(false).setSecurityEnabled(false).addAcceptorConfiguration("invm", "vm://0");
if (useNetty) {
configuration.addAcceptorConfiguration("netty", DefaultConnectionProperties.DEFAULT_BROKER_BIND_URL);
}
jmsConfiguration = new JMSConfigurationImpl();
init();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* The acceptor used
*/
public EmbeddedJMSResource addAcceptor(String name, String uri) throws Exception {
configuration.addAcceptorConfiguration(name, uri);
return this;
}
/**

View File

@ -0,0 +1,48 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.activemq.artemis.junit;
import javax.jms.Connection;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
public class PlainTest {
@Rule
public EmbeddedJMSResource server = new EmbeddedJMSResource(true);
@Test
public void testPlain() throws Exception {
ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory();
Connection connection = cf.createConnection();
Session session = connection.createSession();
MessageProducer producer = session.createProducer(session.createQueue("queue"));
producer.send(session.createTextMessage("hello"));
connection.start();
MessageConsumer consumer = session.createConsumer(session.createQueue("queue"));
Assert.assertNotNull(consumer.receive(5000));
connection.close();
}
}