/* * Copyright (c) 2016 Cisco and/or its affiliates. * * 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. */ package io.fd.hc2vpp.common.integration; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.Matchers.empty; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import static org.mockito.MockitoAnnotations.initMocks; import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.name.Named; import com.google.inject.testing.fieldbinder.Bind; import com.google.inject.testing.fieldbinder.BoundFieldModule; import io.fd.hc2vpp.common.translate.util.JvppReplyConsumer; import io.fd.honeycomb.data.init.ShutdownHandler; import io.fd.honeycomb.translate.read.ReaderFactory; import java.util.HashSet; import java.util.Set; import org.junit.Test; import org.mockito.Mock; import org.opendaylight.controller.md.sal.binding.api.DataBroker; public class VppCommonModuleTest { @Named("honeycomb-context") @Bind @Mock private DataBroker honeycombContext; @Mock @Bind private ShutdownHandler shutdownHandler; @Inject private Set readerFactories = new HashSet<>(); @Test public void testConfigure() throws Exception { initMocks(this); Guice.createInjector(new VppCommonModule(), BoundFieldModule.of(this)).injectMembers(this); assertThat(readerFactories, is(not(empty()))); assertEquals(15, JvppReplyConsumer.JvppReplyTimeoutHolder.getTimeout()); } @Test public void testConfigureJVppTimeoutIgnoreOnRetry() { initMocks(this); Guice.createInjector(new VppCommonModule(), BoundFieldModule.of(this)).injectMembers(this); JvppReplyConsumer.JvppReplyTimeoutHolder.setupTimeout(1); // reconfiguration is ignored assertEquals(15, JvppReplyConsumer.JvppReplyTimeoutHolder.getTimeout()); } }