File size: 1,337 Bytes
1c4c66b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | package memorydedupe_test
import (
"context"
"testing"
"github.com/cloudevents/sdk-go/v2/event"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/openmeterio/openmeter/openmeter/dedupe"
"github.com/openmeterio/openmeter/openmeter/dedupe/memorydedupe"
)
func TestIsUniqueDeduplicator(t *testing.T) {
deduplicator, err := memorydedupe.NewDeduplicator(1024)
require.NoError(t, err)
const namespace = "default"
ev := event.New()
ev.SetID("id")
ev.SetSource("source")
isUnique, err := deduplicator.IsUnique(context.Background(), namespace, ev)
isUnique2, err2 := deduplicator.IsUnique(context.Background(), namespace, ev)
require.NoError(t, err)
require.NoError(t, err2)
assert.True(t, isUnique)
assert.False(t, isUnique2)
}
func TestDeduplicator(t *testing.T) {
deduplicator, err := memorydedupe.NewDeduplicator(1024)
require.NoError(t, err)
item := dedupe.Item{
Namespace: "default",
ID: "id",
Source: "source",
}
isUnique, err := deduplicator.CheckUnique(context.Background(), item)
_, errSet := deduplicator.Set(context.Background(), item)
isUnique2, err2 := deduplicator.CheckUnique(context.Background(), item)
require.NoError(t, errSet)
require.NoError(t, err)
require.NoError(t, err2)
assert.True(t, isUnique)
assert.False(t, isUnique2)
}
|