github.com/vchain-us/vcn@v0.9.11-0.20210921212052-a2484d23c0b3/pkg/extractor/file/file_test.go (about) 1 /* 2 * Copyright (c) 2018-2020 vChain, Inc. All Rights Reserved. 3 * This software is released under GPL3. 4 * The full license information can be found under: 5 * https://www.gnu.org/licenses/gpl-3.0.en.html 6 * 7 */ 8 9 package file 10 11 import ( 12 "io/ioutil" 13 "log" 14 "path/filepath" 15 16 "github.com/stretchr/testify/assert" 17 18 "os" 19 "testing" 20 21 "github.com/vchain-us/vcn/pkg/uri" 22 ) 23 24 func TestFile(t *testing.T) { 25 file, err := ioutil.TempFile("", "vcn-test-scheme-file") 26 if err != nil { 27 log.Fatal(err) 28 } 29 defer os.Remove(file.Name()) 30 err = ioutil.WriteFile(file.Name(), []byte("123\n"), 0644) 31 if err != nil { 32 log.Fatal(err) 33 } 34 u, _ := uri.Parse("file://" + file.Name()) 35 36 artifacts, err := Artifact(u) 37 assert.NoError(t, err) 38 assert.NotNil(t, artifacts) 39 assert.Equal(t, Scheme, artifacts[0].Kind) 40 assert.Equal(t, filepath.Base(file.Name()), artifacts[0].Name) 41 assert.Equal(t, "181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b", artifacts[0].Hash) 42 43 }