aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/test/java/org/onosproject/store/cluster/messaging/ClusterMessageTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/test/java/org/onosproject/store/cluster/messaging/ClusterMessageTest.java')
-rw-r--r--framework/src/onos/core/api/src/test/java/org/onosproject/store/cluster/messaging/ClusterMessageTest.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/store/cluster/messaging/ClusterMessageTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/store/cluster/messaging/ClusterMessageTest.java
new file mode 100644
index 00000000..22f841b4
--- /dev/null
+++ b/framework/src/onos/core/api/src/test/java/org/onosproject/store/cluster/messaging/ClusterMessageTest.java
@@ -0,0 +1,82 @@
+/*
+ * 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.store.cluster.messaging;
+
+import org.junit.Test;
+import org.onosproject.cluster.NodeId;
+
+import com.google.common.testing.EqualsTester;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+
+/**
+ * Units tests for ClusterMessage class.
+ */
+public class ClusterMessageTest {
+ private final MessageSubject subject1 = new MessageSubject("Message 1");
+ private final MessageSubject subject2 = new MessageSubject("Message 2");
+
+ private final byte[] payload1 = {0, 1, 2, 3, 4, 5};
+ private final byte[] payload2 = {0, 1, 2, 3, 4, 5, 6};
+
+ private final NodeId nodeId = new NodeId("node");
+
+ private final ClusterMessage message1 =
+ new ClusterMessage(nodeId, subject1, payload1);
+ private final ClusterMessage sameAsMessage1 =
+ new ClusterMessage(nodeId, subject1, payload1);
+ private final ClusterMessage message2 =
+ new ClusterMessage(nodeId, subject1, payload2);
+ private final ClusterMessage message3 =
+ new ClusterMessage(nodeId, subject2, payload1);
+
+ /**
+ * Checks the operation of equals(), hashCode() and toString() methods.
+ */
+ @Test
+ public void testEquals() {
+ new EqualsTester()
+ .addEqualityGroup(message1, sameAsMessage1)
+ .addEqualityGroup(message2)
+ .addEqualityGroup(message3)
+ .testEquals();
+ }
+
+ /**
+ * Checks the construction of a FlowId object.
+ */
+ @Test
+ public void testConstruction() {
+ assertThat(message1.payload(), is(payload1));
+ assertThat(message1.sender(), is(nodeId));
+ assertThat(message1.subject(), is(subject1));
+
+ byte[] response = {2, 2, 2, 2, 2, 2, 2, 2};
+ message1.respond(response);
+ assertThat(message1.response(), is(response));
+ }
+
+ /**
+ * Tests the toBytes and fromBytes methods.
+ */
+ @Test
+ public void testByteMethods() {
+ byte[] fromBytes = message3.getBytes();
+ ClusterMessage message = ClusterMessage.fromBytes(fromBytes);
+ assertThat(message, is(message3));
+ }
+}