Subversion Repositories DevTools

Rev

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