Search in sources :

Example 6 with LoginScmResult

use of org.apache.maven.scm.command.login.LoginScmResult in project maven-scm by apache.

the class AccuRevLoginCommandTest method testWhenNoUserSuppliedAndAlreadyLoggedIn.

@Test
public void testWhenNoUserSuppliedAndAlreadyLoggedIn() throws Exception {
    repo.setUser(null);
    info.setUser("anyUser");
    when(accurev.info(any(File.class))).thenReturn(info);
    AccuRevLoginCommand command = new AccuRevLoginCommand(getLogger());
    LoginScmResult result = command.login(repo, new ScmFileSet(basedir), new CommandParameters());
    assertThat(result.isSuccess(), is(true));
    verify(accurev, never()).login(anyString(), anyString());
}
Also used : ScmFileSet(org.apache.maven.scm.ScmFileSet) LoginScmResult(org.apache.maven.scm.command.login.LoginScmResult) CommandParameters(org.apache.maven.scm.CommandParameters) File(java.io.File) Test(org.junit.Test) AbstractAccuRevCommandTest(org.apache.maven.scm.provider.accurev.command.AbstractAccuRevCommandTest)

Example 7 with LoginScmResult

use of org.apache.maven.scm.command.login.LoginScmResult in project maven-scm by apache.

the class AccuRevLoginCommandTest method testFailsWhenNoUserSuppliedAndNotLoggedIn.

@Test
public void testFailsWhenNoUserSuppliedAndNotLoggedIn() throws Exception {
    repo.setUser(null);
    info.setUser("(not logged in)");
    when(accurev.info(any(File.class))).thenReturn(info);
    AccuRevLoginCommand command = new AccuRevLoginCommand(getLogger());
    LoginScmResult result = command.login(repo, new ScmFileSet(basedir), new CommandParameters());
    assertThat(result.isSuccess(), is(false));
    verify(accurev, never()).login(anyString(), anyString());
}
Also used : ScmFileSet(org.apache.maven.scm.ScmFileSet) LoginScmResult(org.apache.maven.scm.command.login.LoginScmResult) CommandParameters(org.apache.maven.scm.CommandParameters) File(java.io.File) Test(org.junit.Test) AbstractAccuRevCommandTest(org.apache.maven.scm.provider.accurev.command.AbstractAccuRevCommandTest)

Example 8 with LoginScmResult

use of org.apache.maven.scm.command.login.LoginScmResult in project maven-scm by apache.

the class CvsLoginCommand method executeLoginCommand.

/**
 * {@inheritDoc}
 */
public LoginScmResult executeLoginCommand(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException {
    CvsScmProviderRepository repo = (CvsScmProviderRepository) repository;
    if (!"pserver".equals(repo.getTransport())) {
        return new LoginScmResult(null, "The cvs login ignored for " + repo.getTransport() + ".", "", true);
    } else if (isCvsNT()) {
        // We don't continue becauseCVSNT doesn't use .cvspass
        return new LoginScmResult(null, "The cvs login ignored for CVSNT.", "", true);
    }
    CvsPass passGenerator = new CvsPass(getLogger());
    passGenerator.setCvsroot(repo.getCvsRootForCvsPass());
    passGenerator.setPassword(repo.getPassword());
    try {
        passGenerator.execute();
    } catch (IOException e) {
        throw new ScmException("Error while executing cvs login command.", e);
    }
    return new LoginScmResult(null, "The cvs command succeed.", "", true);
}
Also used : ScmException(org.apache.maven.scm.ScmException) CvsScmProviderRepository(org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository) LoginScmResult(org.apache.maven.scm.command.login.LoginScmResult) IOException(java.io.IOException)

Example 9 with LoginScmResult

use of org.apache.maven.scm.command.login.LoginScmResult in project maven-scm by apache.

the class IntegrityLoginCommand method executeLoginCommand.

/**
 * {@inheritDoc}
 */
@Override
public LoginScmResult executeLoginCommand(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException {
    getLogger().info("Attempting to connect with the MKS Integrity Server");
    LoginScmResult result;
    IntegrityScmProviderRepository iRepo = (IntegrityScmProviderRepository) repository;
    APISession api = iRepo.getAPISession();
    try {
        // First we will establish a connection to the MKS Integrity Server
        Response res = api.connect(iRepo.getHost(), iRepo.getPort(), iRepo.getUser(), iRepo.getPassword());
        int exitCode = res.getExitCode();
        boolean success = (exitCode == 0 ? true : false);
        result = new LoginScmResult(res.getCommandString(), "", "Exit Code: " + exitCode, success);
        // Next we will prepare the Project and Sandbox for the other commands
        Project siProject = new Project(api, iRepo.getConfigruationPath());
        Sandbox siSandbox = new Sandbox(api, siProject, fileSet.getBasedir().getAbsolutePath());
        iRepo.setProject(siProject);
        iRepo.setSandbox(siSandbox);
    } catch (APIException aex) {
        ExceptionHandler eh = new ExceptionHandler(aex);
        getLogger().error("MKS API Exception: " + eh.getMessage());
        getLogger().info(eh.getCommand() + " exited with return code " + eh.getExitCode());
        result = new LoginScmResult(eh.getCommand(), eh.getMessage(), "Exit Code: " + eh.getExitCode(), false);
    }
    return result;
}
Also used : Response(com.mks.api.response.Response) ExceptionHandler(org.apache.maven.scm.provider.integrity.ExceptionHandler) Project(org.apache.maven.scm.provider.integrity.Project) APIException(com.mks.api.response.APIException) IntegrityScmProviderRepository(org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository) LoginScmResult(org.apache.maven.scm.command.login.LoginScmResult) APISession(org.apache.maven.scm.provider.integrity.APISession) Sandbox(org.apache.maven.scm.provider.integrity.Sandbox)

Example 10 with LoginScmResult

use of org.apache.maven.scm.command.login.LoginScmResult in project maven-scm by apache.

the class AccuRevLoginCommand method executeAccurevCommand.

@Override
protected ScmResult executeAccurevCommand(AccuRevScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException, AccuRevException {
    boolean result = false;
    AccuRev accurev = repository.getAccuRev();
    AccuRevInfo info = accurev.info(null);
    String providerMessage = "";
    if (info == null) {
        providerMessage = "Unable to retrieve accurev info";
    } else if (repository.getUser() != null) {
        // Check if we've already logged in as this user
        result = repository.getUser().equals(info.getUser());
        if (result) {
            providerMessage = "Skipping login - already logged in as " + repository.getUser();
        } else {
            result = accurev.login(repository.getUser(), repository.getPassword());
            providerMessage = (result ? "Success" : "Failure") + " logging in as " + repository.getUser();
        }
    } else {
        result = info.isLoggedIn();
        providerMessage = result ? ("Logged in externally as " + info.getUser()) : "Not logged in";
    }
    getLogger().debug(providerMessage);
    return new LoginScmResult(accurev.getCommandLines(), providerMessage, accurev.getErrorOutput(), result);
}
Also used : AccuRev(org.apache.maven.scm.provider.accurev.AccuRev) LoginScmResult(org.apache.maven.scm.command.login.LoginScmResult) AccuRevInfo(org.apache.maven.scm.provider.accurev.AccuRevInfo)

Aggregations

LoginScmResult (org.apache.maven.scm.command.login.LoginScmResult)11 File (java.io.File)5 CommandParameters (org.apache.maven.scm.CommandParameters)5 ScmFileSet (org.apache.maven.scm.ScmFileSet)5 AbstractAccuRevCommandTest (org.apache.maven.scm.provider.accurev.command.AbstractAccuRevCommandTest)5 Test (org.junit.Test)5 ScmException (org.apache.maven.scm.ScmException)2 APIException (com.mks.api.response.APIException)1 Response (com.mks.api.response.Response)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 IOException (java.io.IOException)1 AccuRev (org.apache.maven.scm.provider.accurev.AccuRev)1 AccuRevInfo (org.apache.maven.scm.provider.accurev.AccuRevInfo)1 CvsScmProviderRepository (org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository)1 APISession (org.apache.maven.scm.provider.integrity.APISession)1 ExceptionHandler (org.apache.maven.scm.provider.integrity.ExceptionHandler)1 Project (org.apache.maven.scm.provider.integrity.Project)1 Sandbox (org.apache.maven.scm.provider.integrity.Sandbox)1 IntegrityLoginCommand (org.apache.maven.scm.provider.integrity.command.login.IntegrityLoginCommand)1 IntegrityScmProviderRepository (org.apache.maven.scm.provider.integrity.repository.IntegrityScmProviderRepository)1