ingester_test.gno
1.20 Kb ยท 36 lines
1package single_test
2
3import (
4 "testing"
5
6 "gno.land/p/demo/gnorkle/ingester"
7 "gno.land/p/demo/gnorkle/ingesters/single"
8 "gno.land/p/demo/gnorkle/storage/simple"
9 "gno.land/p/demo/uassert"
10)
11
12func TestValueIngester(t *testing.T) {
13 storage := simple.NewStorage(1)
14
15 var undefinedIngester *single.ValueIngester
16 _, err := undefinedIngester.Ingest("asdf", "gno11111")
17 uassert.ErrorIs(t, err, ingester.ErrUndefined, "undefined ingester call to Ingest should return ingester.ErrUndefined")
18
19 err = undefinedIngester.CommitValue(storage, "gno11111")
20 uassert.ErrorIs(t, err, ingester.ErrUndefined, "undefined ingester call to CommitValue should return ingester.ErrUndefined")
21
22 var valueIngester single.ValueIngester
23 typ := valueIngester.Type()
24 uassert.Equal(t, int(ingester.TypeSingle), int(typ), "single value ingester should return type ingester.TypeSingle")
25
26 ingestValue := "value"
27 autocommit, err := valueIngester.Ingest(ingestValue, "gno11111")
28 uassert.True(t, autocommit, "single value ingester should return autocommit true")
29 uassert.NoError(t, err)
30
31 err = valueIngester.CommitValue(storage, "gno11111")
32 uassert.NoError(t, err)
33
34 latestValue := storage.GetLatest()
35 uassert.Equal(t, ingestValue, latestValue.String)
36}