Add a loader test.

This commit is contained in:
jregan
2020-12-08 12:58:35 -08:00
parent 3dd9c6c0b5
commit 6bbc829593
5 changed files with 177 additions and 73 deletions

View File

@@ -7,11 +7,13 @@ import (
"context"
"log"
"os"
"time"
"github.com/yujunz/go-getter"
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/ifc"
"sigs.k8s.io/kustomize/api/internal/git"
"sigs.k8s.io/kustomize/api/types"
)
type remoteTargetSpec struct {
@@ -28,7 +30,12 @@ type remoteTargetSpec struct {
// Getter is a function that can gets resource
type remoteTargetGetter func(rs *remoteTargetSpec) error
func newLoaderAtGetter(raw string, fSys filesys.FileSystem, referrer *fileLoader, cloner git.Cloner, getter remoteTargetGetter) (ifc.Loader, error) {
func newLoaderAtGetter(
raw string,
fSys filesys.FileSystem,
referrer *fileLoader,
cloner git.Cloner,
getter remoteTargetGetter) (ifc.Loader, error) {
rs := &remoteTargetSpec{
Raw: raw,
}
@@ -86,7 +93,22 @@ func getRemoteTarget(rs *remoteTargetSpec) error {
},
Options: opts,
}
return client.Get()
ch := make(chan bool, 1)
defer close(ch)
d := 21 * time.Second // arbitrary
timer := time.NewTimer(d)
defer timer.Stop()
go func() {
err = client.Get()
ch <- true
}()
select {
case <-ch:
case <-timer.C:
err = types.NewErrTimeOut(d, "go-getter client.Get")
}
return err
}
func getNothing(rs *remoteTargetSpec) error {