github.com/arieschain/arieschain@v0.0.0-20191023063405-37c074544356/contracts/ens/ens_test.go (about) 1 package ens 2 3 import ( 4 "math/big" 5 "testing" 6 7 "github.com/quickchainproject/quickchain/accounts/abi/bind" 8 "github.com/quickchainproject/quickchain/accounts/abi/bind/backends" 9 "github.com/quickchainproject/quickchain/contracts/ens/contract" 10 "github.com/quickchainproject/quickchain/core" 11 "github.com/quickchainproject/quickchain/crypto" 12 ) 13 14 var ( 15 key, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291") 16 name = "my name on ENS" 17 hash = crypto.Keccak256Hash([]byte("my content")) 18 addr = crypto.PubkeyToAddress(key.PublicKey) 19 ) 20 21 func TestENS(t *testing.T) { 22 contractBackend := backends.NewSimulatedBackend(core.GenesisAlloc{addr: {Balance: big.NewInt(1000000000)}}) 23 transactOpts := bind.NewKeyedTransactor(key) 24 25 ensAddr, ens, err := DeployENS(transactOpts, contractBackend) 26 if err != nil { 27 t.Fatalf("can't deploy root registry: %v", err) 28 } 29 contractBackend.Commit() 30 31 // Set ourself as the owner of the name. 32 if _, err := ens.Register(name); err != nil { 33 t.Fatalf("can't register: %v", err) 34 } 35 contractBackend.Commit() 36 37 // Deploy a resolver and make it responsible for the name. 38 resolverAddr, _, _, err := contract.DeployPublicResolver(transactOpts, contractBackend, ensAddr) 39 if err != nil { 40 t.Fatalf("can't deploy resolver: %v", err) 41 } 42 if _, err := ens.SetResolver(ensNode(name), resolverAddr); err != nil { 43 t.Fatalf("can't set resolver: %v", err) 44 } 45 contractBackend.Commit() 46 47 // Set the content hash for the name. 48 if _, err = ens.SetContentHash(name, hash); err != nil { 49 t.Fatalf("can't set content hash: %v", err) 50 } 51 contractBackend.Commit() 52 53 // Try to resolve the name. 54 vhost, err := ens.Resolve(name) 55 if err != nil { 56 t.Fatalf("expected no error, got %v", err) 57 } 58 if vhost != hash { 59 t.Fatalf("resolve error, expected %v, got %v", hash.Hex(), vhost.Hex()) 60 } 61 }