001 package org.apache.turbine.services.crypto;
002
003 /*
004 * Licensed to the Apache Software Foundation (ASF) under one
005 * or more contributor license agreements. See the NOTICE file
006 * distributed with this work for additional information
007 * regarding copyright ownership. The ASF licenses this file
008 * to you under the Apache License, Version 2.0 (the
009 * "License"); you may not use this file except in compliance
010 * with the License. You may obtain a copy of the License at
011 *
012 * http://www.apache.org/licenses/LICENSE-2.0
013 *
014 * Unless required by applicable law or agreed to in writing,
015 * software distributed under the License is distributed on an
016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017 * KIND, either express or implied. See the License for the
018 * specific language governing permissions and limitations
019 * under the License.
020 */
021
022 import org.apache.fulcrum.crypto.CryptoAlgorithm;
023 import org.apache.fulcrum.crypto.CryptoService;
024 import org.apache.turbine.services.ServiceManager;
025 import org.apache.turbine.services.TurbineServices;
026 import org.apache.turbine.test.BaseTestCase;
027 import org.apache.turbine.util.TurbineConfig;
028
029 /**
030 * Verifies the Fulcrum Crypto Service works properly in Turbine.
031 *
032 * @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
033 * @author <a href="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a>
034 * @author <a href="mailto:sgoeschl@apache.org">Siegfried Goeschl</a>
035 * @version $Id: CryptoRunningInECMTest.java 222043 2004-12-06 17:47:33Z painter $
036 */
037 public class FulcrumCryptoServiceTest extends BaseTestCase
038 {
039 private static final String preDefinedInput = "Oeltanks";
040 private static TurbineConfig tc = null;
041 private CryptoService cryptoService;
042
043 public FulcrumCryptoServiceTest(String name) throws Exception
044 {
045 super(name);
046 }
047
048 public void testMd5()
049 {
050 String preDefinedResult = "XSop0mncK19Ii2r2CUe29w==";
051
052 try
053 {
054 CryptoAlgorithm ca =cryptoService.getCryptoAlgorithm("default");
055 ca.setCipher("MD5");
056 String output = ca.encrypt(preDefinedInput);
057 assertEquals("MD5 Encryption failed ", preDefinedResult, output);
058 }
059 catch (Exception e)
060 {
061 e.printStackTrace();
062 fail();
063 }
064 }
065
066 public void testSha1()
067 {
068 String preDefinedResult = "uVDiJHaavRYX8oWt5ctkaa7j1cw=";
069
070 try
071 {
072 CryptoAlgorithm ca = cryptoService.getCryptoAlgorithm("default");
073 ca.setCipher("SHA1");
074 String output = ca.encrypt(preDefinedInput);
075 assertEquals("SHA1 Encryption failed ", preDefinedResult, output);
076 }
077 catch (Exception e)
078 {
079 e.printStackTrace();
080 fail();
081 }
082 }
083
084 public void setUp() throws Exception
085 {
086 tc = new TurbineConfig(".", "/conf/test/TestFulcrumComponents.properties");
087 tc.initialize();
088 ServiceManager serviceManager = TurbineServices.getInstance();
089 cryptoService = (CryptoService) serviceManager.getService(CryptoService.ROLE);
090 }
091
092 public void tearDown() throws Exception
093 {
094 if (tc != null)
095 {
096 tc.dispose();
097 }
098 }
099 }