Subversion Repositories DevTools

Rev

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