Package hudson.scm.subversion

Source Code of hudson.scm.subversion.WorkspaceUpdaterTest

package hudson.scm.subversion;

import static org.junit.Assert.*;
import hudson.scm.RevisionParameterAction;
import hudson.scm.SubversionSCM;
import hudson.scm.SubversionSCM.External;
import hudson.scm.SubversionSCM.ModuleLocation;
import hudson.scm.subversion.WorkspaceUpdater.UpdateTask;

import java.io.IOException;
import java.util.Date;
import java.util.List;

import org.junit.Test;
import org.tmatesoft.svn.core.wc.SVNRevision;

public class WorkspaceUpdaterTest {
   
    private static final Date NOW = new Date();
   
    @Test
    public void testGetRevisionFromTimestamp() {
        UpdateTask updateTask = createUpdateTask();
       
        ModuleLocation l = new ModuleLocation("remote", "local");
       
        SVNRevision revision = updateTask.getRevision(l);
        assertEquals(NOW, revision.getDate());
        assertEquals(-1L, revision.getNumber());
    }
   
    @Test
    public void testRevisionFromRevisionParametersOverrideTimestamp() {
        UpdateTask updateTask = createUpdateTask();
       
        updateTask.revisions = new RevisionParameterAction(new SubversionSCM.SvnInfo("remote", 4711));
       
        ModuleLocation l = new ModuleLocation("remote", "local");
       
        SVNRevision revision = updateTask.getRevision(l);
        assertEquals(4711L, revision.getNumber());
        assertNull(revision.getDate());
    }

    @Test
    public void testRevisionInUrlOverridesEverything() {
        UpdateTask updateTask = createUpdateTask();

        updateTask.revisions = new RevisionParameterAction(new SubversionSCM.SvnInfo("remote", 4711));
       
        ModuleLocation l = new ModuleLocation("remote@12345", "local");
       
        SVNRevision revision = updateTask.getRevision(l);
        assertEquals(12345L, revision.getNumber());
        assertNull(revision.getDate());
    }
   
    @Test
    public void testRevisionInUrlOverridesEverything_HEAD() {
        UpdateTask updateTask = createUpdateTask();

        updateTask.revisions = new RevisionParameterAction(new SubversionSCM.SvnInfo("remote", 4711));
       
        ModuleLocation l = new ModuleLocation("remote@HEAD", "local");
       
        SVNRevision revision = updateTask.getRevision(l);
        assertEquals(SVNRevision.HEAD.getName(), revision.getName());
        assertEquals(-1L, revision.getNumber());
        assertNull(revision.getDate());
    }

    private WorkspaceUpdater.UpdateTask createUpdateTask() {
         UpdateTask updateTask = new WorkspaceUpdater.UpdateTask() {
            private static final long serialVersionUID = 1L;
            @Override
            public List<External> perform() throws IOException, InterruptedException {
                return null;
            }
        };
        updateTask.timestamp = NOW;
        return updateTask;
    }
   
}
TOP

Related Classes of hudson.scm.subversion.WorkspaceUpdaterTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.