github.com/Datadog/cnab-go@v0.3.3-beta1.0.20191007143216-bba4b7e723d0/bundle/loader/loader_test.go (about) 1 package loader 2 3 import ( 4 "bytes" 5 "io" 6 "io/ioutil" 7 "net/http" 8 "net/http/httptest" 9 "path/filepath" 10 "testing" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 var testFooJSON = filepath.Join("..", "testdata", "minimal.json") 16 17 func TestLoader(t *testing.T) { 18 is := assert.New(t) 19 20 l := NewLoader() 21 bundle, err := l.Load(testFooJSON) 22 if err != nil { 23 t.Fatalf("cannot load bundle: %v", err) 24 } 25 26 is.Equal("mybun", bundle.Name) 27 is.Equal("v1.0.0", bundle.Version) 28 } 29 func TestLoader_Remote(t *testing.T) { 30 31 data, err := ioutil.ReadFile(testFooJSON) 32 if err != nil { 33 t.Fatalf("cannot read bundle file: %v", err) 34 } 35 36 ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 37 io.Copy(w, bytes.NewBuffer(data)) 38 })) 39 defer ts.Close() 40 41 l := NewLoader() 42 bundle, err := l.Load(ts.URL) 43 if err != nil { 44 t.Fatal(err) 45 } 46 is := assert.New(t) 47 48 is.Equal("mybun", bundle.Name) 49 is.Equal("v1.0.0", bundle.Version) 50 }