Updated Branches: refs/heads/master 5d8d5c7c6 -> b41cf6dd2
[SCM-707] Maven SCM should encode username and password in URL prepare tests Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/498b6a54 Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/498b6a54 Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/498b6a54 Branch: refs/heads/master Commit: 498b6a548043a14557792c62abde9564c16dfcfe Parents: 5d8d5c7 Author: rfscholte <rfscho...@apache.org> Authored: Fri Apr 5 23:01:32 2013 +0200 Committer: rfscholte <rfscho...@apache.org> Committed: Fri Apr 5 23:01:32 2013 +0200 ---------------------------------------------------------------------- .../repository/GitScmProviderRepositoryTest.java | 70 +++++++++++--- 1 files changed, 55 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-scm/blob/498b6a54/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java ---------------------------------------------------------------------- diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java index 06ebdde..ab3e772 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java @@ -20,6 +20,7 @@ package org.apache.maven.scm.provider.git.repository; */ import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.manager.NoSuchScmProviderException; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; @@ -231,7 +232,7 @@ public class GitScmProviderRepositoryTest { testIllegalUrl( "file:/tmp/git" ); } - + // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- @@ -242,17 +243,41 @@ public class GitScmProviderRepositoryTest String expectedHost, int expectedPort, String expectedPath) throws Exception, ScmRepositoryException { - ScmRepository repository = scmManager.makeScmRepository( scmUrl ); - assertNotNull( "ScmManager.makeScmRepository() returned null", repository ); + ScmRepository repository = testScmRepository( scmUrl, expectedToString, expectedFetchUrl ); + + GitScmProviderRepository providerRepository = (GitScmProviderRepository) repository.getProviderRepository(); - assertNotNull( "The provider repository was null.", repository.getProviderRepository() ); + return testScmProviderRepository( expectedToString, expectedFetchUrl, expectedPushUrl, expectedUser, + expectedPassword, expectedHost, expectedPort, providerRepository ); + + } - assertTrue( "The SCM Repository isn't a " + GitScmProviderRepository.class.getName() + ".", repository - .getProviderRepository() instanceof GitScmProviderRepository ); + private GitScmProviderRepository testUrl(String scmUrl, String username, String password, String expectedToString, + String expectedFetchUrl, String expectedPushUrl, + String expectedUser, String expectedPassword, + String expectedHost, int expectedPort, String expectedPath) + throws Exception, ScmRepositoryException + { + + ScmRepository repository = testScmRepository( scmUrl, expectedToString, expectedFetchUrl ); GitScmProviderRepository providerRepository = (GitScmProviderRepository) repository.getProviderRepository(); + providerRepository.setUser( username ); + + providerRepository.setPassword( password ); + + return testScmProviderRepository( expectedToString, expectedFetchUrl, expectedPushUrl, expectedUser, + expectedPassword, expectedHost, expectedPort, providerRepository ); + } + + private GitScmProviderRepository testScmProviderRepository( String expectedToString, String expectedFetchUrl, + String expectedPushUrl, String expectedUser, + String expectedPassword, String expectedHost, + int expectedPort, + GitScmProviderRepository providerRepository ) + { assertEquals( "fetch url is incorrect", expectedFetchUrl, providerRepository.getFetchUrl() ); if ( expectedPushUrl != null ) @@ -260,15 +285,6 @@ public class GitScmProviderRepositoryTest assertEquals( "push url is incorrect", expectedPushUrl, providerRepository.getPushUrl() ); } - if ( expectedToString != null ) - { - assertEquals( "toString is incorrect", "git:" + expectedToString, repository.toString() ); - } - else - { - assertEquals( "toString is incorrect", "git:" + expectedFetchUrl, repository.toString() ); - } - assertEquals( "User is incorrect", expectedUser, providerRepository.getUser() ); assertEquals( "Password is incorrect", expectedPassword, providerRepository.getPassword() ); @@ -283,6 +299,30 @@ public class GitScmProviderRepositoryTest return providerRepository; } + private ScmRepository testScmRepository( String scmUrl, String expectedToString, String expectedFetchUrl ) + throws ScmRepositoryException, NoSuchScmProviderException + { + ScmRepository repository = scmManager.makeScmRepository( scmUrl ); + + assertNotNull( "ScmManager.makeScmRepository() returned null", repository ); + + assertNotNull( "The provider repository was null.", repository.getProviderRepository() ); + + assertTrue( "The SCM Repository isn't a " + GitScmProviderRepository.class.getName() + ".", repository + .getProviderRepository() instanceof GitScmProviderRepository ); + + if ( expectedToString != null ) + { + assertEquals( "toString is incorrect", "git:" + expectedToString, repository.toString() ); + } + else + { + assertEquals( "toString is incorrect", "git:" + expectedFetchUrl, repository.toString() ); + } + + return repository; + } + private void testIllegalUrl( String url ) throws Exception {