package org.opendaylight.controller.netconf.impl;
-import com.google.common.base.Optional;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import io.netty.channel.Channel;
-import java.util.List;
-import java.util.Set;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.opendaylight.controller.netconf.api.monitoring.NetconfManagementSession;
-import org.opendaylight.controller.netconf.impl.NetconfServerSession;
-import org.opendaylight.controller.netconf.impl.NetconfServerSessionListener;
-import org.opendaylight.controller.netconf.impl.osgi.NetconfMonitoringServiceImpl;
-import org.opendaylight.controller.netconf.mapping.api.Capability;
-import org.opendaylight.controller.netconf.mapping.api.NetconfOperationProvider;
-import org.opendaylight.controller.netconf.mapping.api.NetconfOperationService;
-import org.opendaylight.controller.netconf.mapping.api.NetconfOperationServiceSnapshot;
-import org.opendaylight.controller.netconf.util.messages.NetconfHelloMessageAdditionalHeader;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.*;
-
public class NetconfMonitoringServiceImplTest {
- private NetconfMonitoringServiceImpl service;
-
- @Mock
- private NetconfOperationProvider operationProvider;
- @Mock
- private NetconfManagementSession managementSession;
- @Mock
- private NetconfOperationServiceSnapshot snapshot;
- @Mock
- private NetconfOperationService operationService;
-
- @Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
- service = new NetconfMonitoringServiceImpl(operationProvider);
- }
-
- @Test
- public void testSessions() throws Exception {
- doReturn("sessToStr").when(managementSession).toString();
- service.onSessionUp(managementSession);
- List list = Lists.newArrayList(managementSession);
- }
-
- @Test(expected = RuntimeException.class)
- public void testGetSchemas() throws Exception {
- doThrow(RuntimeException.class).when(operationProvider).openSnapshot(anyString());
- service.getSchemas();
- }
-
- @Test(expected = IllegalStateException.class)
- public void testGetSchemas2() throws Exception {
- doThrow(Exception.class).when(operationProvider).openSnapshot(anyString());
- service.getSchemas();
- }
-
- @Test
- public void testGetSchemas3() throws Exception {
- doReturn("").when(managementSession).toString();
- Capability cap = mock(Capability.class);
- Set caps = Sets.newHashSet(cap);
- Set services = Sets.newHashSet(operationService);
- doReturn(snapshot).when(operationProvider).openSnapshot(anyString());
- doReturn(services).when(snapshot).getServices();
- doReturn(caps).when(operationService).getCapabilities();
- Optional opt = mock(Optional.class);
- doReturn(opt).when(cap).getCapabilitySchema();
- doReturn(true).when(opt).isPresent();
- doReturn(opt).when(cap).getModuleNamespace();
- doReturn("namespace").when(opt).get();
- Optional optRev = Optional.of("rev");
- doReturn(optRev).when(cap).getRevision();
- doReturn(Optional.of("modName")).when(cap).getModuleName();
- doReturn(Optional.of(Lists.newArrayList("loc"))).when(cap).getLocation();
- doNothing().when(snapshot).close();
-
- assertNotNull(service.getSchemas());
- verify(snapshot, times(1)).close();
-
- NetconfServerSessionListener sessionListener = mock(NetconfServerSessionListener.class);
- Channel channel = mock(Channel.class);
- NetconfHelloMessageAdditionalHeader header = new NetconfHelloMessageAdditionalHeader("name", "addr", "2", "tcp", "id");
- NetconfServerSession sm = new NetconfServerSession(sessionListener, channel, 10, header);
- doNothing().when(sessionListener).onSessionUp(any(NetconfServerSession.class));
- sm.sessionUp();
- service.onSessionUp(sm);
- assertEquals(1, service.getSessions().getSession().size());
-
- assertEquals(Long.valueOf(10), service.getSessions().getSession().get(0).getSessionId());
-
- service.onSessionDown(sm);
- assertEquals(0, service.getSessions().getSession().size());
- }
+ // TODO redo test
}