From 4bcdd1ee77d27bebee99ced9c8bba45f654df7cc Mon Sep 17 00:00:00 2001 From: Roberto Tyley Date: Thu, 24 May 2012 14:36:26 +0100 Subject: [PATCH] add unit test for bitbucket web launch, use https rather than ssh I think it's better to default to https rather than ssh clone urls for this case because SSH access requires the user to have an SSH key installed - even if it's a public repo. also normalise formatting of AndroidManifest --- agit/AndroidManifest.xml | 12 +++---- .../BitBucketWebLaunchActivity.java | 2 +- .../BitBucketWebLaunchActivityTest.java | 36 +++++++++++++++++++ 3 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 agit/src/test/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivityTest.java diff --git a/agit/AndroidManifest.xml b/agit/AndroidManifest.xml index 02deff06..ca1f3db4 100644 --- a/agit/AndroidManifest.xml +++ b/agit/AndroidManifest.xml @@ -125,13 +125,13 @@ - + - - - - - + + + + + diff --git a/agit/src/main/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivity.java b/agit/src/main/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivity.java index e159b291..475f2df7 100644 --- a/agit/src/main/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivity.java +++ b/agit/src/main/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivity.java @@ -19,6 +19,6 @@ public class BitBucketWebLaunchActivity extends WebLaunchActivity { Intent cloneLauncherForWebBrowseIntent(Uri uri) { Matcher matcher = projectPathPattern.matcher(uri.getPath()); matcher.find(); - return cloneLauncherIntentFor("git@bitbucket.org:"+ matcher.group(1) +".git"); + return cloneLauncherIntentFor("https://bitbucket.org/"+ matcher.group(1) +".git"); } } diff --git a/agit/src/test/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivityTest.java b/agit/src/test/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivityTest.java new file mode 100644 index 00000000..626022a4 --- /dev/null +++ b/agit/src/test/java/com/madgag/agit/weblaunchers/BitBucketWebLaunchActivityTest.java @@ -0,0 +1,36 @@ +package com.madgag.agit.weblaunchers; + +import static com.madgag.agit.GitIntents.sourceUriFrom; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; +import android.net.Uri; + +import com.google.inject.Inject; +import com.madgag.agit.InjectedTestRunner; + +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(InjectedTestRunner.class) +public class BitBucketWebLaunchActivityTest { + + @Inject + BitBucketWebLaunchActivity activity; + + @Test + public void shouldSupplyCloneSourceFromBitBucketProjectPage() { + String projectUrl = "https://bitbucket.org/grubix/git"; + assertThat(sourceUriDerivedFrom(projectUrl), is("https://bitbucket.org/grubix/git.git")); + } + + @Test + public void shouldSupplyCloneSourceFromBitBucketCheckoutPage() { + String sourceUri = sourceUriDerivedFrom("https://bitbucket.org/grubix/git/src"); + assertThat(sourceUri, is("https://bitbucket.org/grubix/git.git")); + } + + private String sourceUriDerivedFrom(String url) { + return sourceUriFrom(activity.cloneLauncherForWebBrowseIntent(Uri.parse(url))); + } + +}