Skip to content

Commit

Permalink
Fix Azure URL generation for remotes with optional company name (#313)
Browse files Browse the repository at this point in the history
Co-authored-by: Eugene Baranovsky <[email protected]>
  • Loading branch information
murlakatam and Eugene Baranovsky committed Aug 24, 2023
1 parent f332db4 commit 82998f0
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ class AzureUrlFactory: UrlFactory {

// Azure expects this to be in the path between the project and repo name. It's already included when cloning the project using HTTPS, but not when cloning the project using SSH.
if (!basePathParts.contains("_git")) {
basePathParts.add(1, "_git")
// urls might have an option company component, if that's the case we need to insert _git in between company/project and repository parts
val indexToAddGit = if (basePathParts.size >= 3) 2 else 1
basePathParts.add(indexToAddGit, "_git")
}

val baseUrl = URL(scheme = Scheme.https(), host = host, path = Path(basePathParts.joinToString("/")))
Expand Down
10 changes: 10 additions & 0 deletions src/test/kotlin/uk/co/ben_gibson/git/link/url/AzureTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ class AzureTest {

private val REMOTE_BASE_URL_WITH_GIT = URL.fromString("https://dev.azure.com/ben-gibson/_git/test")
private val REMOTE_BASE_URL_WITHOUT_GIT = URL.fromString("https://dev.azure.com/ben-gibson/test")
private val REMOTE_BASE_URL_WITH_COMPANY_AND_GIT = URL.fromString("https://dev.azure.com/company/project/_git/test")
private val REMOTE_BASE_URL_WITH_COMPANY_WITHOUT_GIT = URL.fromString("https://dev.azure.com/company/project/test")
private const val BRANCH = "master"
private val COMMIT = Commit("b032a0707beac9a2f24b1b7d97ee4f7156de182c")
private val FILE = File("Foo.java", false, "src", false)
Expand Down Expand Up @@ -61,6 +63,14 @@ class AzureTest {
Arguments.of(
UrlOptionsCommit(REMOTE_BASE_URL_WITHOUT_GIT, COMMIT),
"https://dev.azure.com/ben-gibson/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
),
Arguments.of(
UrlOptionsCommit(REMOTE_BASE_URL_WITH_COMPANY_AND_GIT, COMMIT),
"https://dev.azure.com/company/project/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
),
Arguments.of(
UrlOptionsCommit(REMOTE_BASE_URL_WITH_COMPANY_WITHOUT_GIT, COMMIT),
"https://dev.azure.com/company/project/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
)
)
}
Expand Down

0 comments on commit 82998f0

Please sign in to comment.