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}