test(outputs.sql): simplify clickhouse test (#12189)
This commit is contained in:
parent
49c1c28461
commit
b3a460f7e9
|
|
@ -386,7 +386,15 @@ 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 {
|
||||||
|
table string
|
||||||
|
expected string
|
||||||
|
}{
|
||||||
|
{"metric_one", "`float64_one` Float64"},
|
||||||
|
{"metric_two", "`string_one` String"},
|
||||||
|
{"metric three", "`string two` String"},
|
||||||
|
}
|
||||||
|
for _, tc := range cases {
|
||||||
require.Eventually(t, func() bool {
|
require.Eventually(t, func() bool {
|
||||||
var out io.Reader
|
var out io.Reader
|
||||||
_, out, err = container.Exec([]string{
|
_, out, err = container.Exec([]string{
|
||||||
|
|
@ -397,41 +405,13 @@ func TestClickHouseIntegration(t *testing.T) {
|
||||||
" --database=" + dbname +
|
" --database=" + dbname +
|
||||||
" --format=TabSeparatedRaw" +
|
" --format=TabSeparatedRaw" +
|
||||||
" --multiquery --query=" +
|
" --multiquery --query=" +
|
||||||
"\"SELECT * FROM \\\"metric three\\\";" +
|
"\"SELECT * FROM \\\"" + tc.table + "\\\";" +
|
||||||
"SHOW CREATE TABLE \\\"metric three\\\"\"",
|
"SHOW CREATE TABLE \\\"" + tc.table + "\\\"\"",
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
bytes, err := io.ReadAll(out)
|
bytes, err := io.ReadAll(out)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return strings.Contains(string(bytes), "`string two` String")
|
return strings.Contains(string(bytes), tc.expected)
|
||||||
}, 5*time.Second, 10*time.Millisecond)
|
}, 5*time.Second, 10*time.Millisecond)
|
||||||
|
|
||||||
// dump the database
|
|
||||||
var rc int
|
|
||||||
for _, testMetric := range testMetrics {
|
|
||||||
rc, _, err = container.Exec([]string{
|
|
||||||
"bash",
|
|
||||||
"-c",
|
|
||||||
"clickhouse-client" +
|
|
||||||
" --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))
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue