blob: c6142f2d4a1296b16027bfc3b920f93324bf5985 [file] [log] [blame]
package ingestion
import (
"testing"
assert "github.com/stretchr/testify/require"
"go.skia.org/infra/go/bt"
"go.skia.org/infra/go/testutils"
)
const (
// Config settings for BTIStore to run against the emulator.
projectID = "test-project"
instanceID = "test-instance"
nameSpace = "testing"
)
var exampleHashes = []string{
"45bf36e647291ff2d8b532422dae8dca",
"ffe25ed9e89485273b64867fefc72560",
"22d2e278850258dedd96760932305330",
"fa32db2ee1390f98b49ab38349087699",
"eca06e60234edafeeef5dd327d4412fe",
"2354fe28b44a29b5fff1669896c45ad2",
"73fb19a5881ec99aeb3230589c856aeb",
"604869fd1c14e621c24b4d395a71b7bc",
}
func TestBTIStore(t *testing.T) {
testutils.LargeTest(t)
// Set up the table and column families.
assert.NoError(t, bt.InitBigtable(projectID, instanceID, BigTableConfig))
store, err := NewBTIStore(projectID, instanceID, nameSpace)
assert.NoError(t, err)
assert.NotNil(t, store)
for _, md5Hash := range exampleHashes {
// Write it twice to make sure we correctly delete old timestamps in BT.
assert.NoError(t, store.SetResultFileHash(md5Hash))
assert.NoError(t, store.SetResultFileHash(md5Hash))
}
for _, md5Hash := range exampleHashes {
ok, err := store.ContainsResultFileHash(md5Hash)
assert.NoError(t, err)
assert.True(t, ok)
}
// Delete the table again.
assert.NoError(t, store.Clear())
found, err := store.ContainsResultFileHash(exampleHashes[0])
assert.NoError(t, err)
assert.False(t, found)
}