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
func TestUpdateOnlyRequiredRepos(t *testing.T) {
// Set up a fake repo
srv, err := repotest.NewTempServerWithCleanup(t, "testdata/*.tgz*")
srv, err := repotest.NewTempServerWithCleanupAndMultipleRepos(t, "testdata/*.tgz*")
if err != nil {
t.Fatal(err)

@ -50,7 +50,22 @@ import (
// The caller is responsible for stopping the server.
// The temp dir will be removed by testing package automatically when test finished.
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) })
return srv, err
}
@ -248,21 +263,21 @@ func (srv *OCIServer) Run(t *testing.T, opts ...OCIServerOpt) {
// the server.
//
// Deprecated: use NewTempServerWithCleanup
func NewTempServer(glob string) (*Server, error) {
func NewTempServer(glob string) (*Server, string, error) {
tdir, err := ioutil.TempDir("", "helm-repotest-")
if err != nil {
return nil, err
return nil, tdir, err
}
srv := NewServer(tdir)
if glob != "" {
if _, err := srv.CopyCharts(glob); err != nil {
srv.Stop()
return srv, err
return srv, tdir, err
}
}
return srv, nil
return srv, tdir, nil
}
// NewServer creates a repository server for testing.
@ -400,6 +415,7 @@ func (s *Server) Stop() {
// URL returns the URL of the server.
//
// Example:
//
// http://localhost:1776
func (s *Server) URL() string {
return s.srv.URL
@ -423,3 +439,16 @@ func setTestingRepository(url, fname string) error {
})
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