diff options
author | Ashlee Young <ashlee@wildernessvoice.com> | 2015-12-06 07:15:03 -0800 |
---|---|---|
committer | Ashlee Young <ashlee@wildernessvoice.com> | 2015-12-08 10:55:21 -0800 |
commit | 76dc892491948adae5e5e62cf94448967e8d865b (patch) | |
tree | 7a33ef05cc583946db21edad627060f280a53549 /framework/src/onos/providers/netcfghost/src/test/java/org/onosproject/provider/netcfghost/NetworkConfigHostProviderTest.java | |
parent | d333c63fdec8b064184b0a26f8d777f267577fde (diff) |
Fixes bad POM file with ONOS commit 8c68536972f63069c263635c9d9f4f31d7f3e9a2
Change-Id: I7adb5a2d3738d53dbc41db7577768b0e7ced5450
Signed-off-by: Ashlee Young <ashlee@wildernessvoice.com>
Diffstat (limited to 'framework/src/onos/providers/netcfghost/src/test/java/org/onosproject/provider/netcfghost/NetworkConfigHostProviderTest.java')
-rw-r--r-- | framework/src/onos/providers/netcfghost/src/test/java/org/onosproject/provider/netcfghost/NetworkConfigHostProviderTest.java | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/framework/src/onos/providers/netcfghost/src/test/java/org/onosproject/provider/netcfghost/NetworkConfigHostProviderTest.java b/framework/src/onos/providers/netcfghost/src/test/java/org/onosproject/provider/netcfghost/NetworkConfigHostProviderTest.java new file mode 100644 index 00000000..a4f057cf --- /dev/null +++ b/framework/src/onos/providers/netcfghost/src/test/java/org/onosproject/provider/netcfghost/NetworkConfigHostProviderTest.java @@ -0,0 +1,132 @@ +/* + * Copyright 2014-2015 Open Networking Laboratory + * + * 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.onosproject.provider.netcfghost; + +import org.junit.Before; +import org.junit.Test; +import org.onlab.packet.IpAddress; +import org.onlab.packet.MacAddress; +import org.onlab.packet.VlanId; +import org.onosproject.net.DeviceId; +import org.onosproject.net.HostId; +import org.onosproject.net.HostLocation; +import org.onosproject.net.PortNumber; +import org.onosproject.net.host.DefaultHostDescription; +import org.onosproject.net.host.HostDescription; +import org.onosproject.net.host.HostProvider; +import org.onosproject.net.host.HostProviderService; +import org.onosproject.net.provider.AbstractProviderService; + +import java.util.HashSet; +import java.util.Set; + +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; + +/** + * Set of tests of the host location provider for CORD. + */ +public class NetworkConfigHostProviderTest { + private NetworkConfigHostProvider provider = new NetworkConfigHostProvider(); + private MockHostProviderService providerService = new MockHostProviderService(provider); + + private MacAddress mac = MacAddress.valueOf("c0:ff:ee:c0:ff:ee"); + private VlanId vlan = VlanId.vlanId(VlanId.UNTAGGED); + private DeviceId deviceId = DeviceId.deviceId("of:0000000000000001"); + private PortNumber port = PortNumber.portNumber(5); + private HostLocation hloc = new HostLocation(deviceId, port, 100); + private Set<IpAddress> ips = new HashSet<>(); + private HostId hostId = HostId.hostId(mac, vlan); + private HostDescription hostDescription; + + @Before + public void setUp() { + provider.providerService = providerService; + + // Initialize test variables + ips.add(IpAddress.valueOf("10.0.0.1")); + ips.add(IpAddress.valueOf("192.168.0.1")); + hostDescription = new DefaultHostDescription(mac, vlan, hloc, ips); + } + + @Test + public void testAddHost() throws Exception { + provider.addHost(mac, vlan, hloc, ips); + assertThat(providerService.hostId, is(hostId)); + assertThat(providerService.hostDescription, is(hostDescription)); + assertThat(providerService.event, is("hostDetected")); + providerService.clear(); + } + + @Test + public void testUpdateHost() throws Exception { + provider.updateHost(mac, vlan, hloc, ips); + assertThat(providerService.hostId, is(hostId)); + assertThat(providerService.hostDescription, is(hostDescription)); + assertThat(providerService.event, is("hostDetected")); + providerService.clear(); + } + + @Test + public void testRemoveHost() throws Exception { + provider.removeHost(mac, vlan); + assertThat(providerService.hostId, is(hostId)); + assertNull(providerService.hostDescription); + assertThat(providerService.event, is("hostVanished")); + providerService.clear(); + } + + /** + * Mock HostProviderService. + */ + private class MockHostProviderService + extends AbstractProviderService<HostProvider> + implements HostProviderService { + private HostId hostId = null; + private HostDescription hostDescription = null; + private String event = null; + + public MockHostProviderService(HostProvider provider) { + super(provider); + } + + @Override + public void hostDetected(HostId hostId, HostDescription hostDescription, boolean replaceIps) { + this.hostId = hostId; + this.hostDescription = hostDescription; + this.event = "hostDetected"; + } + + @Override + public void hostVanished(HostId hostId) { + this.hostId = hostId; + this.event = "hostVanished"; + } + + @Override + public void removeIpFromHost(HostId hostId, IpAddress ipAddress) { + // Note: This method is never used. + } + + public void clear() { + this.hostId = null; + this.hostDescription = null; + this.event = null; + } + } +} |