1 /**
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 package org.apache.hadoop.oncrpc;
19 
20 import org.junit.Assert;
21 import org.junit.Test;
22 
23 /**
24  * Test for {@link RpcMessage}
25  */
26 public class TestRpcMessage {
getRpcMessage(int xid, RpcMessage.Type msgType)27   private RpcMessage getRpcMessage(int xid, RpcMessage.Type msgType) {
28     return new RpcMessage(xid, msgType) {
29       @Override
30       public XDR write(XDR xdr) {
31         return null;
32       }
33     };
34   }
35 
36   @Test
37   public void testRpcMessage() {
38     RpcMessage msg = getRpcMessage(0, RpcMessage.Type.RPC_CALL);
39     Assert.assertEquals(0, msg.getXid());
40     Assert.assertEquals(RpcMessage.Type.RPC_CALL, msg.getMessageType());
41   }
42 
43   @Test
44   public void testValidateMessage() {
45     RpcMessage msg = getRpcMessage(0, RpcMessage.Type.RPC_CALL);
46     msg.validateMessageType(RpcMessage.Type.RPC_CALL);
47   }
48 
49   @Test(expected = IllegalArgumentException.class)
50   public void testValidateMessageException() {
51     RpcMessage msg = getRpcMessage(0, RpcMessage.Type.RPC_CALL);
52     msg.validateMessageType(RpcMessage.Type.RPC_REPLY);
53   }
54 }
55