Subversion Repositories DevTools

Rev

Rev 7033 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6914 dpurdie 1
package com.erggroup.buildtool.utf;
2
 
3
import static org.junit.Assert.*;
4
 
5
import java.sql.SQLException;
6
import java.util.Iterator;
7
import java.util.Vector;
8
 
9
import org.apache.log4j.Logger;
10
import org.apache.log4j.xml.DOMConfigurator;
11
import org.junit.After;
12
import org.junit.Before;
13
import org.junit.Test;
14
import org.junit.runner.JUnitCore;
15
 
16
import com.erggroup.buildtool.ripple.BuildStandard;
17
import com.erggroup.buildtool.ripple.ReleaseManager;
18
import com.erggroup.buildtool.ripple.RippleEngine;
19
import com.erggroup.buildtool.ripple.Package;
20
import com.erggroup.buildtool.ripple.ReleaseConfig;
21
import com.erggroup.buildtool.utilities.XmlBuilder;
22
 
23
 
24
@SuppressWarnings("unused")
25
public class BuildStandardTest
26
{
27
    private static final Logger mLogger        = Logger.getLogger(BuildStandardTest.class);
28
    ReleaseManager              releaseManager = null;
29
    RippleEngine                rippleEngine   = null;
30
 
31
    /**
32
     * constructor
33
     */
34
    public BuildStandardTest()
35
    {
36
        mLogger.debug("BuildStandardTest");
37
    }
38
 
39
    /**
40
     * Test Case main line
41
     */
42
    public static void main(String[] args)
43
    {
44
        DOMConfigurator.configure("utf.xml");
45
        mLogger.debug("main");
46
        JUnitCore.main("com.erggroup.buildtool.utf.ESCROWBuildTestCase");
47
    }
48
 
49
    /** Subclass and override key methods so that the test can control
50
     *  the data being used
51
     */
52
    public class myReleaseManager extends ReleaseManagerUtf
53
    {
54
 
55
        public myReleaseManager(final String connectionString, final String username, final String password)
56
        {
57
            super(connectionString, username, password);
58
        }
59
 
60
        public void queryReleaseConfig(final int rtag_id) throws SQLException, Exception
61
        {
62
            mReleaseConfigCollection.resetData();
63
            ReleaseConfig releaseConfig;
64
 
65
            releaseConfig = new ReleaseConfig(1,1,'M', "LinuxHost","BuildLinux", "linux_i386", "Linux");
66
            mReleaseConfigCollection.add(releaseConfig);
67
 
68
            releaseConfig = new ReleaseConfig(1,2,'S', "SparcHost","BuildSparc", "sparc", "Solaris");
69
            mReleaseConfigCollection.add(releaseConfig);
70
 
71
            releaseConfig = new ReleaseConfig(1,3,'S', "Sparc10X86Host","BuildSparc10X86", "solaris10_x86", "Solaris");
72
            mReleaseConfigCollection.add(releaseConfig);
73
 
74
            releaseConfig = new ReleaseConfig(1,4,'S', "Win32Host","BuildWin32", "win32", "Win32");
75
            mReleaseConfigCollection.add(releaseConfig);
76
        }
77
 
78
    }
79
 
80
    /**
81
     * set up performed prior to each test method
82
     */
83
    @Before
84
    public void TestSetUp()
85
    {
86
        mLogger.debug("TestSetUp");
87
        mLogger.fatal("TestSetUp: Property:" + System.getProperty("vix.utf.name"));
88
        myReleaseManager.mUseDatabase = false;
89
 
90
 
91
        releaseManager = new myReleaseManager("BuildStandardTest", "not used", "not used");
92
        rippleEngine = new RippleEngine(releaseManager, 11111, true);
93
 
94
        // Force a known machtype
95
        Package.mGenericMachtype = "win32";
96
 
97
        try
98
        {
99
            rippleEngine.collectMetaData();
100
        }
101
        catch (Exception e)
102
        {
103
        }
104
    }
105
 
106
    /**
107
     * tear down performed after each test method
108
     */
109
    @After
110
    public void TestTearDown()
111
    {
112
        mLogger.debug("TestTearDown");
113
        ReleaseManager.mUseDatabase = true;
114
    }
115
 
116
    @Test
117
    public void testBuildStandardJatsAll()
118
    {
119
 
120
        BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Production and Debug");
121
 
122
        XmlBuilder xml = new XmlBuilder("test");
123
        bs.getBuildStandardXml(xml);
124
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
125
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='linux_i386' method='jats' arg='all'/></test>"));
126
 
127
        //System.out.println(bs.getPlatform(false));
128
        //System.out.println(bs.getBuildStandard(false));
129
        //System.out.println("getBuildStandardEntry:"+bs.getBuildStandardEntry());
130
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
131
 
132
        assertTrue(bs.getBuildStandardText().equals("Linux:Jats All"));
133
        assertTrue(bs.getBuildStandard().equals("linux_i386:Jats All"));
134
 
135
    }
136
 
137
    @Test
138
    public void testBuildStandardJatsProdMulti()
139
    {
140
 
141
        BuildStandard bs = new BuildStandard(rippleEngine, "Solaris", "Production");
142
 
143
        assertTrue(bs.supportedBuildStandard());
144
        assertFalse(bs.isGeneric());
145
 
146
        XmlBuilder xml = new XmlBuilder("test");
147
        bs.getBuildStandardXml(xml);
148
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
149
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='sparc' method='jats' arg='production'/>  <buildinfo machtype='solaris10_x86' method='jats' arg='production'/></test>"));
150
 
151
        //System.out.println(bs.getPlatform(false));
152
        //System.out.println(bs.getBuildStandard(false));
153
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
154
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
155
 
156
        assertTrue(bs.getBuildStandardText().equals("Solaris:Jats Production"));
157
        assertTrue(bs.getBuildStandard().equals("sparc:Jats Production<br>solaris10_x86:Jats Production"));
158
    }
159
 
160
    @Test
161
    public void testBuildStandardJatsDebug()
162
    {
163
 
164
        BuildStandard bs = new BuildStandard(rippleEngine, "Win32", "Debug");
165
 
166
        assertTrue(bs.supportedBuildStandard());
167
        assertFalse(bs.isGeneric());
168
 
169
        XmlBuilder xml = new XmlBuilder("test");
170
        bs.getBuildStandardXml(xml);
171
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
172
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='jats' arg='debug'/></test>"));
173
 
174
        //System.out.println("'" + bs.getPlatform(false) + "'");
175
        //System.out.println("'" + bs.getBuildStandard(false) + "'");
176
        //System.out.println("'" + bs.getBuildStandardText() + "'");
177
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
178
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
179
 
180
        assertTrue(bs.getBuildStandardText().equals("Win32:Jats Debug"));
181
        assertTrue(bs.getBuildStandard().equals("win32:Jats Debug"));
182
    }
183
 
184
    @Test
185
    public void testBuildStandardWin32Java1_7()
186
    {
187
 
188
        BuildStandard bs = new BuildStandard(rippleEngine, "Win32", "Java 1.7");
189
 
190
        assertTrue(bs.supportedBuildStandard());
191
        assertFalse(bs.isGeneric());
192
 
193
        XmlBuilder xml = new XmlBuilder("test");
194
        bs.getBuildStandardXml(xml);
195
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
196
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='ant' arg='1.7'/></test>"));
197
 
198
        //System.out.println(bs.getPlatform(false));
199
        //System.out.println(bs.getBuildStandard(false));
200
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
201
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
202
 
203
        assertTrue(bs.getBuildStandardText().equals("Win32:Ant Java 1.7"));
204
        assertTrue(bs.getBuildStandard().equals("win32:Ant Java 1.7"));
205
    }
206
 
207
    @Test
208
    public void testBuildStandardWin32Java1_99()
209
    {
210
 
211
        BuildStandard bs = new BuildStandard(rippleEngine, "Win32", "Java 1.99");
212
 
213
        assertTrue(bs.supportedBuildStandard());
214
        assertFalse(bs.isGeneric());
215
 
216
        XmlBuilder xml = new XmlBuilder("test");
217
        bs.getBuildStandardXml(xml);
218
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
219
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='ant' arg='1.99'/></test>"));
220
 
221
        //System.out.println(bs.getPlatform(false));
222
        //System.out.println(bs.getBuildStandard(false));
223
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
224
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
225
 
226
        assertTrue(bs.getBuildStandardText().equals("Win32:Ant Java 1.99"));
227
        assertTrue(bs.getBuildStandard().equals("win32:Ant Java 1.99"));
228
    }
229
 
230
 
231
    @Test
232
    public void testBuildStandardGeneric()
233
    {
234
 
235
        BuildStandard bs = new BuildStandard(rippleEngine, "Generic", "Debug");
236
 
237
        assertTrue(bs.supportedBuildStandard());
238
        assertTrue(bs.isGeneric());
239
 
240
        XmlBuilder xml = new XmlBuilder("test");
241
        bs.getBuildStandardXml(xml);
242
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
243
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='jats' arg='debug'/></test>"));
244
 
245
 
246
        //System.out.println(bs.getPlatform(false));
247
        //System.out.println(bs.getBuildStandard(false));
248
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
249
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
250
 
251
        assertTrue(bs.getBuildStandardText().equals("Generic:Jats Debug"));
252
        assertTrue(bs.getBuildStandard().equals("win32:Jats Debug"));
253
    }
254
 
255
    @Test
256
    public void testBuildStandardGenericJava()
257
    {
258
 
259
        BuildStandard bs = new BuildStandard(rippleEngine, "Generic", "Java 1.7");
260
 
261
        assertTrue(bs.supportedBuildStandard());
262
        assertTrue(bs.isGeneric());
263
 
264
        XmlBuilder xml = new XmlBuilder("test");
265
        bs.getBuildStandardXml(xml);
266
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
267
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='ant' arg='1.7'/></test>"));
268
 
269
        //System.out.println("getBuildStandardText:"+bs.getBuildStandardText());
270
        //System.out.println("getBuildStandardXml:"+bs.getBuildStandardXml());
271
        //System.out.println("getBuildStandard:"+bs.getBuildStandard());
272
 
273
        assertTrue(bs.getBuildStandardText().equals("Generic:Ant Java 1.7"));
274
        assertTrue(bs.getBuildStandard().equals("win32:Ant Java 1.7"));
275
    }
276
 
277
    @Test
278
    public void testBuildStandardGenericEscrow()
279
    {
280
        // Setting escrow mode will change the processing of arguments 
281
        rippleEngine.mDaemon = false;
282
        BuildStandard bs = new BuildStandard(rippleEngine, "Generic", "Production");
283
 
284
        assertTrue(bs.supportedBuildStandard());
285
        assertTrue(bs.isGeneric());
286
 
287
        XmlBuilder xml = new XmlBuilder("test");
288
        bs.getBuildStandardXml(xml);
289
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
290
        String expected =
291
        		"<test>" +
292
                "  <buildinfo machtype='linux_i386' method='jats' arg='production'/>" +
293
                "  <buildinfo machtype='sparc' method='jats' arg='production'/>" +
294
                "  <buildinfo machtype='solaris10_x86' method='jats' arg='production'/>" +
295
                "  <buildinfo machtype='win32' method='jats' arg='production'/>" +
296
                "</test>";
297
        assertTrue(xml.toOneLine().equals(expected));
298
 
299
        //System.out.println("--testBuildStandardGenericEscrow");
300
        //System.out.println(bs.getPlatform(false));
301
        //System.out.println(bs.getBuildStandard(false));
302
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
303
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
304
 
305
        assertTrue(bs.getBuildStandardText().equals("Generic:Jats Production"));
306
        assertTrue(bs.getBuildStandard().equals("linux_i386:Jats Production<br>sparc:Jats Production<br>solaris10_x86:Jats Production<br>win32:Jats Production"));
307
    }
308
 
309
    @Test
310
    public void testBuildStandardUnknownMachClass()
311
    {
312
 
313
        BuildStandard bs = new BuildStandard(rippleEngine, "UnknownMachineFamily", "Debug");
314
        XmlBuilder xml = new XmlBuilder("test");
315
        assertFalse(bs.supportedBuildStandard());
316
        assertFalse(bs.isGeneric());
317
        assertFalse(bs.isActive());
318
 
319
        bs.getBuildStandardXml(xml);
320
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
321
        assertTrue(xml.toOneLine().equals("<test/>"));
322
 
323
        //System.out.println(bs.getPlatform(false));
324
        //System.out.println(bs.getBuildStandard(false));
325
        //System.out.println(bs.getBuildStandardText());
326
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
327
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
328
 
329
        assertTrue(bs.getBuildStandardText().equals(""));
330
        assertTrue(bs.getBuildStandard().equals(""));
331
 
332
    }
333
 
334
    @Test
335
    public void testBuildStandardBadAddend()
336
    {
337
 
338
        BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Guess");
339
 
340
 
341
        assertFalse(bs.supportedBuildStandard());
342
        assertFalse(bs.isGeneric());
343
        assertFalse(bs.isActive());
344
        assertFalse(bs.supportedBuildStandard());
345
 
346
        XmlBuilder xml = new XmlBuilder("test");
347
        bs.getBuildStandardXml(xml);
348
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
349
        assertTrue(xml.toOneLine().equals("<test/>"));
350
 
351
        //System.out.println(bs.getPlatform(false));
352
        //System.out.println(bs.getBuildStandard(false));
353
        //System.out.println(bs.getBuildStandardText());
354
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
355
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
356
 
357
        assertTrue(bs.getBuildStandardText().equals(""));
358
        assertTrue(bs.getBuildStandard().equals(""));
359
    }
360
 
361
}