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