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 }