Skip to content

Commit

Permalink
fix for incorrect cloud domain identification (#890)
Browse files Browse the repository at this point in the history
- if user logs in `https://cloud.astronomer-dev.io` it gets validated as cloud domaini
- before it used to incorrectly get identified as software domain
  • Loading branch information
jemishp committed Nov 19, 2022
1 parent 7713e89 commit 087e021
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 1 deletion.
3 changes: 2 additions & 1 deletion context/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ var (
// CloudDomainRegex is used to differentiate cloud domain from software domain
// See https://github.com/astronomer/astrohub-cli/issues/7 for regexp rationale
// This will need to be handled as part of the permanent solution to issue #432
CloudDomainRegex = regexp.MustCompile(`(?:(pr\d{4,6})\.|^)(?:cloud\.|)astronomer(?:-(dev|stage|perf))?\.io$`)
// CloudDomainRegex = regexp.MustCompile(`(?:(pr\d{4,6})\.|^)(?:cloud\.|)astronomer(?:-(dev|stage|perf))?\.io$`)
CloudDomainRegex = regexp.MustCompile(`(?:https:\/\/|^)(?:(pr\d{4,6})\.|)(?:cloud\.|)astronomer(?:-(dev|stage|perf))?\.io(?:\/|)$`)
contextDeleteWarnMsg = "Are you sure you want to delete currently used context: %s"
cancelCtxDeleteMsg = "Canceling context delete..."
failCtxDeleteMsg = "Error deleting context %s: "
Expand Down
10 changes: 10 additions & 0 deletions context/context_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,17 @@ func TestIsCloudDomain(t *testing.T) {
"astronomer-dev.io",
"astronomer-stage.io",
"astronomer-perf.io",
"cloud.astronomer.io",
"cloud.astronomer-dev.io",
"cloud.astronomer-stage.io",
"cloud.astronomer-perf.io",
"https://cloud.astronomer.io",
"https://cloud.astronomer-dev.io",
"https://cloud.astronomer-dev.io/",
"https://cloud.astronomer-stage.io",
"https://cloud.astronomer-stage.io/",
"https://cloud.astronomer-perf.io",
"https://cloud.astronomer-perf.io/",
"pr1234.cloud.astronomer-dev.io",
"pr1234.astronomer-dev.io",
"pr12345.astronomer-dev.io",
Expand Down
2 changes: 2 additions & 0 deletions pkg/domainutil/domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ var PRPreviewDomainRegex = regexp.MustCompile(`^(pr\d{4,6}).astronomer-dev\.io$`
func FormatDomain(domain string) string {
if strings.Contains(domain, "cloud") {
domain = strings.Replace(domain, "cloud.", "", 1)
domain = strings.Replace(domain, "https://", "", 1)
domain = strings.TrimRight(domain, "/") // removes trailing / if present
} else if domain == "" {
domain = DefaultDomain
}
Expand Down
20 changes: 20 additions & 0 deletions pkg/domainutil/domain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,38 @@ func TestFormatDomain(t *testing.T) {
actual := FormatDomain("cloud.astronomer-dev.io")
assert.Equal(t, "astronomer-dev.io", actual)
})
t.Run("removes https://cloud from cloud.astronomer-dev.io", func(t *testing.T) {
actual := FormatDomain("https://cloud.astronomer-dev.io")
assert.Equal(t, "astronomer-dev.io", actual)
})
t.Run("removes trailing / from cloud.astronomer-dev.io", func(t *testing.T) {
actual := FormatDomain("https://cloud.astronomer-dev.io/")
assert.Equal(t, "astronomer-dev.io", actual)
})
t.Run("removes cloud from cloud.astronomer-stage.io", func(t *testing.T) {
actual := FormatDomain("cloud.astronomer-stage.io")
assert.Equal(t, "astronomer-stage.io", actual)
})
t.Run("removes https://cloud from cloud.astronomer-stage.io", func(t *testing.T) {
actual := FormatDomain("https://cloud.astronomer-stage.io")
assert.Equal(t, "astronomer-stage.io", actual)
})
t.Run("removes cloud from cloud.astronomer-perf.io", func(t *testing.T) {
actual := FormatDomain("cloud.astronomer-perf.io")
assert.Equal(t, "astronomer-perf.io", actual)
})
t.Run("removes https://cloud from cloud.astronomer-perf.io", func(t *testing.T) {
actual := FormatDomain("https://cloud.astronomer-perf.io")
assert.Equal(t, "astronomer-perf.io", actual)
})
t.Run("removes cloud from pr1234.cloud.astronomer-dev.io", func(t *testing.T) {
actual := FormatDomain("pr1234.cloud.astronomer-dev.io")
assert.Equal(t, "pr1234.astronomer-dev.io", actual)
})
t.Run("removes https://cloud from pr1234.cloud.astronomer-dev.io", func(t *testing.T) {
actual := FormatDomain("https://pr1234.cloud.astronomer-dev.io")
assert.Equal(t, "pr1234.astronomer-dev.io", actual)
})
t.Run("sets default domain if one was not provided", func(t *testing.T) {
actual := FormatDomain("")
assert.Equal(t, "astronomer.io", actual)
Expand Down

0 comments on commit 087e021

Please sign in to comment.