Search Apps Documentation Source Content File Folder Download Copy Actions Download

verifier_test.gno

1.30 Kb ยท 50 lines
 1package names
 2
 3import (
 4	"testing"
 5
 6	"gno.land/p/nt/ownable"
 7	"gno.land/p/nt/testutils"
 8	"gno.land/p/nt/uassert"
 9	"gno.land/p/nt/urequire"
10	"gno.land/r/sys/users"
11)
12
13var alice = testutils.TestAddress("alice")
14
15func TestDefaultVerifier(t *testing.T) {
16	// Check disabled, any case is true
17	uassert.True(t, verifier(false, alice, alice.String()))
18	uassert.True(t, verifier(false, "", alice.String()))
19	uassert.True(t, verifier(false, alice, "somerandomusername"))
20
21	// Check enabled
22	// username + addr mismatch
23	uassert.False(t, verifier(true, alice, "notregistered"))
24	// PA namespace check
25	uassert.True(t, verifier(true, alice, alice.String()))
26
27	// Empty name/address
28	uassert.False(t, verifier(true, address(""), ""))
29
30	// Register proper username
31	testing.SetRealm(testing.NewCodeRealm("gno.land/r/gnoland/users/v1")) // authorized write
32	urequire.NoError(t, users.RegisterUser(cross, "alice", alice))
33
34	// Proper namespace
35	uassert.True(t, verifier(true, alice, "alice"))
36}
37
38func TestEnable(t *testing.T) {
39	testing.SetRealm(testing.NewUserRealm("g1manfred47kzduec920z88wfr64ylksmdcedlf5"))
40
41	uassert.NotPanics(t, func() {
42		Enable(cross)
43	})
44
45	// Confirm enable drops ownerships
46	uassert.Equal(t, Ownable.Owner().String(), "")
47	uassert.AbortsWithMessage(t, ownable.ErrUnauthorized.Error(), func() {
48		Enable(cross)
49	})
50}