Search Apps Documentation Source Content File Folder Download Copy Actions Download

verifier_test.gno

1.16 Kb · 44 lines
 1package names
 2
 3import (
 4	"testing"
 5
 6	"gno.land/p/nt/ownable/v0"
 7	"gno.land/p/nt/testutils/v0"
 8	"gno.land/p/nt/uassert/v0"
 9)
10
11var alice = testutils.TestAddress("alice")
12
13func TestDefaultVerifier(t *testing.T) {
14	// Disabled: any case is true
15	uassert.True(t, verifier(false, alice, alice.String()))
16	uassert.True(t, verifier(false, "", alice.String()))
17	uassert.True(t, verifier(false, alice, "somerandomusername"))
18
19	// Enabled: PA namespace check
20	uassert.True(t, verifier(true, alice, alice.String()))
21
22	// Enabled: non-PA namespaces denied
23	uassert.False(t, verifier(true, alice, "notregistered"))
24	uassert.False(t, verifier(true, alice, "alice"))
25
26	// Enabled: empty name/address
27	uassert.False(t, verifier(true, address(""), ""))
28	uassert.False(t, verifier(true, alice, ""))
29	uassert.False(t, verifier(true, address(""), "something"))
30}
31
32func TestEnable(t *testing.T) {
33	testing.SetRealm(testing.NewUserRealm("g1edq4dugw0sgat4zxcw9xardvuydqf6cgleuc8p"))
34
35	uassert.NotPanics(t, func() {
36		Enable(cross)
37	})
38
39	// Confirm enable drops ownership
40	uassert.Equal(t, Ownable.Owner().String(), "")
41	uassert.AbortsWithMessage(t, ownable.ErrUnauthorized.Error(), func() {
42		Enable(cross)
43	})
44}