diff options
Diffstat (limited to 'framework/src/onos/core/api/src/test/java')
4 files changed, 256 insertions, 1 deletions
diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/net/intent/HostToHostIntentTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/net/intent/HostToHostIntentTest.java index 3f7650e4..c3a95473 100644 --- a/framework/src/onos/core/api/src/test/java/org/onosproject/net/intent/HostToHostIntentTest.java +++ b/framework/src/onos/core/api/src/test/java/org/onosproject/net/intent/HostToHostIntentTest.java @@ -16,15 +16,18 @@ package org.onosproject.net.intent; import org.junit.Test; +import org.onlab.util.DataRateUnit; import org.onosproject.TestApplicationId; import org.onosproject.core.ApplicationId; import org.onosproject.net.HostId; import org.onosproject.net.flow.TrafficSelector; - +import org.onosproject.net.intent.constraint.BandwidthConstraint; +import com.google.common.collect.ImmutableList; import com.google.common.testing.EqualsTester; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.is; import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; import static org.onosproject.net.NetTestTools.hid; @@ -102,6 +105,55 @@ public class HostToHostIntentTest extends IntentTest { .testEquals(); } + @Test + public void testImplicitConstraintsAreAdded() { + final Constraint other = BandwidthConstraint.of(1, DataRateUnit.GBPS); + final HostToHostIntent intent = HostToHostIntent.builder() + .appId(APPID) + .one(id1) + .two(id2) + .selector(selector) + .treatment(treatment) + .constraints(ImmutableList.of(other)) + .build(); + + assertThat(intent.constraints(), hasItem(HostToHostIntent.NOT_OPTICAL)); + } + + @Test + public void testImplicitConstraints() { + final HostToHostIntent implicit = HostToHostIntent.builder() + .appId(APPID) + .one(id1) + .two(id2) + .selector(selector) + .treatment(treatment) + .build(); + final HostToHostIntent empty = HostToHostIntent.builder() + .appId(APPID) + .one(id1) + .two(id2) + .selector(selector) + .treatment(treatment) + .constraints(ImmutableList.of()) + .build(); + final HostToHostIntent exact = HostToHostIntent.builder() + .appId(APPID) + .one(id1) + .two(id2) + .selector(selector) + .treatment(treatment) + .constraints(ImmutableList.of(HostToHostIntent.NOT_OPTICAL)) + .build(); + + new EqualsTester() + .addEqualityGroup(implicit.constraints(), + empty.constraints(), + exact.constraints()) + .testEquals(); + + } + @Override protected Intent createOne() { return HostToHostIntent.builder() diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/DefaultPacketRequestTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/DefaultPacketRequestTest.java new file mode 100644 index 00000000..592cd983 --- /dev/null +++ b/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/DefaultPacketRequestTest.java @@ -0,0 +1,93 @@ +/* + * Copyright 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.net.packet; + +import org.junit.Test; +import org.onosproject.core.DefaultApplicationId; +import org.onosproject.net.NetTestTools; +import org.onosproject.net.flow.DefaultTrafficSelector; +import org.onosproject.net.flow.TrafficSelector; + +import com.google.common.testing.EqualsTester; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; +import static org.onlab.junit.ImmutableClassChecker.assertThatClassIsImmutable; + +/** + * Unit tests for the DefaultPacketRequest class. + */ +public class DefaultPacketRequestTest { + + private final TrafficSelector selector = DefaultTrafficSelector + .builder() + .matchIcmpCode((byte) 1) + .build(); + + private final DefaultPacketRequest packetRequest1 = + new DefaultPacketRequest(DefaultTrafficSelector.emptySelector(), + PacketPriority.CONTROL, + NetTestTools.APP_ID); + private final DefaultPacketRequest sameAsacketRequest1 = + new DefaultPacketRequest(DefaultTrafficSelector.emptySelector(), + PacketPriority.CONTROL, + NetTestTools.APP_ID); + private final DefaultPacketRequest packetRequest2 = + new DefaultPacketRequest(selector, + PacketPriority.CONTROL, + NetTestTools.APP_ID); + private final DefaultPacketRequest packetRequest3 = + new DefaultPacketRequest(DefaultTrafficSelector.emptySelector(), + PacketPriority.REACTIVE, + NetTestTools.APP_ID); + private final DefaultPacketRequest packetRequest4 = + new DefaultPacketRequest(DefaultTrafficSelector.emptySelector(), + PacketPriority.CONTROL, + new DefaultApplicationId(1, "foo")); + + /** + * Tests the operation of the equals(), toAstring() and hashCode() methods. + */ + @Test + public void testEquals() { + new EqualsTester() + .addEqualityGroup(packetRequest1, sameAsacketRequest1) + .addEqualityGroup(packetRequest2) + .addEqualityGroup(packetRequest3) + .addEqualityGroup(packetRequest4) + .testEquals(); + } + + /** + * Tests that building and fetching from a DefaultPacketRequest is correct. + */ + @Test + public void testConstruction() { + assertThat(packetRequest1.priority(), is(PacketPriority.CONTROL)); + assertThat(packetRequest1.priority().priorityValue(), + is(PacketPriority.CONTROL.priorityValue())); + assertThat(packetRequest1.selector(), is(DefaultTrafficSelector.emptySelector())); + assertThat(packetRequest1.appId(), is(NetTestTools.APP_ID)); + } + + /** + * Checks that the DefaultPacketRequest class is immutable. + */ + @Test + public void testImmutability() { + assertThatClassIsImmutable(DefaultPacketRequest.class); + } +} diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/PacketEventTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/PacketEventTest.java new file mode 100644 index 00000000..f0d45f0c --- /dev/null +++ b/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/PacketEventTest.java @@ -0,0 +1,51 @@ +/* + * Copyright 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.net.packet; + +import org.junit.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThanOrEqualTo; +import static org.hamcrest.Matchers.is; + +/** + * Unit tests for PacketEvent class. + */ +public class PacketEventTest { + + OutboundPacket packet; + + @Test + public void testConstruction1() { + long time = System.currentTimeMillis(); + PacketEvent event = new PacketEvent(PacketEvent.Type.EMIT, packet); + + assertThat(event.type(), is(PacketEvent.Type.EMIT)); + assertThat(event.subject(), is(packet)); + assertThat(event.time(), greaterThanOrEqualTo(time)); + } + + @Test + public void testConstruction2() { + long time = 12345678; + PacketEvent event = new PacketEvent(PacketEvent.Type.EMIT, packet, time); + + assertThat(event.type(), is(PacketEvent.Type.EMIT)); + assertThat(event.subject(), is(packet)); + assertThat(event.time(), is(time)); + } + +} diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/PacketProcessorTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/PacketProcessorTest.java new file mode 100644 index 00000000..7b2ef541 --- /dev/null +++ b/framework/src/onos/core/api/src/test/java/org/onosproject/net/packet/PacketProcessorTest.java @@ -0,0 +1,59 @@ +/* + * Copyright 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.net.packet; + +import org.junit.Test; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThanOrEqualTo; +import static org.hamcrest.Matchers.lessThan; + +/** + * Unit tests for static APIs in the packet processor class. + */ +public class PacketProcessorTest { + + /** + * Tests a priority in the advisor range. + */ + @Test + public void testAdvisorPriorities() { + int advisorPriority = PacketProcessor.advisor(3); + assertThat(advisorPriority, lessThan(PacketProcessor.ADVISOR_MAX)); + assertThat(advisorPriority, greaterThanOrEqualTo(0)); + } + + /** + * Tests a priority in the director range. + */ + @Test + public void testDirectorPriorities() { + int directorPriority = PacketProcessor.director(3); + assertThat(directorPriority, lessThan(PacketProcessor.DIRECTOR_MAX)); + assertThat(directorPriority, greaterThanOrEqualTo(PacketProcessor.ADVISOR_MAX)); + } + + /** + * Tests a priority in the observer range. + */ + @Test + public void testObserverPriorities() { + int observerPriority = PacketProcessor.observer(3); + assertThat(observerPriority, lessThan(PacketProcessor.OBSERVER_MAX)); + assertThat(observerPriority, greaterThanOrEqualTo(PacketProcessor.DIRECTOR_MAX)); + } + +} |