blob: 54c1bedf00bc2a40022a3ea1b031ff3b62392709 [file] [log] [blame]
package datakitchensink_test
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.skia.org/infra/go/testutils/unittest"
"go.skia.org/infra/golden/go/sql/datakitchensink"
"go.skia.org/infra/golden/go/sql/schema"
"go.skia.org/infra/golden/go/sql/sqltest"
)
func TestBuild_DataIsValidAndMatchesSchema(t *testing.T) {
unittest.LargeTest(t)
ctx := context.Background()
db := sqltest.NewCockroachDBForTestsWithProductionSchema(ctx, t)
data := datakitchensink.Build()
require.NoError(t, sqltest.BulkInsertDataTables(ctx, db, data))
// Spot check the data.
row := db.QueryRow(ctx, "SELECT count(*) from TraceValues")
count := 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 180, count)
row = db.QueryRow(ctx, "SELECT count(*) from Traces WHERE corpus = $1", "round")
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 15, count)
row = db.QueryRow(ctx, "SELECT count(*) from Traces WHERE matches_any_ignore_rule = $1", true)
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 2, count)
row = db.QueryRow(ctx, "SELECT count(*) from Traces WHERE matches_any_ignore_rule = $1", false)
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 39, count)
row = db.QueryRow(ctx, "SELECT count(*) from Traces WHERE matches_any_ignore_rule IS NULL")
count = -1
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 0, count)
row = db.QueryRow(ctx, "SELECT count(*) from Expectations WHERE label = $1", string(schema.LabelPositive))
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 9, count)
row = db.QueryRow(ctx, "SELECT count(*) from Expectations WHERE label = $1", string(schema.LabelNegative))
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 4, count)
row = db.QueryRow(ctx, "SELECT count(*) from Expectations WHERE label = $1", string(schema.LabelUntriaged))
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 7, count)
row = db.QueryRow(ctx, "SELECT count(*) from Changelists")
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 4, count)
row = db.QueryRow(ctx, "SELECT count(*) from Patchsets")
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 5, count)
row = db.QueryRow(ctx, "SELECT count(*) from Tryjobs")
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 8, count)
row = db.QueryRow(ctx, "SELECT count(*) from GitCommits")
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 14, count)
row = db.QueryRow(ctx, "SELECT count(*) from CommitsWithData")
count = 0
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 10, count)
}