Skip to content

Commit f736da9

Browse files
authored
Remove trailing slashes from parsed vault URLs (Azure#18286)
1 parent 3cc23c6 commit f736da9

File tree

4 files changed

+18
-14
lines changed

4 files changed

+18
-14
lines changed

sdk/keyvault/internal/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# Release History
22

3-
## 0.5.1 (Unreleased)
3+
## 0.6.0 (Unreleased)
44

55
### Features Added
66

77
### Breaking Changes
8+
* `ParseID()` no longer appends a trailing slash to vault URLs
89

910
### Bugs Fixed
1011

sdk/keyvault/internal/constants.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
package internal
88

99
const (
10-
version = "v0.5.1" //nolint
10+
version = "v0.6.0" //nolint
1111
)

sdk/keyvault/internal/parse.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func ParseID(id *string) (*string, *string, *string) {
2424
return nil, nil, nil
2525
}
2626

27-
url := fmt.Sprintf("%s://%s/", parsed.Scheme, parsed.Host)
27+
url := fmt.Sprintf("%s://%s", parsed.Scheme, parsed.Host)
2828
split := strings.Split(strings.TrimPrefix(parsed.Path, "/"), "/")
2929
if len(split) < 3 {
3030
if len(split) == 2 {

sdk/keyvault/internal/parse_test.go

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,33 @@ import (
1414

1515
func TestParseID(t *testing.T) {
1616
examples := map[string]struct{ url, name, version *string }{
17-
"https://myvaultname.vault.azure.net/keys/key1053998307/b86c2e6ad9054f4abf69cc185b99aa60": {to.Ptr("https://myvaultname.vault.azure.net/"), to.Ptr("key1053998307"), to.Ptr("b86c2e6ad9054f4abf69cc185b99aa60")},
18-
"https://myvaultname.vault.azure.net/keys/key1053998307": {to.Ptr("https://myvaultname.vault.azure.net/"), to.Ptr("key1053998307"), nil},
19-
"https://myvaultname.vault.azure.net/": {to.Ptr("https://myvaultname.vault.azure.net/"), nil, nil},
17+
"https://myvaultname.vault.azure.net/keys/key1053998307/b86c2e6ad9054f4abf69cc185b99aa60": {to.Ptr("https://myvaultname.vault.azure.net"), to.Ptr("key1053998307"), to.Ptr("b86c2e6ad9054f4abf69cc185b99aa60")},
18+
"https://myvaultname.vault.azure.net:8080/keys/key1053998307/b86c2e6ad9054f4abf69cc185b99aa60": {to.Ptr("https://myvaultname.vault.azure.net:8080"), to.Ptr("key1053998307"), to.Ptr("b86c2e6ad9054f4abf69cc185b99aa60")},
19+
"https://myvaultname.vault.azure.net/keys/key1053998307": {to.Ptr("https://myvaultname.vault.azure.net"), to.Ptr("key1053998307"), nil},
20+
"https://myvaultname.vault.azure.net:8080/keys/key1053998307": {to.Ptr("https://myvaultname.vault.azure.net:8080"), to.Ptr("key1053998307"), nil},
21+
"https://myvaultname.vault.azure.net/": {to.Ptr("https://myvaultname.vault.azure.net"), nil, nil},
22+
"https://myvaultname.vault.azure.net:8080": {to.Ptr("https://myvaultname.vault.azure.net:8080"), nil, nil},
2023
}
2124

22-
for url, result := range examples {
25+
for url, expected := range examples {
2326
url, name, version := ParseID(&url)
24-
if result.url == nil {
27+
if expected.url == nil {
2528
require.Nil(t, url)
2629
} else {
2730
require.NotNil(t, url)
28-
require.Equal(t, *url, *result.url)
31+
require.Equal(t, *expected.url, *url)
2932
}
30-
if result.name == nil {
33+
if expected.name == nil {
3134
require.Nil(t, name)
3235
} else {
33-
require.NotNilf(t, name, "expected %s", *result.name)
34-
require.Equal(t, *name, *result.name)
36+
require.NotNilf(t, name, "expected %s", *expected.name)
37+
require.Equal(t, *expected.name, *name)
3538
}
36-
if result.version == nil {
39+
if expected.version == nil {
3740
require.Nil(t, version)
3841
} else {
3942
require.NotNil(t, version)
40-
require.Equal(t, *version, *result.version)
43+
require.Equal(t, *expected.version, *version)
4144
}
4245
}
4346
}

0 commit comments

Comments
 (0)