test(outputs.sql): simplify clickhouse test (#12189)

This commit is contained in:
Joshua Powers 2022-11-07 09:06:30 -07:00 committed by GitHub
parent 49c1c28461
commit b3a460f7e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 47 deletions

View File

@ -386,52 +386,32 @@ func TestClickHouseIntegration(t *testing.T) {
require.NoError(t, p.Connect()) require.NoError(t, p.Connect())
require.NoError(t, p.Write(testMetrics)) require.NoError(t, p.Write(testMetrics))
// wait for last test metric to get written cases := []struct {
require.Eventually(t, func() bool { table string
var out io.Reader expected string
_, out, err = container.Exec([]string{ }{
"bash", {"metric_one", "`float64_one` Float64"},
"-c", {"metric_two", "`string_one` String"},
"clickhouse-client" + {"metric three", "`string two` String"},
" --user=" + username + }
" --database=" + dbname + for _, tc := range cases {
" --format=TabSeparatedRaw" + require.Eventually(t, func() bool {
" --multiquery --query=" + var out io.Reader
"\"SELECT * FROM \\\"metric three\\\";" + _, out, err = container.Exec([]string{
"SHOW CREATE TABLE \\\"metric three\\\"\"", "bash",
}) "-c",
require.NoError(t, err) "clickhouse-client" +
bytes, err := io.ReadAll(out) " --user=" + username +
require.NoError(t, err) " --database=" + dbname +
return strings.Contains(string(bytes), "`string two` String") " --format=TabSeparatedRaw" +
}, 5*time.Second, 10*time.Millisecond) " --multiquery --query=" +
"\"SELECT * FROM \\\"" + tc.table + "\\\";" +
// dump the database "SHOW CREATE TABLE \\\"" + tc.table + "\\\"\"",
var rc int })
for _, testMetric := range testMetrics { require.NoError(t, err)
rc, _, err = container.Exec([]string{ bytes, err := io.ReadAll(out)
"bash", require.NoError(t, err)
"-c", return strings.Contains(string(bytes), tc.expected)
"clickhouse-client" + }, 5*time.Second, 10*time.Millisecond)
" --user=" + username +
" --database=" + dbname +
" --format=TabSeparatedRaw" +
" --multiquery --query=" +
"\"SELECT * FROM \\\"" + testMetric.Name() + "\\\";" +
"SHOW CREATE TABLE \\\"" + testMetric.Name() + "\\\"\"" +
" >> /out/dump 2>&1",
})
require.NoError(t, err)
require.Equal(t, 0, rc)
} }
dumpfile := filepath.Join(outDir, "dump")
require.FileExists(t, dumpfile)
//compare the dump to what we expected
expected, err := os.ReadFile("testdata/clickhouse/expected.txt")
require.NoError(t, err)
actual, err := os.ReadFile(dumpfile)
require.NoError(t, err)
require.Equal(t, string(expected), string(actual))
} }