z_0_a_filetest.gno
1.40 Kb · 50 lines
1// PKGPATH: gno.land/r/test/proposal
2// SEND: 20000000ugnot
3
4package proposal
5
6import (
7 "testing"
8
9 "gno.land/p/nt/testutils/v0"
10 "gno.land/r/gnops/valopers"
11 "gno.land/r/gnops/valopers/proposal"
12 "gno.land/r/gov/dao"
13 daoinit "gno.land/r/gov/dao/v3/init"
14)
15
16var g1user = testutils.TestAddress("g1user")
17
18const (
19 validMoniker = "test-1"
20 validDescription = "test-1's description"
21 validServerType = valopers.ServerTypeOnPrem
22 validAddress = address("g1sp8v98h2gadm5jggtzz9w5ksexqn68ympsd68h")
23 otherAddress = address("g1juz2yxmdsa6audkp6ep9vfv80c8p5u76e03vvh")
24 validPubKey = "gpub1pggj7ard9eg82cjtv4u52epjx56nzwgjyg9zqwpdwpd0f9fvqla089ndw5g9hcsufad77fml2vlu73fk8q8sh8v72cza5p"
25)
26
27func init(cur realm) {
28 testing.SetOriginCaller(g1user)
29 daoinit.InitWithUsers(cross(cur), g1user)
30}
31
32func main(cur realm) {
33 // Register a validator: OriginCaller must equal operator addr (squat guard).
34 testing.SetOriginCaller(validAddress)
35 valopers.Register(cross(cur), validMoniker, validDescription, validServerType, validAddress, validPubKey)
36
37 // Switch back to g1user for the GovDAO proposal submission.
38 testing.SetOriginCaller(g1user)
39
40 // Try to make a proposal for a non-existing validator
41 if err := revive(func() {
42 pr := proposal.NewValidatorProposalRequest(cross(cur), otherAddress)
43 dao.MustCreateProposal(cross(cur), pr)
44 }); err != nil {
45 println("r: ", err)
46 }
47}
48
49// Output:
50// r: valoper does not exist