01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.apache.harmony.xnet.tests.provider.jsse;
19:
20: import org.apache.harmony.xnet.provider.jsse.AlertException;
21: import org.apache.harmony.xnet.provider.jsse.Handshake;
22: import org.apache.harmony.xnet.provider.jsse.HandshakeIODataStream;
23: import org.apache.harmony.xnet.provider.jsse.HelloRequest;
24:
25: import junit.framework.TestCase;
26:
27: /**
28: * Tests for <code>HelloRequest</code> constructor and methods
29: *
30: */
31: public class HelloRequestTest extends TestCase {
32:
33: public void testHelloRequest() throws Exception {
34: HelloRequest message = new HelloRequest();
35: assertEquals("incorrect type", Handshake.HELLO_REQUEST, message
36: .getType());
37: assertEquals("incorrect HelloRequest", 0, message.length());
38:
39: HandshakeIODataStream out = new HandshakeIODataStream();
40: message.send(out);
41: byte[] encoded = out.getData(1000);
42: assertEquals("incorrect out data length", message.length(),
43: encoded.length);
44:
45: HandshakeIODataStream in = new HandshakeIODataStream();
46: in.append(encoded);
47: HelloRequest message_2 = new HelloRequest(in, message.length());
48: assertEquals("incorrect message decoding", 0, message_2
49: .length());
50:
51: in.append(encoded);
52: try {
53: new HelloRequest(in, message.length() - 1);
54: fail("Small length: No expected AlertException");
55: } catch (AlertException e) {
56: }
57:
58: in.append(encoded);
59: in.append(new byte[] { 1, 2, 3 });
60: try {
61: new HelloRequest(in, message.length() + 3);
62: fail("Extra bytes: No expected AlertException ");
63: } catch (AlertException e) {
64: }
65: }
66:
67: }
|