1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * 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 java.util.Arrays; 21 22 import org.apache.harmony.xnet.provider.jsse.AlertException; 23 import org.apache.harmony.xnet.provider.jsse.Finished; 24 import org.apache.harmony.xnet.provider.jsse.Handshake; 25 import org.apache.harmony.xnet.provider.jsse.HandshakeIODataStream; 26 27 import junit.framework.TestCase; 28 29 /** 30 * Tests for <code>Finished</code> constructor and methods 31 * 32 */ 33 public class FinishedTest extends TestCase { 34 35 public void testFinished() throws Exception { 36 byte[] bytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2 }; 37 Finished message = new Finished(bytes); 38 assertEquals("incorrect type", Handshake.FINISHED, message.getType()); 39 assertTrue("incorrect CertificateVerify", Arrays.equals(message 40 .getData(), bytes)); 41 42 HandshakeIODataStream out = new HandshakeIODataStream(); 43 message.send(out); 44 byte[] encoded = out.getData(1000); 45 assertEquals("incorrect out data length", message.length(), 46 encoded.length); 47 48 HandshakeIODataStream in = new HandshakeIODataStream(); 49 in.append(encoded); 50 Finished message_2 = new Finished(in, message.length()); 51 assertTrue("incorrect message decoding", Arrays.equals(message 52 .getData(), message_2.getData())); 53 54 in.append(encoded); 55 try { 56 message_2 = new Finished(in, message.length() - 1); 57 fail("Small length: No expected AlertException"); 58 } catch (AlertException e) { 59 } 60 61 in.append(encoded); 62 in.append(new byte[] { 1, 2, 3 }); 63 try { 64 message_2 = new Finished(in, message.length() + 3); 65 fail("Extra bytes: No expected AlertException "); 66 } catch (AlertException e) { 67 } 68 } 69 70 } 71