Subversion Repositories DevTools

Rev

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
 
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");
7049 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");
7048 dpurdie 111
        releaseManager.mUseDatabase = true;
6914 dpurdie 112
    }
113
 
114
    @Test
115
    public void testBuildStandardJatsAll()
116
    {
117
 
118
        BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Production and Debug");
119
 
120
        XmlBuilder xml = new XmlBuilder("test");
121
        bs.getBuildStandardXml(xml);
122
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
123
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='linux_i386' method='jats' arg='all'/></test>"));
124
 
125
        //System.out.println(bs.getPlatform(false));
126
        //System.out.println(bs.getBuildStandard(false));
127
        //System.out.println("getBuildStandardEntry:"+bs.getBuildStandardEntry());
128
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
129
 
130
        assertTrue(bs.getBuildStandardText().equals("Linux:Jats All"));
131
        assertTrue(bs.getBuildStandard().equals("linux_i386:Jats All"));
132
 
133
    }
134
 
135
    @Test
136
    public void testBuildStandardJatsProdMulti()
137
    {
138
 
139
        BuildStandard bs = new BuildStandard(rippleEngine, "Solaris", "Production");
140
 
141
        assertTrue(bs.supportedBuildStandard());
142
        assertFalse(bs.isGeneric());
143
 
144
        XmlBuilder xml = new XmlBuilder("test");
145
        bs.getBuildStandardXml(xml);
146
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
147
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='sparc' method='jats' arg='production'/>  <buildinfo machtype='solaris10_x86' method='jats' arg='production'/></test>"));
148
 
149
        //System.out.println(bs.getPlatform(false));
150
        //System.out.println(bs.getBuildStandard(false));
151
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
152
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
153
 
154
        assertTrue(bs.getBuildStandardText().equals("Solaris:Jats Production"));
155
        assertTrue(bs.getBuildStandard().equals("sparc:Jats Production<br>solaris10_x86:Jats Production"));
156
    }
157
 
158
    @Test
159
    public void testBuildStandardJatsDebug()
160
    {
161
 
162
        BuildStandard bs = new BuildStandard(rippleEngine, "Win32", "Debug");
163
 
164
        assertTrue(bs.supportedBuildStandard());
165
        assertFalse(bs.isGeneric());
166
 
167
        XmlBuilder xml = new XmlBuilder("test");
168
        bs.getBuildStandardXml(xml);
169
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
170
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='jats' arg='debug'/></test>"));
171
 
172
        //System.out.println("'" + bs.getPlatform(false) + "'");
173
        //System.out.println("'" + bs.getBuildStandard(false) + "'");
174
        //System.out.println("'" + bs.getBuildStandardText() + "'");
175
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
176
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
177
 
178
        assertTrue(bs.getBuildStandardText().equals("Win32:Jats Debug"));
179
        assertTrue(bs.getBuildStandard().equals("win32:Jats Debug"));
180
    }
181
 
182
    @Test
183
    public void testBuildStandardWin32Java1_7()
184
    {
185
 
186
        BuildStandard bs = new BuildStandard(rippleEngine, "Win32", "Java 1.7");
187
 
188
        assertTrue(bs.supportedBuildStandard());
189
        assertFalse(bs.isGeneric());
190
 
191
        XmlBuilder xml = new XmlBuilder("test");
192
        bs.getBuildStandardXml(xml);
193
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
194
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='ant' arg='1.7'/></test>"));
195
 
196
        //System.out.println(bs.getPlatform(false));
197
        //System.out.println(bs.getBuildStandard(false));
198
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
199
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
200
 
201
        assertTrue(bs.getBuildStandardText().equals("Win32:Ant Java 1.7"));
202
        assertTrue(bs.getBuildStandard().equals("win32:Ant Java 1.7"));
203
    }
204
 
205
    @Test
206
    public void testBuildStandardWin32Java1_99()
207
    {
208
 
209
        BuildStandard bs = new BuildStandard(rippleEngine, "Win32", "Java 1.99");
210
 
211
        assertTrue(bs.supportedBuildStandard());
212
        assertFalse(bs.isGeneric());
213
 
214
        XmlBuilder xml = new XmlBuilder("test");
215
        bs.getBuildStandardXml(xml);
216
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
217
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='ant' arg='1.99'/></test>"));
218
 
219
        //System.out.println(bs.getPlatform(false));
220
        //System.out.println(bs.getBuildStandard(false));
221
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
222
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
223
 
224
        assertTrue(bs.getBuildStandardText().equals("Win32:Ant Java 1.99"));
225
        assertTrue(bs.getBuildStandard().equals("win32:Ant Java 1.99"));
226
    }
227
 
228
 
229
    @Test
230
    public void testBuildStandardGeneric()
231
    {
232
 
233
        BuildStandard bs = new BuildStandard(rippleEngine, "Generic", "Debug");
234
 
235
        assertTrue(bs.supportedBuildStandard());
236
        assertTrue(bs.isGeneric());
237
 
238
        XmlBuilder xml = new XmlBuilder("test");
239
        bs.getBuildStandardXml(xml);
240
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
241
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='jats' arg='debug'/></test>"));
242
 
243
 
244
        //System.out.println(bs.getPlatform(false));
245
        //System.out.println(bs.getBuildStandard(false));
246
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
247
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
248
 
249
        assertTrue(bs.getBuildStandardText().equals("Generic:Jats Debug"));
250
        assertTrue(bs.getBuildStandard().equals("win32:Jats Debug"));
251
    }
252
 
253
    @Test
254
    public void testBuildStandardGenericJava()
255
    {
256
 
257
        BuildStandard bs = new BuildStandard(rippleEngine, "Generic", "Java 1.7");
258
 
259
        assertTrue(bs.supportedBuildStandard());
260
        assertTrue(bs.isGeneric());
261
 
262
        XmlBuilder xml = new XmlBuilder("test");
263
        bs.getBuildStandardXml(xml);
264
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
265
        assertTrue(xml.toOneLine().equals("<test>  <buildinfo machtype='win32' method='ant' arg='1.7'/></test>"));
266
 
267
        //System.out.println("getBuildStandardText:"+bs.getBuildStandardText());
268
        //System.out.println("getBuildStandardXml:"+bs.getBuildStandardXml());
269
        //System.out.println("getBuildStandard:"+bs.getBuildStandard());
270
 
271
        assertTrue(bs.getBuildStandardText().equals("Generic:Ant Java 1.7"));
272
        assertTrue(bs.getBuildStandard().equals("win32:Ant Java 1.7"));
273
    }
274
 
275
    @Test
276
    public void testBuildStandardGenericEscrow()
277
    {
278
        // Setting escrow mode will change the processing of arguments 
279
        rippleEngine.mDaemon = false;
280
        BuildStandard bs = new BuildStandard(rippleEngine, "Generic", "Production");
281
 
282
        assertTrue(bs.supportedBuildStandard());
283
        assertTrue(bs.isGeneric());
284
 
285
        XmlBuilder xml = new XmlBuilder("test");
286
        bs.getBuildStandardXml(xml);
287
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
288
        String expected =
289
        		"<test>" +
290
                "  <buildinfo machtype='linux_i386' method='jats' arg='production'/>" +
291
                "  <buildinfo machtype='sparc' method='jats' arg='production'/>" +
292
                "  <buildinfo machtype='solaris10_x86' method='jats' arg='production'/>" +
293
                "  <buildinfo machtype='win32' method='jats' arg='production'/>" +
294
                "</test>";
295
        assertTrue(xml.toOneLine().equals(expected));
296
 
297
        //System.out.println("--testBuildStandardGenericEscrow");
298
        //System.out.println(bs.getPlatform(false));
299
        //System.out.println(bs.getBuildStandard(false));
300
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
301
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
302
 
303
        assertTrue(bs.getBuildStandardText().equals("Generic:Jats Production"));
304
        assertTrue(bs.getBuildStandard().equals("linux_i386:Jats Production<br>sparc:Jats Production<br>solaris10_x86:Jats Production<br>win32:Jats Production"));
305
    }
306
 
307
    @Test
308
    public void testBuildStandardUnknownMachClass()
309
    {
310
 
311
        BuildStandard bs = new BuildStandard(rippleEngine, "UnknownMachineFamily", "Debug");
312
        XmlBuilder xml = new XmlBuilder("test");
313
        assertFalse(bs.supportedBuildStandard());
314
        assertFalse(bs.isGeneric());
315
        assertFalse(bs.isActive());
316
 
317
        bs.getBuildStandardXml(xml);
318
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
319
        assertTrue(xml.toOneLine().equals("<test/>"));
320
 
321
        //System.out.println(bs.getPlatform(false));
322
        //System.out.println(bs.getBuildStandard(false));
323
        //System.out.println(bs.getBuildStandardText());
324
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
325
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
326
 
327
        assertTrue(bs.getBuildStandardText().equals(""));
328
        assertTrue(bs.getBuildStandard().equals(""));
329
 
330
    }
331
 
332
    @Test
333
    public void testBuildStandardBadAddend()
334
    {
335
 
336
        BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Guess");
337
 
338
 
339
        assertFalse(bs.supportedBuildStandard());
340
        assertFalse(bs.isGeneric());
341
        assertFalse(bs.isActive());
342
        assertFalse(bs.supportedBuildStandard());
343
 
344
        XmlBuilder xml = new XmlBuilder("test");
345
        bs.getBuildStandardXml(xml);
346
        //System.out.println("getBuildStandardEntryXml:"+xml.toOneLine());
347
        assertTrue(xml.toOneLine().equals("<test/>"));
348
 
349
        //System.out.println(bs.getPlatform(false));
350
        //System.out.println(bs.getBuildStandard(false));
351
        //System.out.println(bs.getBuildStandardText());
352
        //System.out.println("getBuildStandardEntry"+bs.getBuildStandardEntry());
353
        //System.out.println("getBuildStandardEntryText:"+bs.getBuildStandardEntryText());
354
 
355
        assertTrue(bs.getBuildStandardText().equals(""));
356
        assertTrue(bs.getBuildStandard().equals(""));
357
    }
358
 
359
}