]> source.dussan.org Git - archiva.git/blob
d30d83917d696029a0ea91c5199c448c0534c919
[archiva.git] /
1 package org.apache.maven.archiva.transaction;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *   http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.codehaus.plexus.PlexusTestCase;
23 import org.codehaus.plexus.digest.Digester;
24 import org.codehaus.plexus.util.IOUtil;
25
26 import java.io.File;
27 import java.io.FileInputStream;
28 import java.io.FileOutputStream;
29 import java.io.IOException;
30 import java.util.List;
31
32 /**
33  * 
34  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
35  * @version $Id$
36  */
37 public abstract class AbstractFileEventTest
38     extends PlexusTestCase
39 {
40     protected List digesters;
41
42     public void setUp()
43         throws Exception
44     {
45         super.setUp();
46
47         digesters = getContainer().lookupList( Digester.class.getName() );
48     }
49
50     protected void assertChecksumExists( File file, String algorithm )
51     {
52         assertChecksum( file, algorithm, true );
53     }
54
55     protected void assertChecksumDoesNotExist( File file, String algorithm )
56     {
57         assertChecksum( file, algorithm, false );
58     }
59
60     private void assertChecksum( File file, String algorithm, boolean exist )
61     {
62         String msg = exist ? "exists" : "does not exist";
63         File checksumFile = new File( file.getPath() + "." + algorithm );
64         assertEquals( "Test file " + algorithm + " checksum " + msg, exist, checksumFile.exists() );
65     }
66
67     protected void assertChecksumCommit( File file )
68         throws IOException
69     {
70         assertChecksumExists( file, "md5" );
71         assertChecksumExists( file, "sha1" );
72     }
73
74     protected void assertChecksumRollback( File file )
75         throws IOException
76     {
77         assertChecksumDoesNotExist( file, "md5" );
78         assertChecksumDoesNotExist( file, "sha1" );
79     }
80
81     protected String readFile( File file )
82         throws IOException
83     {
84         FileInputStream in = null;
85         try
86         {
87             in = new FileInputStream( file );
88             return IOUtil.toString( in );
89         }
90         finally
91         {
92             IOUtil.close( in );
93         }
94     }
95
96     protected void writeFile( File file, String content )
97         throws IOException
98     {
99         FileOutputStream out = null;
100         try
101         {
102             out = new FileOutputStream( file );
103             IOUtil.copy( content, out );
104         }
105         finally
106         {
107             IOUtil.close( out );
108         }
109     }
110 }