Updated test

Signed-off-by: Vaibhav Sharma <17532va@gmail.com>
pull/11701/head
Vaibhav Sharma 3 years ago
parent 6dfa9d7eed
commit eaec64aa92

@ -576,7 +576,7 @@ func TestKey(t *testing.T) {
// See issue https://github.com/helm/helm/issues/11509 // See issue https://github.com/helm/helm/issues/11509
func TestUpdateOnlyRequiredRepos(t *testing.T) { func TestUpdateOnlyRequiredRepos(t *testing.T) {
// Set up a fake repo // Set up a fake repo
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/*.tgz*") srv, err := repotest.NewTempServerWithCleanupAndMultipleRepos(t, "testdata/*.tgz*")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)

@ -50,7 +50,22 @@ import (
// The caller is responsible for stopping the server. // The caller is responsible for stopping the server.
// The temp dir will be removed by testing package automatically when test finished. // The temp dir will be removed by testing package automatically when test finished.
func NewTempServerWithCleanup(t *testing.T, glob string) (*Server, error) { func NewTempServerWithCleanup(t *testing.T, glob string) (*Server, error) {
srv, err := NewTempServer(glob) srv, _, err := NewTempServer(glob)
t.Cleanup(func() { os.RemoveAll(srv.docroot) })
return srv, err
}
// Set up a server with multiple fake repo
func NewTempServerWithCleanupAndMultipleRepos(t *testing.T, glob string) (*Server, error) {
srv, tdir, err := NewTempServer(glob)
urls := []string{srv.URL(), "http://foobarbazz:9001"}
if err := setTestingRepositories(urls, filepath.Join(tdir, "repositories.yaml")); err != nil {
panic(err)
}
if _, err := srv.CopyCharts(glob); err != nil {
srv.Stop()
return srv, err
}
t.Cleanup(func() { os.RemoveAll(srv.docroot) }) t.Cleanup(func() { os.RemoveAll(srv.docroot) })
return srv, err return srv, err
} }
@ -248,21 +263,21 @@ func (srv *OCIServer) Run(t *testing.T, opts ...OCIServerOpt) {
// the server. // the server.
// //
// Deprecated: use NewTempServerWithCleanup // Deprecated: use NewTempServerWithCleanup
func NewTempServer(glob string) (*Server, error) { func NewTempServer(glob string) (*Server, string, error) {
tdir, err := ioutil.TempDir("", "helm-repotest-") tdir, err := ioutil.TempDir("", "helm-repotest-")
if err != nil { if err != nil {
return nil, err return nil, tdir, err
} }
srv := NewServer(tdir) srv := NewServer(tdir)
if glob != "" { if glob != "" {
if _, err := srv.CopyCharts(glob); err != nil { if _, err := srv.CopyCharts(glob); err != nil {
srv.Stop() srv.Stop()
return srv, err return srv, tdir, err
} }
} }
return srv, nil return srv, tdir, nil
} }
// NewServer creates a repository server for testing. // NewServer creates a repository server for testing.
@ -400,6 +415,7 @@ func (s *Server) Stop() {
// URL returns the URL of the server. // URL returns the URL of the server.
// //
// Example: // Example:
//
// http://localhost:1776 // http://localhost:1776
func (s *Server) URL() string { func (s *Server) URL() string {
return s.srv.URL return s.srv.URL
@ -423,3 +439,16 @@ func setTestingRepository(url, fname string) error {
}) })
return r.WriteFile(fname, 0644) return r.WriteFile(fname, 0644)
} }
// setTestingRepository sets up a testing repository.yaml with only the given URL.
func setTestingRepositories(urls []string, fname string) error {
r := repo.NewFile()
for _, url := range urls {
r.Add(&repo.Entry{
Name: "test",
URL: url,
})
}
return r.WriteFile(fname, 0644)
}

Loading…
Cancel
Save