if (!file.exists()) {
return;
}
- XmlFileStorageAdapter storage = new XmlFileStorageAdapter();
- storage.setFileStorage(file);
+ try (XmlFileStorageAdapter storage = new XmlFileStorageAdapter()) {
+ storage.setFileStorage(file);
- List<ConfigSnapshotHolder> elementOptional = storage.loadLastConfigs();
- assertThat(elementOptional.size(), is(0));
+ List<ConfigSnapshotHolder> elementOptional = storage.loadLastConfigs();
+ assertThat(elementOptional.size(), is(0));
+ }
}
@Test(expected = NullPointerException.class)
public void testNoProperties() throws Exception {
- XmlFileStorageAdapter storage = new XmlFileStorageAdapter();
- storage.loadLastConfigs();
+ try (XmlFileStorageAdapter storage = new XmlFileStorageAdapter()) {
+ storage.loadLastConfigs();
+ }
}
@Test(expected = NullPointerException.class)
public void testNoProperties2() throws Exception {
- XmlFileStorageAdapter storage = new XmlFileStorageAdapter();
- storage.persistConfig(new ConfigSnapshotHolder() {
- @Override
- public String getConfigSnapshot() {
- return mock(String.class);
- }
-
- @Override
- public SortedSet<String> getCapabilities() {
- return new TreeSet<>();
- }
- } );
+ try (XmlFileStorageAdapter storage = new XmlFileStorageAdapter()) {
+ storage.persistConfig(new ConfigSnapshotHolder() {
+ @Override
+ public String getConfigSnapshot() {
+ return mock(String.class);
+ }
+
+ @Override
+ public SortedSet<String> getCapabilities() {
+ return new TreeSet<>();
+ }
+ });
+ }
}
static String createConfig() {
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
-import static org.opendaylight.controller.config.persist.impl.PersisterAggregator.PersisterWithConfiguration;
import com.google.common.collect.Lists;
import java.io.IOException;
import org.junit.Test;
import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder;
import org.opendaylight.controller.config.persist.api.Persister;
+import org.opendaylight.controller.config.persist.impl.PersisterAggregator.PersisterWithConfiguration;
import org.opendaylight.controller.config.persist.impl.osgi.ConfigPersisterActivator;
import org.opendaylight.controller.config.persist.impl.osgi.PropertiesProviderBaseImpl;
import org.opendaylight.controller.config.persist.storage.file.xml.XmlFileStorageAdapter;
@Test
public void testNoopAdapter() throws Exception {
final NoOpStorageAdapter noOpStorageAdapter = new NoOpStorageAdapter();
- final PersisterAggregator persisterAggregator =
- new PersisterAggregator(Lists.newArrayList(new PersisterWithConfiguration(noOpStorageAdapter, false)));
+ try (final PersisterAggregator persisterAggregator = new PersisterAggregator(
+ Lists.newArrayList(new PersisterWithConfiguration(noOpStorageAdapter, false)))) {
- noOpStorageAdapter.instantiate(null);
+ noOpStorageAdapter.instantiate(null);
- persisterAggregator.persistConfig(null);
- persisterAggregator.loadLastConfigs();
- persisterAggregator.persistConfig(null);
- persisterAggregator.loadLastConfigs();
+ persisterAggregator.persistConfig(null);
+ persisterAggregator.loadLastConfigs();
+ persisterAggregator.persistConfig(null);
+ persisterAggregator.loadLastConfigs();
- noOpStorageAdapter.close();
+ noOpStorageAdapter.close();
+ }
}
@Test
private Persister mockPersister(String name){
Persister result = mock(Persister.class);
doReturn("mock:" + name).when(result).toString();
+ doNothing().when(result).close();
return result;
}
@Test
public void loadLastConfig() throws Exception {
List<PersisterWithConfiguration> persisterWithConfigurations = new ArrayList<>();
- PersisterWithConfiguration first = new PersisterWithConfiguration(mock(Persister.class), false);
+ PersisterWithConfiguration first = new PersisterWithConfiguration(mockPersister("p0"), false);
ConfigSnapshotHolder ignored = mockHolder("ignored");
doReturn(Arrays.asList(ignored)).when(first.getStorage()).loadLastConfigs(); // should be ignored
persisterWithConfigurations.add(second);
persisterWithConfigurations.add(third);
- PersisterAggregator persisterAggregator = new PersisterAggregator(persisterWithConfigurations);
- List<ConfigSnapshotHolder> configSnapshotHolderOptional = persisterAggregator.loadLastConfigs();
- assertEquals(1, configSnapshotHolderOptional.size());
- assertEquals(used, configSnapshotHolderOptional.get(0));
+ try (PersisterAggregator persisterAggregator = new PersisterAggregator(persisterWithConfigurations)) {
+ List<ConfigSnapshotHolder> configSnapshotHolderOptional = persisterAggregator.loadLastConfigs();
+ assertEquals(1, configSnapshotHolderOptional.size());
+ assertEquals(used, configSnapshotHolderOptional.get(0));
+ }
}
}
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
+import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
MockitoAnnotations.initMocks(this);
LogbackRuntimeRegistration reg = mock(LogbackRuntimeRegistration.class);
doReturn(reg).when(runtimeRegistratorMock).register(any(LogbackRuntimeMXBean.class));
+ doNothing().when(reg).close();
}
@Test
assertLoggerWithAppenders("l2", "a22");
}
- private void createContextSetter(Multimap<String, String> loggersToAppenders) {
- ContextSetterImpl setter = new ContextSetterImpl(runtimeRegistratorMock);
+ private void createContextSetter(Multimap<String, String> loggersToAppenders) throws IOException {
+ try (ContextSetterImpl setter = new ContextSetterImpl(runtimeRegistratorMock)) {
- List<LoggerTO> logger = Lists.newArrayList();
- List<ConsoleAppenderTO> consoleAppenders = Lists.newArrayList();
+ List<LoggerTO> logger = Lists.newArrayList();
+ List<ConsoleAppenderTO> consoleAppenders = Lists.newArrayList();
+
+ for (String loggerName : loggersToAppenders.keySet()) {
+ LoggerTO l1 = createLogger(loggerName, loggersToAppenders.get(loggerName));
+ logger.add(l1);
+ for (String appenderName : loggersToAppenders.get(loggerName)) {
+ consoleAppenders.add(createConsoleAppender(appenderName));
+ }
- for (String loggerName : loggersToAppenders.keySet()) {
- LoggerTO l1 = createLogger(loggerName, loggersToAppenders.get(loggerName));
- logger.add(l1);
- for (String appenderName : loggersToAppenders.get(loggerName)) {
- consoleAppenders.add(createConsoleAppender(appenderName));
}
+ LogbackModule logbackModule = createLogbackModule(logger, consoleAppenders);
+ setter.updateContext(logbackModule);
}
-
- LogbackModule logbackModule = createLogbackModule(logger, consoleAppenders);
- setter.updateContext(logbackModule);
}
private void assertLoggerWithAppenders(String name, String... appenders) {
}
@After
- public void tearDown() {
+ public void tearDown() throws Exception {
+
+ if (member1Actor.behavior != null) {
+ member1Actor.behavior.close();
+ }
+ if (member2Actor.behavior != null) {
+ member2Actor.behavior.close();
+ }
+ if (member3Actor.behavior != null) {
+ member3Actor.behavior.close();
+ }
+
JavaTestKit.shutdownActorSystem(system);
}
assertEquals(name + " behavior state", expState, actor.behavior.state());
}
- void initializeLeaderBehavior(MemberActor actor, RaftActorContext context,
- int numActiveFollowers) throws Exception {
+ void initializeLeaderBehavior(MemberActor actor, RaftActorContext context, int numActiveFollowers) throws Exception {
// Leader sends immediate heartbeats - we don't care about it so ignore it.
actor.expectMessageClass(AppendEntriesReply.class, numActiveFollowers);
+
+ @SuppressWarnings("resource")
Leader leader = new Leader(context);
actor.waitForExpectedMessages(AppendEntriesReply.class);
+ // Delay assignment here so the AppendEntriesReply isn't forwarded to the behavior.
actor.behavior = leader;
actor.forwardCapturedMessagesToBehavior(AppendEntriesReply.class, ActorRef.noSender());
actor.clear();
+
}
TestActorRef<MemberActor> newMemberActor(String name) throws Exception {
DefaultConfigParamsImpl member2ConfigParams = newConfigParams();
member2Context.setConfigParams(member2ConfigParams);
- Follower member2Behavior = new Follower(member2Context);
- member2Actor.behavior = member2Behavior;
+ member2Actor.behavior = new Follower(member2Context);
// Create member 3's behavior initially as Follower
DefaultConfigParamsImpl member3ConfigParams = newConfigParams();
member3Context.setConfigParams(member3ConfigParams);
- Follower member3Behavior = new Follower(member3Context);
- member3Actor.behavior = member3Behavior;
+ member3Actor.behavior = new Follower(member3Context);
// Create member 1's behavior initially as Leader
member3Actor.clear();
testLog.info("setupInitialMemberBehaviors ending");
+
}
}
DefaultConfigParamsImpl member2ConfigParams = newConfigParams();
member2Context.setConfigParams(member2ConfigParams);
- Follower member2Behavior = new Follower(member2Context);
- member2Actor.behavior = member2Behavior;
+ member2Actor.behavior = new Follower(member2Context);
// Create member 1's behavior as Leader.
member2Context.getTermInformation().update(3, member1Context.getId());
testLog.info("setupInitialMember1AndMember2Behaviors ending");
+
}
}
DefaultConfigParamsImpl member2ConfigParams = newConfigParams();
member2Context.setConfigParams(member2ConfigParams);
- Follower member2Behavior = new Follower(member2Context);
- member2Actor.behavior = member2Behavior;
+ member2Actor.behavior = new Follower(member2Context);
// Create member 3's behavior initially as Follower
DefaultConfigParamsImpl member3ConfigParams = newConfigParams();
member3Context.setConfigParams(member3ConfigParams);
- Follower member3Behavior = new Follower(member3Context);
- member3Actor.behavior = member3Behavior;
+ member3Actor.behavior = new Follower(member3Context);
// Create member 1's behavior initially as Leader
BindingToNormalizedNodeCodec codec = new BindingToNormalizedNodeCodec(classLoadingStrategy, codecRegistry);
- BindingDOMDataBrokerAdapter bindingDOMDataBrokerAdapter = new BindingDOMDataBrokerAdapter(dataBroker, codec);
- Mockito.when(codecRegistry.toYangInstanceIdentifier(TOP_PATH)).thenReturn(yangInstanceIdentifier);
-
- ArgumentCaptor<ClusteredDOMDataChangeListener> clusteredDOMListener = ArgumentCaptor.
- forClass(ClusteredDOMDataChangeListener.class);
- ArgumentCaptor<LogicalDatastoreType> logicalDatastoreType = ArgumentCaptor.forClass(LogicalDatastoreType.class);
- ArgumentCaptor<AsyncDataBroker.DataChangeScope> dataChangeScope = ArgumentCaptor.
- forClass(AsyncDataBroker.DataChangeScope.class);
- ArgumentCaptor<YangInstanceIdentifier> yangInstanceIdentifier = ArgumentCaptor.
- forClass(YangInstanceIdentifier.class);
-
- TestListener listener = new TestListener();
-
- bindingDOMDataBrokerAdapter.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, TOP_PATH, listener,
- AsyncDataBroker.DataChangeScope.BASE);
- Mockito.verify(dataBroker).registerDataChangeListener(logicalDatastoreType.capture(), yangInstanceIdentifier.capture(),
- clusteredDOMListener.capture(), dataChangeScope.capture());
+ try (BindingDOMDataBrokerAdapter bindingDOMDataBrokerAdapter = new BindingDOMDataBrokerAdapter(dataBroker,
+ codec)) {
+ Mockito.when(codecRegistry.toYangInstanceIdentifier(TOP_PATH)).thenReturn(yangInstanceIdentifier);
+
+ ArgumentCaptor<ClusteredDOMDataChangeListener> clusteredDOMListener = ArgumentCaptor
+ .forClass(ClusteredDOMDataChangeListener.class);
+ ArgumentCaptor<LogicalDatastoreType> logicalDatastoreType = ArgumentCaptor
+ .forClass(LogicalDatastoreType.class);
+ ArgumentCaptor<AsyncDataBroker.DataChangeScope> dataChangeScope = ArgumentCaptor
+ .forClass(AsyncDataBroker.DataChangeScope.class);
+ ArgumentCaptor<YangInstanceIdentifier> yangInstanceIdentifier = ArgumentCaptor
+ .forClass(YangInstanceIdentifier.class);
+
+ TestListener listener = new TestListener();
+
+ bindingDOMDataBrokerAdapter.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, TOP_PATH,
+ listener, AsyncDataBroker.DataChangeScope.BASE);
+ Mockito.verify(dataBroker).registerDataChangeListener(logicalDatastoreType.capture(),
+ yangInstanceIdentifier.capture(), clusteredDOMListener.capture(), dataChangeScope.capture());
+ }
}
}
- public static NormalizedNode<?,?> getRootNode(NormalizedNode<?, ?> moduleNode, SchemaContext schemaContext) throws ReadFailedException, ExecutionException, InterruptedException {
- InMemoryDOMDataStore store = new InMemoryDOMDataStore("test", Executors.newSingleThreadExecutor());
- store.onGlobalContextUpdated(schemaContext);
+ public static NormalizedNode<?, ?> getRootNode(NormalizedNode<?, ?> moduleNode, SchemaContext schemaContext)
+ throws ReadFailedException, ExecutionException, InterruptedException {
+ try (InMemoryDOMDataStore store = new InMemoryDOMDataStore("test", Executors.newSingleThreadExecutor())) {
+ store.onGlobalContextUpdated(schemaContext);
- DOMStoreWriteTransaction writeTransaction = store.newWriteOnlyTransaction();
+ DOMStoreWriteTransaction writeTransaction = store.newWriteOnlyTransaction();
- writeTransaction.merge(YangInstanceIdentifier.builder().node(moduleNode.getNodeType()).build(), moduleNode);
+ writeTransaction.merge(YangInstanceIdentifier.builder().node(moduleNode.getNodeType()).build(), moduleNode);
- DOMStoreThreePhaseCommitCohort ready = writeTransaction.ready();
+ DOMStoreThreePhaseCommitCohort ready = writeTransaction.ready();
- ready.canCommit().get();
- ready.preCommit().get();
- ready.commit().get();
+ ready.canCommit().get();
+ ready.preCommit().get();
+ ready.commit().get();
- DOMStoreReadTransaction readTransaction = store.newReadOnlyTransaction();
+ DOMStoreReadTransaction readTransaction = store.newReadOnlyTransaction();
- CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read = readTransaction.read(YangInstanceIdentifier.builder().build());
+ CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> read = readTransaction
+ .read(YangInstanceIdentifier.builder().build());
- Optional<NormalizedNode<?, ?>> nodeOptional = read.checkedGet();
+ Optional<NormalizedNode<?, ?>> nodeOptional = read.checkedGet();
- return nodeOptional.get();
+ return nodeOptional.get();
+ }
}
public static NormalizedNode<?,?> findChildWithQName(Collection<NormalizedNode<?, ?>> collection, QName qName) {
public JDBCConnection(boolean server) {
try {
- ServerSocket s = new ServerSocket(50003);
- socket = s.accept();
- try {
- in = new DataInputStream(new BufferedInputStream(
- socket.getInputStream()));
- out = new DataOutputStream(new BufferedOutputStream(
- socket.getOutputStream()));
- new JDBCObjectReader();
- new Thread(this).start();
- } catch (Exception err) {
- err.printStackTrace();
+ try (ServerSocket s = new ServerSocket(50003)) {
+ socket = s.accept();
+ try {
+ in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
+ out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
+ new JDBCObjectReader();
+ new Thread(this).start();
+ } catch (Exception err) {
+ err.printStackTrace();
+ }
}
} catch (Exception err) {
err.printStackTrace();
system = null;
}
- @Test
- public void testRemoteRpcProvider() throws Exception {
- final RemoteRpcProvider rpcProvider = new RemoteRpcProvider(system, mock(DOMRpcProviderService.class),
- new RemoteRpcProviderConfig(system.settings().config()));
- final Broker.ProviderSession session = mock(Broker.ProviderSession.class);
- final SchemaService schemaService = mock(SchemaService.class);
- when(schemaService.getGlobalContext()). thenReturn(mock(SchemaContext.class));
- when(session.getService(SchemaService.class)).thenReturn(schemaService);
- when(session.getService(DOMRpcService.class)).thenReturn(mock(DOMRpcService.class));
+ @Test
+ public void testRemoteRpcProvider() throws Exception {
+ try (final RemoteRpcProvider rpcProvider = new RemoteRpcProvider(system, mock(DOMRpcProviderService.class),
+ new RemoteRpcProviderConfig(system.settings().config()))) {
+ final Broker.ProviderSession session = mock(Broker.ProviderSession.class);
+ final SchemaService schemaService = mock(SchemaService.class);
+ when(schemaService.getGlobalContext()).thenReturn(mock(SchemaContext.class));
+ when(session.getService(SchemaService.class)).thenReturn(schemaService);
+ when(session.getService(DOMRpcService.class)).thenReturn(mock(DOMRpcService.class));
- rpcProvider.onSessionInitiated(session);
+ rpcProvider.onSessionInitiated(session);
- final ActorRef actorRef = Await.result(
- system.actorSelection(
- moduleConfig.getRpcManagerPath()).resolveOne(Duration.create(1, TimeUnit.SECONDS)),
- Duration.create(2, TimeUnit.SECONDS));
+ final ActorRef actorRef = Await.result(
+ system.actorSelection(moduleConfig.getRpcManagerPath()).resolveOne(
+ Duration.create(1, TimeUnit.SECONDS)), Duration.create(2, TimeUnit.SECONDS));
- Assert.assertTrue(actorRef.path().toString().contains(moduleConfig.getRpcManagerPath()));
- }
+ Assert.assertTrue(actorRef.path().toString().contains(moduleConfig.getRpcManagerPath()));
+ }
+ }
}