Subversion Repositories DevTools

Rev

Rev 7163 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package com.erggroup.buildtool.utf;

import static org.junit.Assert.*;
import java.sql.SQLException;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.JUnitCore;

import com.erggroup.buildtool.ripple.BuildFile;
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 com.erggroup.buildtool.ripple.BuildFile.BuildFileState;

/**
 * Test the behavior of 'pegged' packages
 *
 */
public class PeggedPackageRippleTest {
        
        ReleaseManager              releaseManager = null;
    RippleEngine                rippleEngine   = null;
    
    /**
     * Test Case main line
     */
    public static void main(String[] args)
    {
        JUnitCore.main("com.erggroup.buildtool.utf.PeggedPackageRippleTest");
    }
          
    /** 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 "Pegged Package Test";
                }


                public void queryPackageVersions(RippleEngine rippleEngine, PackageCollection packageCollection,
                                int baseline) throws SQLException, Exception
                {
                        BuildStandard   bs = null;
                        Package p = null;
                
                        p = new Package(76, 1, "Package1", "1.0.0000", ".p1","Package1.p1", "Package1_vcstag", 'b', 'P');
                        //p.mDirectlyPlanned = true;
                        bs = new BuildStandard(rippleEngine, "Linux", "Java 1.6");
                        p.mBuildStandardCollection.add(bs);
                        packageCollection.add(p);
                        

                        p = new Package(1011, 2, "Package2", "2.0.0000", ".p2","Package2.p1", "Package2_vcstag", 'b', 'P');
                        p.mIsSdk = true;
                        p.mDirectlyPlanned = true;
                        bs = new BuildStandard(rippleEngine, "Linux", "Java 1.6");
                        p.mBuildStandardCollection.add(bs);
                        packageCollection.add(p);
                        
                        
                        //      Planned dependencies
                        //              p2 depends on p1
                        p = findPackage(2, packageCollection);
                        p.addDependency("Package1.p1", 1);
                }
        }


        /**
         * @throws java.lang.Exception
         */
        @Before
        public void setUp() throws Exception {
                releaseManager = new myReleaseManager("PeggedPackageRipple", "not used", "not used");
                rippleEngine = new RippleEngine(releaseManager, 11111, true);

                // Force a known machtype
                Package.mGenericMachtype = "win32";

                try {
                        rippleEngine.collectMetaData();
                        rippleEngine.planRelease(false);
                } catch (Exception e) {
                        assertTrue("Unexpected exception", false);
                }
        }

        /**
         * @throws java.lang.Exception
         */
        @After
        public void tearDown() throws Exception {
        }

        @Test
        public void test() {

                boolean rv;
                BuildFile buildFile;
                
                buildFile = rippleEngine.getFirstBuildFileContent();
        assertTrue(buildFile != null);
        assertTrue(buildFile.state != BuildFileState.Empty);

                rv = Utilities.checkBuildfile(buildFile.content,"PeggedPackageBuild");
                assertTrue(rv);

        }

}