1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath * @author Boris V. Kuznetsov
208d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath */
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.crypto.internal;
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.nio.ByteBuffer;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Arrays;
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport javax.crypto.ShortBufferException;
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.crypto.internal.NullCipherSpi;
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase;
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests for NullCipher implementation
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class NullCipherSpiTest extends TestCase {
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineGetBlockSize() {
388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("incorrect block size", 1, spi.engineGetBlockSize());
408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
428d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineGetOutputSize() {
438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("incorrect output size", 100, spi.engineGetOutputSize(100));
458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
478d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineGetIV() {
488d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
498d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        assertTrue("Incorrect IV", Arrays.equals(spi.engineGetIV(), new byte[8]));
508d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
518d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
528d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
538d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for byte[] engineUpdate(byte[], int, int)
548d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
558d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineUpdatebyteArrayintint() {
568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
578d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b1 = spi.engineUpdate(b, 3, 4);
598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        for (int i = 0; i < 4; i++) {
608d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("incorrect update result", b[3 + i], b1[i]);
618d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
628d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
638d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
648d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
658d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for int engineUpdate(byte[], int, int, byte[], int)
668d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
678d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineUpdatebyteArrayintintbyteArrayint() throws Exception {
688d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
698d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
708d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b1 = new byte[10];
718d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        assertEquals("incorrect update result", 4, spi.engineUpdate(b, 3, 4, b1, 5));
728d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        for (int i = 0; i < 4; i++) {
738d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("incorrect update result", b[3 + i], b1[5 + i]);
748d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
758d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
768d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
778d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
788d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for byte[] engineDoFinal(byte[], int, int)
798d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
808d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineDoFinalbyteArrayintint() throws Exception {
818d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
828d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
838d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b1 = null;
848d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        b1 = spi.engineDoFinal(b, 3, 4);
858d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        for (int i = 0; i < 4; i++) {
868d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("incorrect doFinal result", b[3 + i], b1[i]);
878d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
888d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
898d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
908d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
918d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for int engineDoFinal(byte[], int, int, byte[], int)
928d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
938d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineDoFinalbyteArrayintintbyteArrayint() throws Exception {
948d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
958d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
968d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b1 = new byte[10];
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("incorrect doFinal result", 4, spi.engineDoFinal(b, 3, 4, b1, 5));
988d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        for (int i = 0; i < 4; i++) {
998d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            assertEquals("incorrect doFinal result", b[3 + i], b1[5 + i]);
1008d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1018d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1028d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
1038d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1048d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
1058d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for int engineUpdate(ByteBuffer, ByteBuffer)
1068d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
1078d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineUpdateByteBufferByteBuffer() throws Exception {
1088d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
1098d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
1108d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1118d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        ByteBuffer inbuf = ByteBuffer.wrap(b, 0, b.length);
1128d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        ByteBuffer outbuf = ByteBuffer.allocate(6);
1138d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1148d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
1158d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineUpdate(null, outbuf);
1168d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected NullPointerException");
1178d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (NullPointerException e) {
1188d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1208d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
1218d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineUpdate(inbuf, null);
1228d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected NullPointerException");
1238d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (NullPointerException e) {
1248d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1258d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1268d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1278d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1288d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1298d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1308d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        int result = spi.engineUpdate(inbuf, outbuf);
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("incorrect result", b.length - 4, result);
1328d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        for (int i = 0; i < result; i++) {
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("incorrect outbuf", i + 4, outbuf.get(i));
1348d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1358d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1368d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf = ByteBuffer.wrap(b, 0, b.length);
1378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        outbuf = ByteBuffer.allocate(5);
1388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1398d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1428d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
1438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineUpdate(inbuf, outbuf);
1448d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected ShortBufferException");
1458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (ShortBufferException e) {
1468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1478d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
1488d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1498d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
1508d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for int engineDoFinal(ByteBuffer, ByteBuffer)
1518d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
1528d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineDoFinalByteBufferByteBuffer() throws Exception {
1538d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
1548d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        byte[] b = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
1558d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        ByteBuffer inbuf = ByteBuffer.wrap(b, 0, b.length);
1578d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        ByteBuffer outbuf = ByteBuffer.allocate(6);
1588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
1608d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineDoFinal(null, outbuf);
1618d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected NullPointerException");
1628d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (NullPointerException e) {
1638d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1648d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1658d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
1668d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineDoFinal(inbuf, null);
1678d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected NullPointerException");
1688d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (NullPointerException e) {
1698d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1708d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1718d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1728d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1738d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1748d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1758d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        int result = spi.engineDoFinal(inbuf, outbuf);
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("incorrect result", b.length - 4, result);
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < result; i++) {
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("incorrect outbuf", i + 4, outbuf.get(i));
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
1808d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1818d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf = ByteBuffer.wrap(b, 0, b.length);
1828d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        outbuf = ByteBuffer.allocate(5);
1838d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1848d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1858d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1868d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        inbuf.get();
1878d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
1888d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineDoFinal(inbuf, outbuf);
1898d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected ShortBufferException");
1908d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (ShortBufferException e) {
1918d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
1928d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
1938d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1948d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
1958d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for byte[] engineWrap(Key)
1968d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
1978d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineWrapKey() throws Exception {
1988d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
1998d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
2008d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineWrap(null);
2018d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected UnsupportedOperationException");
2028d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (UnsupportedOperationException e) {
2038d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
2048d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
2058d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
2068d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
2078d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for Key engineUnwrap(byte[], String, int)
2088d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
2098d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineUnwrapbyteArrayStringint() throws Exception {
2108d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
2118d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
2128d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineUnwrap(new byte[3], "", 10);
2138d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected UnsupportedOperationException");
2148d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (UnsupportedOperationException e) {
2158d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
2188d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    /*
2198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      * Class under test for int engineGetKeySize(Key)
2208d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath      */
2218d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    public void testEngineGetKeySize() throws Exception {
2228d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        NullCipherSpi spi = new NullCipherSpi();
2238d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        try {
2248d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            spi.engineGetKeySize(null);
2258d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            fail("No expected UnsupportedOperationException");
2268d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        } catch (UnsupportedOperationException e) {
2278d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath        }
2288d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath    }
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
231