-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy path0box_transactions._test.go
89 lines (81 loc) · 4.19 KB
/
0box_transactions._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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package api_tests
import (
"testing"
"time"
"github.com/0chain/system_test/internal/api/model"
"github.com/0chain/system_test/internal/api/util/client"
"github.com/0chain/system_test/internal/api/util/test"
"github.com/stretchr/testify/require"
)
func Test0BoxTransactions(testSetup *testing.T) {
t := test.NewSystemTest(testSetup)
t.RunSequentiallyWithTimeout("get paginated transactions list while creating pit id", 1*time.Minute, func(t *test.SystemTest) {
txnsData, resp, err := zboxClient.GetTransactionsList(t, "")
require.NoError(t, err)
require.Equal(t, 200, resp.StatusCode())
require.NotNil(t, txnsData, "Nil transaction response received")
require.NotEmpty(t, txnsData.PitId, "")
require.NotEmpty(t, txnsData.Transactions, "No transactions data received")
txnDataByHash, resp, err := apiClient.V1TransactionGetConfirmation(t,
model.TransactionGetConfirmationRequest{
Hash: txnsData.Transactions[0].Hash,
},
client.HttpOkStatus)
require.NoError(t, err)
require.Equal(t, 200, resp.StatusCode())
require.NotNil(t, txnDataByHash, "Nil transaction response received with hash request")
txnFromZbox := txnsData.Transactions[0]
txnByHash := txnDataByHash.Transaction
require.NotNil(t, txnByHash, "No transaction received with hash request")
require.Equal(t, txnFromZbox.Hash, txnByHash.Hash)
require.Equal(t, txnFromZbox.BlockHash, txnDataByHash.BlockHash)
require.Equal(t, txnFromZbox.Round, txnDataByHash.Round)
require.Equal(t, txnFromZbox.Version, txnByHash.Version)
require.Equal(t, txnFromZbox.ClientId, txnByHash.ClientId)
require.Equal(t, txnFromZbox.ToClientId, txnByHash.ToClientId)
require.Equal(t, txnFromZbox.TransactionData, txnByHash.TransactionData)
require.Equal(t, txnFromZbox.TransactionOutput, txnByHash.TransactionOutput)
require.Equal(t, txnFromZbox.TransactionType, txnByHash.TransactionType)
require.Equal(t, txnFromZbox.Fee, txnByHash.TransactionFee)
require.Equal(t, txnFromZbox.Nonce, txnByHash.TransactionNonce)
require.Equal(t, txnFromZbox.Status, txnByHash.TransactionStatus)
require.Equal(t, txnFromZbox.Signature, txnByHash.Signature)
require.Equal(t, txnFromZbox.Value, txnByHash.TransactionValue)
require.Equal(t, txnFromZbox.OutputHash, txnByHash.TxnOutputHash)
require.Equal(t, txnFromZbox.CreationDate/int64(1e9), txnByHash.CreationDate)
pitId := txnsData.PitId
txnsData, resp, err = zboxClient.GetTransactionsList(t, pitId)
require.NoError(t, err)
require.Equal(t, 200, resp.StatusCode())
require.NotNil(t, txnsData, "Nil transaction response received")
require.NotEmpty(t, txnsData.PitId, "")
require.NotEmpty(t, txnsData.Transactions, "No transactions data received")
txnDataByHash, resp, err = apiClient.V1TransactionGetConfirmation(t,
model.TransactionGetConfirmationRequest{
Hash: txnsData.Transactions[0].Hash,
},
client.HttpOkStatus)
require.NoError(t, err)
require.Equal(t, 200, resp.StatusCode())
require.NotNil(t, txnDataByHash, "Nil transaction response received with hash request")
txnFromZbox = txnsData.Transactions[0]
txnByHash = txnDataByHash.Transaction
require.NotNil(t, txnByHash, "No transaction received with hash request")
require.Equal(t, txnFromZbox.Hash, txnByHash.Hash)
require.Equal(t, txnFromZbox.BlockHash, txnDataByHash.BlockHash)
require.Equal(t, txnFromZbox.Round, txnDataByHash.Round)
require.Equal(t, txnFromZbox.Version, txnByHash.Version)
require.Equal(t, txnFromZbox.ClientId, txnByHash.ClientId)
require.Equal(t, txnFromZbox.ToClientId, txnByHash.ToClientId)
require.Equal(t, txnFromZbox.TransactionData, txnByHash.TransactionData)
require.Equal(t, txnFromZbox.TransactionOutput, txnByHash.TransactionOutput)
require.Equal(t, txnFromZbox.TransactionType, txnByHash.TransactionType)
require.Equal(t, txnFromZbox.Fee, txnByHash.TransactionFee)
require.Equal(t, txnFromZbox.Nonce, txnByHash.TransactionNonce)
require.Equal(t, txnFromZbox.Status, txnByHash.TransactionStatus)
require.Equal(t, txnFromZbox.Signature, txnByHash.Signature)
require.Equal(t, txnFromZbox.Value, txnByHash.TransactionValue)
require.Equal(t, txnFromZbox.OutputHash, txnByHash.TxnOutputHash)
require.Equal(t, txnFromZbox.CreationDate/int64(1e9), txnByHash.CreationDate)
})
}