MCPcopy Create free account
hub / github.com/ElementsProject/elements / setup_chain

Method setup_chain

test/functional/rpc_whitelist.py:33–66  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

31 self.num_nodes = 1
32
33 def setup_chain(self):
34 super().setup_chain()
35 # 0 => Username
36 # 1 => Password (Hashed)
37 # 2 => Permissions
38 # 3 => Password Plaintext
39 self.users = [
40 ["user1", "50358aa884c841648e0700b073c32b2e$b73e95fff0748cc0b517859d2ca47d9bac1aa78231f3e48fa9222b612bd2083e", "getbestblockhash,getblockcount,", "12345"],
41 ["user2", "8650ba41296f62092377a38547f361de$4620db7ba063ef4e2f7249853e9f3c5c3592a9619a759e3e6f1c63f2e22f1d21", "getblockcount", "54321"]
42 ]
43 # For exceptions
44 self.strange_users = [
45 # Test empty
46 ["strangedude", "62d67dffec03836edd698314f1b2be62$c2fb4be29bb0e3646298661123cf2d8629640979cabc268ef05ea613ab54068d", ":", "s7R4nG3R7H1nGZ"],
47 ["strangedude2", "575c012c7fe4b1e83b9d809412da3ef7$09f448d0acfc19924dd62ecb96004d3c2d4b91f471030dfe43c6ea64a8f658c1", "", "s7R4nG3R7H1nGZ"],
48 # Test trailing comma
49 ["strangedude3", "23189c561b5975a56f4cf94030495d61$3a2f6aac26351e2257428550a553c4c1979594e36675bbd3db692442387728c0", ":getblockcount,", "s7R4nG3R7H1nGZ"],
50 # Test overwrite
51 ["strangedude4", "990c895760a70df83949e8278665e19a$8f0906f20431ff24cb9e7f5b5041e4943bdf2a5c02a19ef4960dcf45e72cde1c", ":getblockcount, getbestblockhash", "s7R4nG3R7H1nGZ"],
52 ["strangedude4", "990c895760a70df83949e8278665e19a$8f0906f20431ff24cb9e7f5b5041e4943bdf2a5c02a19ef4960dcf45e72cde1c", ":getblockcount", "s7R4nG3R7H1nGZ"],
53 # Testing the same permission twice
54 ["strangedude5", "d12c6e962d47a454f962eb41225e6ec8$2dd39635b155536d3c1a2e95d05feff87d5ba55f2d5ff975e6e997a836b717c9", ":getblockcount,getblockcount", "s7R4nG3R7H1nGZ"]
55 ]
56 # These commands shouldn't be allowed for any user to test failures
57 self.never_allowed = ["getnetworkinfo"]
58 with open(os.path.join(get_datadir_path(self.options.tmpdir, 0), "elements.conf"), 'a', encoding='utf8') as f:
59 f.write("\nrpcwhitelistdefault=0\n")
60 for user in self.users:
61 f.write("rpcauth=" + user[0] + ":" + user[1] + "\n")
62 f.write("rpcwhitelist=" + user[0] + ":" + user[2] + "\n")
63 # Special cases
64 for strangedude in self.strange_users:
65 f.write("rpcauth=" + strangedude[0] + ":" + strangedude[1] + "\n")
66 f.write("rpcwhitelist=" + strangedude[0] + strangedude[2] + "\n")
67
68
69 def run_test(self):

Callers

nothing calls this directly

Calls 3

get_datadir_pathFunction · 0.90
joinMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected