KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > tigris > scarab > util > xmlissues > ImportIssuesTest


1 package org.tigris.scarab.util.xmlissues;
2
3 /* ================================================================
4  * Copyright (c) 2000-2002 CollabNet. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are
8  * met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  *
17  * 3. The end-user documentation included with the redistribution, if
18  * any, must include the following acknowlegement: "This product includes
19  * software developed by Collab.Net <http://www.Collab.Net/>."
20  * Alternately, this acknowlegement may appear in the software itself, if
21  * and wherever such third-party acknowlegements normally appear.
22  *
23  * 4. The hosted project names must not be used to endorse or promote
24  * products derived from this software without prior written
25  * permission. For written permission, please contact info@collab.net.
26  *
27  * 5. Products derived from this software may not use the "Tigris" or
28  * "Scarab" names nor may "Tigris" or "Scarab" appear in their names without
29  * prior written permission of Collab.Net.
30  *
31  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
32  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
33  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
34  * IN NO EVENT SHALL COLLAB.NET OR ITS CONTRIBUTORS BE LIABLE FOR ANY
35  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
37  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
38  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
39  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
40  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
41  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42  *
43  * ====================================================================
44  *
45  * This software consists of voluntary contributions made by many
46  * individuals on behalf of Collab.Net.
47  */

48
49 import java.io.File JavaDoc;
50 import java.util.List JavaDoc;
51
52 import org.apache.torque.util.Criteria;
53
54 import org.tigris.scarab.test.BaseScarabTestCase;
55 //import org.tigris.scarab.om.Module;
56
//import org.tigris.scarab.om.IssueType;
57
import org.tigris.scarab.om.ActivityPeer;
58 //import org.tigris.scarab.om.AttributeOptionManager;
59
//import org.tigris.scarab.om.AttributeOption;
60

61 /**
62  * A Testing Suite for the ImportIssues class.
63  *
64  * @author <a HREF="mailto:jmcnally@collab.net">John McNally</a>
65  * @version $Id: ImportIssuesTest.java 9446 2005-03-12 11:59:50Z jorgeuriarte $
66  */

67 public class ImportIssuesTest extends BaseScarabTestCase
68 {
69     private static final File JavaDoc INPUT_FILE = new File JavaDoc("src/test/org/tigris/scarab/util/xmlissues/test-issues.xml").getAbsoluteFile();
70     private static final String JavaDoc INPUT_FILENAME = INPUT_FILE.toString();
71
72     public void testImportIssuesViaXMLFile()
73         throws Exception JavaDoc
74     {
75         
76         assertTrue("Make sure input file exists at:" + INPUT_FILE,INPUT_FILE.exists());
77         
78         // this is quite a hack, need to modify ImportIssues to work with an
79
// InputStream
80
/*
81          * FIXME: Eric commented out as this doesn't work with file uplaod 1.0
82          *
83         FileItem issuesToImport = new DefaultFileItem()
84             {
85                 public InputStream getInputStream() throws RuntimeException
86                 {
87                     try {
88                     return new FileInputStream(INPUT_FILENAME);
89                     }
90                     catch(Exception e){
91                         throw new NestableRuntimeException("Problem reading in file " + INPUT_FILENAME,e);
92                     }
93                 }
94                 
95                 public String getName()
96                 {
97                     return INPUT_FILE.getName();
98                 }
99             };
100             
101         assertTrue("Could not locate input file",
102                    issuesToImport.getInputStream() != null);
103
104         ImportIssues importIssues = new ImportIssues();
105         Collection importErrors = importIssues.runImport(issuesToImport);
106         //ScarabIssues si = importIssues.getScarabIssuesBeanReader();
107         // looking at current code importErrors will never be null, so
108         // putting in a test to confirm it
109         assertTrue("importErrors should never be null", importErrors != null);
110         assertTrue(importErrors.toString(), importErrors.isEmpty());
111         */

112     }
113
114
115     /**
116      * Earlier versions of xmlimport would combine Activity's from
117      * the xml file with those already in the db, if they shared an
118      * ActivitySet id.
119      * The sample data adds two Activities to PACS1 within
120      * ActivitySet PK=1. The xml also references ActivitySet id=1
121      * Make sure the Activities with ActivitySet = 1 are still only two.
122      *
123      * @exception Exception if an error occurs
124      */

125     public void testActivitySetCorruption()
126         throws Exception JavaDoc
127     {
128         Criteria crit = new Criteria();
129         crit.add(ActivityPeer.TRANSACTION_ID, 1);
130         List JavaDoc activities = ActivityPeer.doSelect(crit);
131         assertTrue("Activites size should be two, it was " + activities.size(),
132                    activities.size() == 2);
133     }
134 }
135
136
Popular Tags