github.com/vchain-us/vcn@v0.9.11-0.20210921212052-a2484d23c0b3/pkg/extractor/wildcard/wildcard_test.go (about)

     1  package wildcard
     2  
     3  import (
     4  	file2 "github.com/vchain-us/vcn/pkg/extractor/file"
     5  	"log"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/vchain-us/vcn/pkg/uri"
     9  	"io/ioutil"
    10  	"os"
    11  	"path/filepath"
    12  	"testing"
    13  )
    14  
    15  func TestWildcard(t *testing.T) {
    16  	file, err := ioutil.TempFile("", "vcn-test-scheme-file")
    17  	if err != nil {
    18  		log.Fatal(err)
    19  	}
    20  	defer os.Remove(file.Name())
    21  	err = ioutil.WriteFile(file.Name(), []byte("123\n"), 0644)
    22  	if err != nil {
    23  		log.Fatal(err)
    24  	}
    25  
    26  	// Default empty schema is wildcard
    27  	u, _ := uri.Parse(file.Name())
    28  	artifacts, err := Artifact(u)
    29  	assert.NoError(t, err)
    30  	assert.NotNil(t, artifacts[0])
    31  	assert.Equal(t, file2.Scheme, artifacts[0].Kind)
    32  	assert.Equal(t, filepath.Base(file.Name()), artifacts[0].Name)
    33  	assert.Equal(t, "181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b", artifacts[0].Hash)
    34  
    35  	u, _ = uri.Parse("../../../docs/vcncheatsheet.pdf")
    36  	artifacts, err = Artifact(u)
    37  	assert.NoError(t, err)
    38  	assert.NotNil(t, artifacts)
    39  	assert.Equal(t, artifacts[0].ContentType, "application/pdf")
    40  }