summaryrefslogtreecommitdiff
path: root/data/datasource_merge_test.go
diff options
context:
space:
mode:
authorDave Henderson <dhenderson@gmail.com>2020-05-20 21:35:00 -0400
committerDave Henderson <dhenderson@gmail.com>2020-05-20 21:35:00 -0400
commit291721ca318ab1a20d3da5b1ef0ffdbc36bf08bf (patch)
tree174de5994f52805135c421ec6b2701d0b8779435 /data/datasource_merge_test.go
parent5e6a0771201ec6ff67dfcd45447a2ba8be615ba3 (diff)
Add test for relative paths in merge datasources
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'data/datasource_merge_test.go')
-rw-r--r--data/datasource_merge_test.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/data/datasource_merge_test.go b/data/datasource_merge_test.go
index b08148d5..a7427154 100644
--- a/data/datasource_merge_test.go
+++ b/data/datasource_merge_test.go
@@ -2,6 +2,8 @@ package data
import (
"net/url"
+ "os"
+ "path/filepath"
"testing"
"github.com/spf13/afero"
@@ -28,6 +30,17 @@ func TestReadMerge(t *testing.T) {
f, _ = fs.Create("/tmp/textfile.txt")
_, _ = f.WriteString(`plain text...`)
+ wd, _ := os.Getwd()
+ _ = fs.Mkdir(wd, 0777)
+ f, _ = fs.Create(filepath.Join(wd, "jsonfile.json"))
+ _, _ = f.WriteString(jsonContent)
+ f, _ = fs.Create(filepath.Join(wd, "array.json"))
+ _, _ = f.WriteString(arrayContent)
+ f, _ = fs.Create(filepath.Join(wd, "yamlfile.yaml"))
+ _, _ = f.WriteString(yamlContent)
+ f, _ = fs.Create(filepath.Join(wd, "textfile.txt"))
+ _, _ = f.WriteString(`plain text...`)
+
source := &Source{Alias: "foo", URL: mustParseURL("merge:file:///tmp/jsonfile.json|file:///tmp/yamlfile.yaml")}
source.fs = fs
d := &Data{
@@ -51,6 +64,11 @@ func TestReadMerge(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, mergedContent, string(actual))
+ source.URL = mustParseURL("merge:./jsonfile.json|baz")
+ actual, err = d.readMerge(source)
+ assert.NoError(t, err)
+ assert.Equal(t, mergedContent, string(actual))
+
source.URL = mustParseURL("merge:file:///tmp/jsonfile.json")
_, err = d.readMerge(source)
assert.Error(t, err)