@@ -23,6 +23,7 @@ import (
23
23
"net/http"
24
24
"net/http/httptest"
25
25
"os"
26
+ "strings"
26
27
"testing"
27
28
28
29
"github.com/hashicorp/go-retryablehttp"
@@ -72,6 +73,19 @@ func TestSecureLoadChartFromURL(t *testing.T) {
72
73
g .Expect (got .Metadata .Version ).To (Equal ("0.1.0" ))
73
74
})
74
75
76
+ t .Run ("overwrites hostname" , func (t * testing.T ) {
77
+ g := NewWithT (t )
78
+
79
+ t .Setenv (envSourceControllerLocalhost , strings .TrimPrefix (server .URL , "http://" ))
80
+ wrongHostnameURL := "http://invalid.com" + chartPath
81
+
82
+ got , err := SecureLoadChartFromURL (client , wrongHostnameURL , digest .String ())
83
+ g .Expect (err ).ToNot (HaveOccurred ())
84
+ g .Expect (got ).ToNot (BeNil ())
85
+ g .Expect (got .Name ()).To (Equal ("chart" ))
86
+ g .Expect (got .Metadata .Version ).To (Equal ("0.1.0" ))
87
+ })
88
+
75
89
t .Run ("error on chart data digest mismatch" , func (t * testing.T ) {
76
90
g := NewWithT (t )
77
91
@@ -162,3 +176,44 @@ func Test_copyAndVerify(t *testing.T) {
162
176
})
163
177
}
164
178
}
179
+
180
+ func Test_overwriteHostname (t * testing.T ) {
181
+ tests := []struct {
182
+ name string
183
+ URL string
184
+ hostname string
185
+ want string
186
+ wantErr bool
187
+ }{
188
+ {
189
+ name : "overwrite hostname" ,
190
+ URL : "http://example.com" ,
191
+ hostname : "localhost" ,
192
+ want : "http://localhost" ,
193
+ },
194
+ {
195
+ name : "overwrite hostname with port" ,
196
+ URL : "http://example.com" ,
197
+ hostname : "localhost:9090" ,
198
+ want : "http://localhost:9090" ,
199
+ },
200
+ {
201
+ name : "no hostname" ,
202
+ URL : "http://example.com" ,
203
+ hostname : "" ,
204
+ want : "http://example.com" ,
205
+ },
206
+ }
207
+ for _ , tt := range tests {
208
+ t .Run (tt .name , func (t * testing.T ) {
209
+ got , err := overwriteHostname (tt .URL , tt .hostname )
210
+ if (err != nil ) != tt .wantErr {
211
+ t .Errorf ("overwriteHostname() error = %v, wantErr %v" , err , tt .wantErr )
212
+ return
213
+ }
214
+ if got != tt .want {
215
+ t .Errorf ("overwriteHostname() got = %v, want %v" , got , tt .want )
216
+ }
217
+ })
218
+ }
219
+ }
0 commit comments