forked from tonindexer/anton
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtep81_dns_test.go
67 lines (57 loc) · 6.21 KB
/
tep81_dns_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package known_test
import (
"encoding/json"
"math/big"
"os"
"testing"
"github.com/stretchr/testify/require"
"github.com/xssnick/tonutils-go/address"
"github.com/tonindexer/anton/abi"
"github.com/tonindexer/anton/addr"
)
func TestGetMethodDesc_DNSItem(t *testing.T) {
var (
interfaces []*abi.InterfaceDesc
i *abi.InterfaceDesc
)
j, err := os.ReadFile("tep81_dns.json")
require.Nil(t, err)
err = json.Unmarshal(j, &interfaces)
require.Nil(t, err)
for _, i = range interfaces {
if i.Name == "dns_item" {
break
}
}
var testCases = []*struct {
name string
addr *address.Address
code string
data string
expected []any
}{
{
name: "get_domain",
addr: addr.MustFromBase64("EQDyXrx36pUfsjbgK8sHvNzsqxIeeqFmwycnjkI8AhVp38oj").MustToTonutils(),
code: `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`,
data: `te6cckEBBAEAjAADkxje+gFR1QclWGkZFnpOq5ZSjXCBx24f06rSu/IDozD9gBbumyvWQKh+MNgNZuNXEVrgnvxKwmGV8sMSbRT6GW2Z5AAAAAGQFnX6AQIDAAMAQAAMZGF0Ym9pAF2AE4XScCtkdWJ/MX6FslZwUyrjfgkkRGJ1Gc2116e8KORKWRKL37AAAAAAyBL8JduPN6Y=`,
expected: []any{
"datboi",
},
}, {
name: "get_auction_info",
addr: addr.MustFromBase64("EQDdRaSUQuBu-GyOjcLbsOaYmYzVF0ZEy4WGsEM2Pke301Ki").MustToTonutils(),
code: `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`,
data: `te6cckEBBAEAiwADkwq2CJCjHHriX5UxMxZWLrDs7EaK0dao/4aYru+CShcPgBbumyvWQKh+MNgNZuNXEVrgnvxKwmGV8sMSbRT6GW2Z5AAAAAGRlUbaAQIDAAMAQAAKcmVlbHMAXYAQDafi1LgRGbAG+HmYZkvuFHEWF8jJEPlna/0fEBPc7EpeshzsmgAAAADIzJwtW3kNTw==`,
expected: []any{
address.MustParseAddr("EQCAbT8WpcCIzYA3w8zDMl9wo4iwvkZIh8s7X-j4gJ7nYnPc"),
big.NewInt(203357582925),
big.NewInt(1684426262),
},
},
}
for _, test := range testCases {
ret := execGetMethod(t, i, test.addr, test.name, test.code, test.data)
require.Equal(t, test.expected, ret)
}
}