Rev 7163 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.erggroup.buildtool.utf;import java.sql.SQLException;import com.erggroup.buildtool.escrow.ESCROWBuild;import com.erggroup.buildtool.ripple.BuildStandard;import com.erggroup.buildtool.ripple.Package;import com.erggroup.buildtool.ripple.PackageCollection;import com.erggroup.buildtool.ripple.ReleaseManager;import com.erggroup.buildtool.ripple.RippleEngine;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.junit.Test;import org.junit.runner.JUnitCore;import static org.junit.Assert.*;public class ESCROWBuildTestCase{private static final Logger mLogger = LoggerFactory.getLogger(DaemonBuildTestCase.class);ReleaseManager releaseManager = null;RippleEngine rippleEngine = null;/*** constructor*/public ESCROWBuildTestCase(){mLogger.debug("ESCROWBuildTestCase");setUpEscrow();}/*** Test Case main line*/public static void main(String[] args){mLogger.debug("main");JUnitCore.main("com.erggroup.buildtool.utf.ESCROWBuildTestCase");}/** Subclass and override key methods so that the test can control* the data being used*/public class myReleaseManager extends ReleaseManagerUtf{public myReleaseManager(final String connectionString, final String username, final String password){super(connectionString, username, password);}public String queryBaselineName(int baseline) throws SQLException, Exception{return "TIMBUKTU (TIM) > R7 7.9";}public void queryPackageVersions(RippleEngine rippleEngine, PackageCollection packageCollection,int baseline) throws SQLException, Exception{/* prod_id pkg_name pkg_version v_ext pkg_vcs_tag* 8 NotInAnyWayReproducible 1.0.0.tim .tim NA NA* 10 SolarisCentricProduct 1.0.0000.tim .tim SolarisCentricProduct_1.0.0000.tim \vob\SolarisCentricProduct* 11 LinuxCentricProduct 1.0.0000.tim .tim LinuxCentricProduct_1.0.0000.tim \vob\LinuxCentricProduct* 12 Win32CentricProduct 1.0.0000.tim .tim Win32CentricProduct_1.0.0000.tim \vob\Win32CentricProduct* 13 GenericProduct 1.0.0000.tim .tim GenericProduct_1.0.0000.tim \vob\ToBeMovedFromHere*/Package p8 = new Package(1, 8, "NotInAnyWayReproducible", "1.0.0.tim", ".tim", "NotInAnyWayReproducible.1.0.0.tim", "CC::NA::NA", 'x');Package p10 = new Package(2, 10, "SolarisCentricProduct", "1.0.0000.tim", ".tim", "SolarisCentricProduct.1.0.0000.tim", "CC::/vob/SolarisCentricProduct::SolarisCentricProduct_1.0.0000.tim", 'x');Package p11 = new Package(3, 11, "LinuxCentricProduct", "1.0.0000.tim", ".tim", "LinuxCentricProduct.1.0.0000.tim", "CC::/vob/LinuxCentricProduct::LinuxCentricProduct_1.0.0000.tim", 'x');Package p12 = new Package(4, 12, "Win32CentricProduct", "1.0.0000.tim", ".tim", "Win32CentricProduct.1.0.0000.tim", "CC::/vob/Win32CentricProduct::Win32CentricProduct_1.0.0000.tim", 'x');Package p13 = new Package(5, 13, "GenericProduct", "1.0.0000.tim", ".tim", "GenericProduct.1.0.0000.tim", "CC::/vob/ToBeMovedFromHere::GenericProduct_1.0.0000.tim", 'x');/* the above products have the following dependencies which will be discovered in traverseDependencies* pv_id pkg_name, dpv.pkg_version, dpv.v_ext, dpv.pkg_vcs_tag* 7 CotsWithFunnyVersion hoopla2_x.cots .cots CotsWithFunnyVersion_hoopla2_x.cots \vob\CotsWithFunnyVersion* 9 CommonDependency 1.0.0000.tim .tim CommonDependency_1.0.0000.tim \vob\CommonDependency* 14 AdvisoryDependency 1.0.0000.tim .tim AdvisoryDependency_1.0.0000.tim \vob\AdvisoryDependency* the above packages have the following build info* pv_id bm_name bsa_name* 7 Solaris Debug* 9 Linux Debug* 9 Solaris Debug* 9 Win32 Production* 10 Solaris Java 1.4* 11 Linux Production and Debug* 12 Win32 Java 1.6* 13 Generic Java 1.4* 14 Linux Debug*/Package p9 = new Package(1, 9, "CommonDependency", "1.0.0000.tim", ".tim", "CommonDependency.1.0.0000.tim", "CC::/vob/CommonDependency::CommonDependency_1.0.0000.tim", 'x');Package p7 = new Package(2, 7, "CotsWithFunnyVersion", "hoopla2_x.cots", ".cots", "CotsWithFunnyVersion.hoopla2_x.cots", "CC::/vob/CotsWithFunnyVersion::CotsWithFunnyVersion_hoopla2_x.cots", 'x');Package p14 = new Package(3, 14, "AdvisoryDependency", "1.0.0000.tim", ".tim", "AdvisoryDependency.1.0.0000.tim", "CC::/vob/AdvisoryDependency::AdvisoryDependency_1.0.0000.tim", 'x');// Insert in order created by original test harnesspackageCollection.add(p8);packageCollection.add(p7);packageCollection.add(p9);packageCollection.add(p10);packageCollection.add(p11);packageCollection.add(p14);packageCollection.add(p12);packageCollection.add(p13);p8.addDependency(p9);p9.addDependency(p7);p10.addDependency(p9);p11.addDependency(p14);p13.addDependency(p9);BuildStandard bs7 = new BuildStandard(rippleEngine,"Solaris", "Debug");p7.mBuildStandardCollection.add(bs7);BuildStandard bs9 = new BuildStandard(rippleEngine, "Linux", "Debug");p9.mBuildStandardCollection.add(bs9);bs9 = new BuildStandard(rippleEngine, "Solaris", "Debug");p9.mBuildStandardCollection.add(bs9);bs9 = new BuildStandard(rippleEngine, "Win32", "Production");p9.mBuildStandardCollection.add(bs9);BuildStandard bs10 = new BuildStandard(rippleEngine, "Solaris", "Java 1.4");p10.mBuildStandardCollection.add(bs10);BuildStandard bs = new BuildStandard(rippleEngine, "Linux", "Production and Debug");p11.mBuildStandardCollection.add(bs);BuildStandard bs12 = new BuildStandard(rippleEngine, "Win32", "Java 1.6");p12.mBuildStandardCollection.add(bs12);BuildStandard bs13 = new BuildStandard(rippleEngine, "Generic", "Java 1.4");p13.mBuildStandardCollection.add(bs13);BuildStandard bs14 = new BuildStandard(rippleEngine, "Linux", "Debug");p14.mBuildStandardCollection.add(bs14);}}/** Setup and Run the Escrow* The tests will be the results of the escrow run*/public void setUpEscrow(){mLogger.debug("TestESCROWBuild");// Construct a Release Manager and Ripple Builder// Run the Escrow Engine//releaseManager = new myReleaseManager("not used", "not used", "not used");releaseManager.mUseDatabase = false;rippleEngine = new RippleEngine(releaseManager, 99999, false);ESCROWBuild.generateEscrowFiles(rippleEngine, "build");}@Testpublic void TestEscrowBuildFiles(){// Examine the results//boolean rv1 = Utilities.checkBuildfiles("build1.xml");boolean rv2 = Utilities.checkBuildfiles("build2.xml");boolean rv3 = Utilities.checkBuildfiles("build3.xml");// Test assertions - after all files have been processed//assertTrue(rv1);assertTrue(rv2);assertTrue(rv3);}@Testpublic void TestEscrowDataFiles(){// Examine the other escrow filesboolean rv4 = Utilities.checkBuildfiles("escrow_set_up");boolean rv5 = Utilities.checkBuildfiles("raw_data.csv");assertTrue(rv4);assertTrue(rv5);}}