blob: ca936c48b9441a6a4aa489c16a9a3c793ca6e717 [file] [log] [blame]
package fs_ingestionstore
import (
"context"
"testing"
"github.com/stretchr/testify/require"
"go.skia.org/infra/go/firestore"
"go.skia.org/infra/go/testutils/unittest"
)
// TestGetExpectations writes some changes and then reads back the
// aggregated results.
func TestSetContains(t *testing.T) {
unittest.LargeTest(t)
ctx := context.Background()
c, cleanup := firestore.NewClientForTesting(ctx, t)
defer cleanup()
f := New(c)
b, err := f.ContainsResultFileHash(ctx, "nope", "not here")
require.NoError(t, err)
require.False(t, b)
err = f.SetResultFileHash(ctx, "skia-gold-flutter/dm-json-v1/2019/foo.json", "version1")
require.NoError(t, err)
err = f.SetResultFileHash(ctx, "skia-gold-flutter/dm-json-v1/2019/foo.json", "version2")
require.NoError(t, err)
err = f.SetResultFileHash(ctx, "skia-gold-flutter/dm-json-v1/2020/bar.json", "versionA")
require.NoError(t, err)
b, err = f.ContainsResultFileHash(ctx, "skia-gold-flutter/dm-json-v1/2019/foo.json", "version2")
require.NoError(t, err)
require.True(t, b)
b, err = f.ContainsResultFileHash(ctx, "skia-gold-flutter/dm-json-v1/2019/foo.json", "version1")
require.NoError(t, err)
require.True(t, b)
b, err = f.ContainsResultFileHash(ctx, "nope", "version1")
require.NoError(t, err)
require.False(t, b)
b, err = f.ContainsResultFileHash(ctx, "skia-gold-flutter/dm-json-v1/2019/foo.json", "versionA")
require.NoError(t, err)
require.False(t, b)
}