From 8695b4f6d86bfa3c241f65bf362e36600da97495 Mon Sep 17 00:00:00 2001 From: Dave Henderson Date: Mon, 28 Jan 2019 23:45:58 -0500 Subject: Adding missing tests Signed-off-by: Dave Henderson --- data/datasource_file.go | 4 ++-- data/datasource_file_test.go | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) (limited to 'data') diff --git a/data/datasource_file.go b/data/datasource_file.go index 02c9cc81..93367cc5 100644 --- a/data/datasource_file.go +++ b/data/datasource_file.go @@ -28,7 +28,7 @@ func readFile(source *Source, args ...string) ([]byte, error) { } if parsed.Path != "" { - p = p + "/" + parsed.Path + p = filepath.Join(p, parsed.Path) } } @@ -38,7 +38,7 @@ func readFile(source *Source, args ...string) ([]byte, error) { return nil, errors.Wrapf(err, "Can't stat %s", p) } - if strings.HasSuffix(p, "/") { + if strings.HasSuffix(p, string(filepath.Separator)) { source.mediaType = jsonArrayMimetype if i.IsDir() { return readFileDir(source, p) diff --git a/data/datasource_file_test.go b/data/datasource_file_test.go index 5bc77396..3a402b3b 100644 --- a/data/datasource_file_test.go +++ b/data/datasource_file_test.go @@ -47,4 +47,22 @@ func TestReadFile(t *testing.T) { actual, err = readFile(source) assert.NoError(t, err) assert.Equal(t, []byte(`["bar.txt","baz.txt","foo.txt"]`), actual) + + source = &Source{Alias: "dir", URL: mustParseURL("file:///tmp/partial/?type=application/json")} + source.fs = fs + actual, err = readFile(source) + assert.NoError(t, err) + assert.Equal(t, []byte(`["bar.txt","baz.txt","foo.txt"]`), actual) + mime, err := source.mimeType() + assert.NoError(t, err) + assert.Equal(t, "application/json", mime) + + source = &Source{Alias: "dir", URL: mustParseURL("file:///tmp/partial/?type=application/json")} + source.fs = fs + actual, err = readFile(source, "foo.txt") + assert.NoError(t, err) + assert.Equal(t, []byte(content), actual) + mime, err = source.mimeType() + assert.NoError(t, err) + assert.Equal(t, "application/json", mime) } -- cgit v1.2.3