KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > jayasoft > ivy > xml > XmlModuleUpdaterTest


1 /*
2  * This file is subject to the license found in LICENCE.TXT in the root directory of the project.
3  *
4  * #SNAPSHOT#
5  */

6 package fr.jayasoft.ivy.xml;
7
8 import java.io.BufferedReader JavaDoc;
9 import java.io.ByteArrayOutputStream JavaDoc;
10 import java.io.File JavaDoc;
11 import java.io.FileReader JavaDoc;
12 import java.io.InputStreamReader JavaDoc;
13 import java.util.Date JavaDoc;
14 import java.util.GregorianCalendar JavaDoc;
15 import java.util.HashMap JavaDoc;
16 import java.util.Map JavaDoc;
17
18 import junit.framework.TestCase;
19 import fr.jayasoft.ivy.Ivy;
20 import fr.jayasoft.ivy.ModuleRevisionId;
21 import fr.jayasoft.ivy.util.FileUtil;
22
23 public class XmlModuleUpdaterTest extends TestCase {
24     
25     public void testUpdate() throws Exception JavaDoc {
26         /*
27          * For updated file to be equals to updated.xml,
28          * we have to fix the line separator to the one used
29          * in updated.xml, in order for this test to works in
30          * all platforms (default line separator used in
31          * updater being platform dependent
32          */

33         XmlModuleDescriptorUpdater.LINE_SEPARATOR = "\n";
34         File JavaDoc dest = new File JavaDoc("build/updated-test.xml");
35         dest.deleteOnExit();
36         Map JavaDoc resolvedRevisions = new HashMap JavaDoc();
37         resolvedRevisions.put(ModuleRevisionId.newInstance("yourorg", "yourmodule2", "2+"), "2.5");
38         resolvedRevisions.put(ModuleRevisionId.newInstance("yourorg", "yourmodule6", "latest.integration"), "6.3");
39         
40         GregorianCalendar JavaDoc cal = new GregorianCalendar JavaDoc();
41         cal.set(2005, 2, 22, 14, 32, 54);
42         
43         Ivy ivy = new Ivy();
44         ivy.setVariable("myvar", "myconf1");
45         XmlModuleDescriptorUpdater.update(ivy,
46                 XmlModuleUpdaterTest.class.getResource("test-update.xml"),
47                 dest, resolvedRevisions, "release", "mynewrev", cal.getTime(), null, true);
48         
49         assertTrue(dest.exists());
50         String JavaDoc expected = FileUtil.readEntirely(new BufferedReader JavaDoc(new InputStreamReader JavaDoc(XmlModuleUpdaterTest.class.getResourceAsStream("updated.xml"))));
51         String JavaDoc updated = FileUtil.readEntirely(new BufferedReader JavaDoc(new FileReader JavaDoc(dest)));
52         assertEquals(expected, updated);
53     }
54     
55     public void testUpdateWithImportedMappingOverride() throws Exception JavaDoc {
56        ByteArrayOutputStream JavaDoc buffer = new ByteArrayOutputStream JavaDoc();
57         XmlModuleDescriptorUpdater.update(new Ivy(),
58                 XmlModuleUpdaterTest.class.getResourceAsStream("test-configurations-import4.xml"),
59                 buffer, new HashMap JavaDoc(), "release", "mynewrev", new Date JavaDoc(), null, true);
60        
61         String JavaDoc updatedXml = buffer.toString();
62         
63         // just make sure that 'confmappingoverride="true"' is declared somewhere in the XML.
64
assertTrue("Updated XML doesn't define the confmappingoverride attribute", updatedXml.indexOf("confmappingoverride=\"true\"") != -1);
65     }
66     
67 }
68
Popular Tags