github.com/kubri/kubri@v0.5.1-0.20240317001612-bda2aaef967e/internal/blob/source_test.go (about)

     1  package blob_test
     2  
     3  import (
     4  	"net/url"
     5  	"testing"
     6  
     7  	_ "gocloud.dev/blob/memblob" // blob driver
     8  
     9  	"github.com/kubri/kubri/internal/blob"
    10  	"github.com/kubri/kubri/internal/test"
    11  )
    12  
    13  func TestSource(t *testing.T) {
    14  	tests := []struct {
    15  		name   string
    16  		prefix string
    17  	}{
    18  		{"Default", ""},
    19  		{"Prefix", "/test/"},
    20  	}
    21  	for _, testCase := range tests {
    22  		t.Run(testCase.name, func(t *testing.T) {
    23  			s, err := blob.NewSource("mem://", testCase.prefix, "http://example.com/downloads")
    24  			if err != nil {
    25  				t.Fatal(err)
    26  			}
    27  
    28  			test.Source(t, s, func(version, asset string) string {
    29  				u, _ := url.JoinPath("http://example.com/downloads", testCase.prefix, version, asset)
    30  				return u
    31  			})
    32  		})
    33  	}
    34  }