1package lexicon
2
3import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7)
8
9func TestBasicCatalog(t *testing.T) {
10 assert := assert.New(t)
11
12 cat := NewBaseCatalog()
13 if err := cat.LoadDirectory("testdata/catalog"); err != nil {
14 t.Fatal(err)
15 }
16
17 def, err := cat.Resolve("com.atproto.label.defs#label")
18 if err != nil {
19 t.Fatal(err)
20 }
21 assert.NoError(validateData(
22 &cat,
23 def.Def,
24 map[string]any{
25 "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
26 "cts": "2000-01-01T00:00:00.000Z",
27 "neg": false,
28 "src": "did:example:labeler",
29 "uri": "at://did:plc:asdf123/com.atproto.feed.post/asdf123",
30 "val": "test-label",
31 },
32 0,
33 ))
34
35 assert.Error(validateData(
36 &cat,
37 def.Def,
38 map[string]any{
39 "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
40 "cts": "2000-01-01T00:00:00.000Z",
41 "neg": false,
42 "uri": "at://did:plc:asdf123/com.atproto.feed.post/asdf123",
43 "val": "test-label",
44 },
45 0,
46 ))
47}