diff options
author | Felix Lange <fjl@twurst.com> | 2016-08-30 01:09:35 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-30 01:09:35 +0800 |
commit | 969008dbb007bb3f05dd6f66b5a91cb38c21ab54 (patch) | |
tree | 04029141297e19ae0d595d7846888ac941ae3242 /contracts/ens/ens_test.go | |
parent | 3b087e03ea35721a23832706959432ce4ec1910a (diff) | |
parent | 6976e602f6553b6f535b44123c44edb6b65af4b2 (diff) | |
download | go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.tar go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.tar.gz go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.tar.bz2 go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.tar.lz go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.tar.xz go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.tar.zst go-tangerine-969008dbb007bb3f05dd6f66b5a91cb38c21ab54.zip |
Merge pull request #2952 from Arachnid/ens
contracts/ens: Add ENS contract binding
Diffstat (limited to 'contracts/ens/ens_test.go')
-rw-r--r-- | contracts/ens/ens_test.go | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/contracts/ens/ens_test.go b/contracts/ens/ens_test.go new file mode 100644 index 000000000..760966873 --- /dev/null +++ b/contracts/ens/ens_test.go @@ -0,0 +1,67 @@ +// Copyright 2016 The go-ethereum Authors +// This file is part of the go-ethereum library. +// +// The go-ethereum library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The go-ethereum library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. + +package ens + +import ( + "math/big" + "testing" + + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/accounts/abi/bind/backends" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/crypto" +) + +var ( + key, _ = crypto.HexToECDSA("b71c71a67e1177ad4e901695e1b4b9ee17ae16c6668d313eac2f96dbcda3f291") + name = "my name on ENS" + hash = crypto.Sha3Hash([]byte("my content")) + addr = crypto.PubkeyToAddress(key.PublicKey) +) + +func TestENS(t *testing.T) { + contractBackend := backends.NewSimulatedBackend(core.GenesisAccount{Address: addr, Balance: big.NewInt(1000000000)}) + transactOpts := bind.NewKeyedTransactor(key) + // Workaround for bug estimating gas in the call to Register + transactOpts.GasLimit = big.NewInt(1000000) + + ens, err := DeployENS(transactOpts, contractBackend) + if err != nil { + t.Fatalf("expected no error, got %v", err) + } + contractBackend.Commit() + + _, err = ens.Register(name) + if err != nil { + t.Fatalf("expected no error, got %v", err) + } + contractBackend.Commit() + + _, err = ens.SetContentHash(name, hash) + if err != nil { + t.Fatalf("expected no error, got %v", err) + } + contractBackend.Commit() + + vhost, err := ens.Resolve(name) + if err != nil { + t.Fatalf("expected no error, got %v", err) + } + if vhost != hash { + t.Fatalf("resolve error, expected %v, got %v", hash.Hex(), vhost.Hex()) + } +} |