Subversion Repositories DevTools

Rev

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