diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2019-01-28 23:45:58 -0500 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2019-01-28 23:45:58 -0500 |
| commit | 8695b4f6d86bfa3c241f65bf362e36600da97495 (patch) | |
| tree | 4698e58c26813b92a85b39f0e55711ec6fd56091 /data | |
| parent | 607dd429663edfa5a9248c09801a12f07b63bd4f (diff) | |
Adding missing tests
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data')
| -rw-r--r-- | data/datasource_file.go | 4 | ||||
| -rw-r--r-- | data/datasource_file_test.go | 18 |
2 files changed, 20 insertions, 2 deletions
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) } |
