From 0578156b721fa01c8c645b8f9625ecebdb6449e4 Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Wed, 27 Jul 2016 11:05:51 +0200 Subject: HONEYCOMB-130: Separate v3po plugin from HC infra Creating folders: - common/ - infra/ - v3po/ - vpp-common/ Change-Id: I2c39e1b17e39e7c0f0628f44aa5fe08563fa06e4 Signed-off-by: Maros Marsalek --- .../impl/HoneycombNotificationCollectorTest.java | 63 -------------- .../impl/NotificationProducerRegistryTest.java | 98 ---------------------- .../impl/NotificationProducerTrackerTest.java | 67 --------------- .../NoetificationToNetconfModuleTest.java | 81 ------------------ 4 files changed, 309 deletions(-) delete mode 100644 v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/HoneycombNotificationCollectorTest.java delete mode 100644 v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerRegistryTest.java delete mode 100644 v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerTrackerTest.java delete mode 100644 v3po/notification/impl/src/test/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/notification/impl/rev160601/NoetificationToNetconfModuleTest.java (limited to 'v3po/notification/impl/src/test/java') diff --git a/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/HoneycombNotificationCollectorTest.java b/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/HoneycombNotificationCollectorTest.java deleted file mode 100644 index f55d3abdf..000000000 --- a/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/HoneycombNotificationCollectorTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * 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.honeycomb.v3po.notification.impl; - -import static org.mockito.Mockito.atLeast; -import static org.mockito.Mockito.verify; - -import com.google.common.collect.Lists; -import io.fd.honeycomb.v3po.notification.ManagedNotificationProducer; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionStart; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionStartBuilder; - -public class HoneycombNotificationCollectorTest { - - private NotificationProducerRegistry notificationRegistry; - @Mock - private NotificationPublishService notificationService; - @Mock - private ManagedNotificationProducer producer; - - @Before - public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - notificationRegistry = new NotificationProducerRegistry(Lists.newArrayList(producer)); - } - - @Test - public void testNotificationTypes() throws Exception { - final HoneycombNotificationCollector honeycombNotificationCollector = - new HoneycombNotificationCollector(notificationService, notificationRegistry); - - honeycombNotificationCollector.getNotificationTypes(); - verify(producer, atLeast(1)).getNotificationTypes(); - } - - @Test - public void testCollect() throws Exception { - final HoneycombNotificationCollector honeycombNotificationCollector = - new HoneycombNotificationCollector(notificationService, notificationRegistry); - - final NetconfSessionStart notif = new NetconfSessionStartBuilder().build(); - honeycombNotificationCollector.onNotification(notif); - verify(notificationService).putNotification(notif); - } -} \ No newline at end of file diff --git a/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerRegistryTest.java b/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerRegistryTest.java deleted file mode 100644 index 5fdf502b9..000000000 --- a/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerRegistryTest.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * 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.honeycomb.v3po.notification.impl; - -import static org.hamcrest.CoreMatchers.hasItem; -import static org.hamcrest.CoreMatchers.is; -import static org.mockito.Mockito.doReturn; - -import com.google.common.collect.Lists; -import com.google.common.collect.Multimap; -import io.fd.honeycomb.v3po.notification.ManagedNotificationProducer; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Map; -import java.util.Set; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionEnd; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionStart; -import org.opendaylight.yangtools.yang.binding.Notification; -import org.opendaylight.yangtools.yang.common.QName; - -public class NotificationProducerRegistryTest { - - @Mock - private ManagedNotificationProducer producer; - @Mock - private ManagedNotificationProducer producer2; - - @Before - public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - doReturn(Collections.singleton(NetconfCapabilityChange.class)) - .when(producer).getNotificationTypes(); - final ArrayList producer2Notifications = Lists.newArrayList(); - producer2Notifications.add(NetconfSessionStart.class); - producer2Notifications.add(NetconfSessionEnd.class); - doReturn(producer2Notifications).when(producer2).getNotificationTypes(); - } - - @Test - public void testNotificationTypes() throws Exception { - final NotificationProducerRegistry notificationRegistry = - new NotificationProducerRegistry(Lists.newArrayList(producer, producer2)); - - final Set> notificationTypes = - notificationRegistry.getNotificationTypes(); - - Assert.assertThat(notificationTypes, hasItem(NetconfSessionEnd.class)); - Assert.assertThat(notificationTypes, hasItem(NetconfSessionStart.class)); - Assert.assertThat(notificationTypes, hasItem(NetconfCapabilityChange.class)); - } - - @Test - public void testNotificationTypesMapped() throws Exception { - final NotificationProducerRegistry notificationRegistry = - new NotificationProducerRegistry(Lists.newArrayList(producer, producer2)); - - final Multimap notificationTypes = - notificationRegistry.getNotificationProducerQNames(); - - Assert.assertThat(notificationTypes.keySet(), hasItem(producer)); - Assert.assertThat(notificationTypes.get(producer), hasItem(NetconfCapabilityChange.QNAME)); - Assert.assertThat(notificationTypes.keySet(), hasItem(producer2)); - Assert.assertThat(notificationTypes.get(producer2), hasItem(NetconfSessionStart.QNAME)); - Assert.assertThat(notificationTypes.get(producer2), hasItem(NetconfSessionEnd.QNAME)); - - final Map notificationQNameToProducer = - notificationRegistry.getNotificationQNameToProducer(); - - Assert.assertThat(notificationQNameToProducer.keySet(), hasItem(NetconfCapabilityChange.QNAME)); - Assert.assertThat(notificationQNameToProducer.get(NetconfCapabilityChange.QNAME), is(producer)); - - Assert.assertThat(notificationQNameToProducer.keySet(), hasItem(NetconfSessionStart.QNAME)); - Assert.assertThat(notificationQNameToProducer.keySet(), hasItem(NetconfSessionEnd.QNAME)); - Assert.assertThat(notificationQNameToProducer.get(NetconfSessionStart.QNAME), is(producer2)); - Assert.assertThat(notificationQNameToProducer.get(NetconfSessionEnd.QNAME), is(producer2)); - - - } -} \ No newline at end of file diff --git a/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerTrackerTest.java b/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerTrackerTest.java deleted file mode 100644 index b62bf0709..000000000 --- a/v3po/notification/impl/src/test/java/io/fd/honeycomb/v3po/notification/impl/NotificationProducerTrackerTest.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * 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.honeycomb.v3po.notification.impl; - -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.verify; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import io.fd.honeycomb.v3po.notification.ManagedNotificationProducer; -import io.fd.honeycomb.v3po.notification.NotificationCollector; -import java.util.Collections; -import java.util.Set; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfSessionStart; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; - -public class NotificationProducerTrackerTest { - - private NotificationProducerRegistry registry; - @Mock - private DOMNotificationSubscriptionListenerRegistry subscriptionRegistry; - @Mock - private NotificationCollector collector; - @Mock - private ManagedNotificationProducer producer; - - @Before - public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - doReturn(Collections.singleton(NetconfSessionStart.class)).when(producer).getNotificationTypes(); - registry = new NotificationProducerRegistry(Lists.newArrayList(producer)); - } - - @Test - public void name() throws Exception { - final NotificationProducerTracker notificationProducerTracker = - new NotificationProducerTracker(registry, collector, subscriptionRegistry); - verify(subscriptionRegistry).registerSubscriptionListener(notificationProducerTracker); - - final Set subscriptions = Sets.newHashSet(); - subscriptions.add(SchemaPath.create(true, NetconfSessionStart.QNAME)); - notificationProducerTracker.onSubscriptionChanged(subscriptions); - - verify(producer).start(collector); - - notificationProducerTracker.onSubscriptionChanged(Sets.newHashSet()); - verify(producer).stop(); - } -} \ No newline at end of file diff --git a/v3po/notification/impl/src/test/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/notification/impl/rev160601/NoetificationToNetconfModuleTest.java b/v3po/notification/impl/src/test/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/notification/impl/rev160601/NoetificationToNetconfModuleTest.java deleted file mode 100644 index ccfb4bb9d..000000000 --- a/v3po/notification/impl/src/test/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/notification/impl/rev160601/NoetificationToNetconfModuleTest.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * 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 org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.notification.impl.rev160601; - -import javax.annotation.Nonnull; -import org.hamcrest.CoreMatchers; -import org.junit.Assert; -import org.junit.Test; -import org.opendaylight.controller.md.sal.dom.api.DOMNotification; -import org.opendaylight.netconf.notifications.NetconfNotification; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.*; -import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext; -import org.opendaylight.yangtools.yang.binding.YangModuleInfo; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; - -public class NoetificationToNetconfModuleTest { - - private final DOMNotification notification = new DOMNotification() { - - private QName qname = NetconfSessionStart.QNAME; - private YangInstanceIdentifier.NodeIdentifier nodeIdentifier = - new YangInstanceIdentifier.NodeIdentifier(NetconfSessionStart.QNAME); - - @Nonnull - @Override - public SchemaPath getType() { - return SchemaPath.create(true, qname); - } - - @Nonnull - @Override - public ContainerNode getBody() { - return Builders.containerBuilder() - .withNodeIdentifier(nodeIdentifier) - .withChild(ImmutableNodes.leafNode(QName.create(qname, "username"), "user")) - .withChild(ImmutableNodes.leafNode(QName.create(qname, "session-id"), 1)) - .withChild(ImmutableNodes.leafNode(QName.create(qname, "source-host"), "127.0.0.1")) - .build(); - } - }; - - @Test - public void notificationToXml() throws Exception { - final ModuleInfoBackedContext moduleInfoBackedContext = getModuleInfoBackedCOntext(); - - final NetconfNotification netconfNotification = HoneycombNotificationToNetconfTranslatorModule - .notificationToXml(notification, moduleInfoBackedContext.getSchemaContext()); - - final String notificationString = netconfNotification.toString(); - Assert.assertThat(notificationString, CoreMatchers.containsString("user")); - Assert.assertThat(notificationString, CoreMatchers.containsString("eventTime")); - } - - private static ModuleInfoBackedContext getModuleInfoBackedCOntext() { - final ModuleInfoBackedContext moduleInfoBackedContext = ModuleInfoBackedContext.create(); - final YangModuleInfo ietfNetconfNotifModuleInfo = - org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.$YangModuleInfoImpl - .getInstance(); - moduleInfoBackedContext.registerModuleInfo(ietfNetconfNotifModuleInfo); - return moduleInfoBackedContext; - } -} \ No newline at end of file -- cgit 1.2.3-korg