From 6b8057a5f97caa27d409913c8894ce1a63fcf750 Mon Sep 17 00:00:00 2001 From: Malcolm Holmes Date: Fri, 1 Mar 2024 12:36:44 +0000 Subject: [PATCH] Final test passes --- integration/datasource_test.go | 7 +++++-- .../datasources/datasource-broken-returned2.json | 16 ++++++++++++++++ integration/utils_test.go | 11 +++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 integration/testdata/datasources/datasource-broken-returned2.json diff --git a/integration/datasource_test.go b/integration/datasource_test.go index 785f143b..28a9e715 100644 --- a/integration/datasource_test.go +++ b/integration/datasource_test.go @@ -69,8 +69,11 @@ func TestDatasources(t *testing.T) { ExpectedOutput: "Datasource.datasource-broken added\n", }, { - Command: "get -o json Datasource.datasource-broken", - ExpectedOutputFile: "datasource-broken-returned.json", + Command: "get -o json Datasource.datasource-broken", + ExpectedOutputFiles: []string{ + "datasource-broken-returned.json", + "datasource-broken-returned2.json", + }, }, }, }) diff --git a/integration/testdata/datasources/datasource-broken-returned2.json b/integration/testdata/datasources/datasource-broken-returned2.json new file mode 100644 index 00000000..55bfe3bf --- /dev/null +++ b/integration/testdata/datasources/datasource-broken-returned2.json @@ -0,0 +1,16 @@ +{ + "apiVersion": "grizzly.grafana.com/v1alpha1", + "kind": "Datasource", + "metadata": { + "name": "datasource-broken" + }, + "spec": { + "access": "proxy", + "jsonData": {}, + "name": "InfluxDB", + "orgId": 1, + "type": "influxdb", + "typeLogoUrl": "/grafana/public/app/plugins/datasource/influxdb/img/influxdb_logo.svg", + "uid": "datasource-broken" + } +} diff --git a/integration/utils_test.go b/integration/utils_test.go index 8ce2b476..2cd03132 100644 --- a/integration/utils_test.go +++ b/integration/utils_test.go @@ -20,6 +20,7 @@ type Command struct { ExpectedLogsContain string ExpectedOutput string ExpectedOutputFile string + ExpectedOutputFiles []string ExpectedOutputContains string } type GrizzlyTest struct { @@ -61,6 +62,16 @@ func runTest(t *testing.T, test GrizzlyTest) { require.NoError(t, err) command.ExpectedOutput = string(bytes) } + if command.ExpectedOutputFiles != nil { + var expectedOutputs []string + for _, expectedOutputFile := range command.ExpectedOutputFiles { + bytes, err := os.ReadFile(filepath.Join(test.TestDir, expectedOutputFile)) + require.NoError(t, err) + expectedOutputs = append(expectedOutputs, strings.TrimSpace(string(bytes))) + } + require.Contains(t, expectedOutputs, strings.TrimSpace(stdout)) + + } if command.ExpectedOutput != "" { require.Equal(t, strings.TrimSpace(command.ExpectedOutput), strings.TrimSpace(stdout)) }