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  }