@@ -2,9 +2,11 @@ package goar
2
2
3
3
import (
4
4
"encoding/base64"
5
- "testing "
6
-
5
+ "github.com/everFinance/goar/types "
6
+ "github.com/everFinance/goar/utils"
7
7
"github.com/stretchr/testify/assert"
8
+ "io/ioutil"
9
+ "testing"
8
10
)
9
11
10
12
var testWallet * Wallet
@@ -111,3 +113,188 @@ func Test_SendPstTransfer(t *testing.T) {
111
113
// assert.NoError(t, err)
112
114
// t.Log(arTx.ID)
113
115
}
116
+
117
+ func TestCreateUploader (t * testing.T ) {
118
+ w , err := NewWalletFromPath ("./wallet/account1.json" , "https://arweave.net" )
119
+ assert .NoError (t , err )
120
+ t .Log (w .Signer .Address )
121
+
122
+ data , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/44444.mp4" )
123
+ if err != nil {
124
+ panic (err )
125
+ }
126
+ tags := []types.Tag {
127
+ {Name : "Content-Type" , Value : "video/mpeg4" },
128
+ }
129
+ tx , err := w .SendData (data , tags )
130
+ assert .NoError (t , err )
131
+ t .Log (tx .ID )
132
+ }
133
+
134
+ func TestNewWallet (t * testing.T ) {
135
+ cli := NewClient ("https://arseed-dev.web3infra.dev" )
136
+ data , err := cli .GetTransactionData ("SAk5DdgYiKZTBFIxpVmiOQKsJdVbXr9qj5jTA5ACDmY" )
137
+ assert .NoError (t , err )
138
+ ioutil .WriteFile ("/Users/sandyzhou/Downloads/55555.mp4" , data , 0666 )
139
+
140
+ // -I6guxsTtnaLazLN4HgCHtYXNXQGALcHDrpi6oz7Cbk
141
+ // 91s
142
+
143
+ // _OXH-KzWyJVZsHEJ257uMcsi1VqdvMLroxVTeAYODi4
144
+ // 408s
145
+
146
+ // 355oQfW-6XM659iG4Yy69vyAeuTC5v7c_QqGU4iRI9Q
147
+ // 48s
148
+
149
+ // _bIcfrydLSGRzwLDYvwCB16SpKAeClJdZHLRC0lgOnQ
150
+ // 24s
151
+ }
152
+
153
+ func TestTransactionUploader_ConcurrentUploadChunks (t * testing.T ) {
154
+ w , err := NewWalletFromPath ("./wallet/account1.json" , "https://arweave.net" )
155
+ assert .NoError (t , err )
156
+ t .Log (w .Signer .Address )
157
+ signer01 := w .Signer
158
+ // sig item01 by ecc signer
159
+ itemSigner01 , err := NewItemSigner (signer01 )
160
+ assert .NoError (t , err )
161
+ d1 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/1.jpeg" )
162
+ if err != nil {
163
+ panic (err )
164
+ }
165
+ item01 , err := itemSigner01 .CreateAndSignItem (d1 , "" , "" , []types.Tag {
166
+ {Name : "Content-Type" , Value : "image/jpeg" },
167
+ {Name : "Owner" , Value : "Vv" },
168
+ })
169
+ assert .NoError (t , err )
170
+ t .Log ("item01" , "id" , item01 .Id )
171
+
172
+ d2 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/2.jpeg" )
173
+ if err != nil {
174
+ panic (err )
175
+ }
176
+ item02 , err := itemSigner01 .CreateAndSignItem (d2 , "" , "" , []types.Tag {
177
+ {Name : "Content-Type" , Value : "image/jpeg" },
178
+ {Name : "Owner" , Value : "Vv" },
179
+ })
180
+ assert .NoError (t , err )
181
+ t .Log ("item02" , "id" , item02 .Id )
182
+
183
+ d3 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/3.jpeg" )
184
+ if err != nil {
185
+ panic (err )
186
+ }
187
+ item03 , err := itemSigner01 .CreateAndSignItem (d3 , "" , "" , []types.Tag {
188
+ {Name : "Content-Type" , Value : "image/jpeg" },
189
+ {Name : "Owner" , Value : "Vv" },
190
+ })
191
+ assert .NoError (t , err )
192
+ t .Log ("item03" , "id" , item03 .Id )
193
+
194
+ d4 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/4.jpeg" )
195
+ if err != nil {
196
+ panic (err )
197
+ }
198
+ item04 , err := itemSigner01 .CreateAndSignItem (d4 , "" , "" , []types.Tag {
199
+ {Name : "Content-Type" , Value : "image/jpeg" },
200
+ {Name : "Owner" , Value : "Vv" },
201
+ })
202
+ assert .NoError (t , err )
203
+
204
+ d5 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/5.jpeg" )
205
+ if err != nil {
206
+ panic (err )
207
+ }
208
+ item05 , err := itemSigner01 .CreateAndSignItem (d5 , "" , "" , []types.Tag {
209
+ {Name : "Content-Type" , Value : "image/jpeg" },
210
+ {Name : "Owner" , Value : "Vv" },
211
+ })
212
+ assert .NoError (t , err )
213
+ t .Log ("item05" , "id" , item05 .Id )
214
+
215
+ d6 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/6.jpeg" )
216
+ if err != nil {
217
+ panic (err )
218
+ }
219
+ item06 , err := itemSigner01 .CreateAndSignItem (d6 , "" , "" , []types.Tag {
220
+ {Name : "Content-Type" , Value : "image/jpeg" },
221
+ {Name : "Owner" , Value : "Vv" },
222
+ })
223
+ assert .NoError (t , err )
224
+ t .Log ("item06" , "id" , item06 .Id )
225
+
226
+ d7 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/7.jpeg" )
227
+ if err != nil {
228
+ panic (err )
229
+ }
230
+ item07 , err := itemSigner01 .CreateAndSignItem (d7 , "" , "" , []types.Tag {
231
+ {Name : "Content-Type" , Value : "image/jpeg" },
232
+ {Name : "Owner" , Value : "Vv" },
233
+ })
234
+ assert .NoError (t , err )
235
+ t .Log ("item07" , "id" , item07 .Id )
236
+
237
+ d8 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/8.jpeg" )
238
+ if err != nil {
239
+ panic (err )
240
+ }
241
+ item08 , err := itemSigner01 .CreateAndSignItem (d8 , "" , "" , []types.Tag {
242
+ {Name : "Content-Type" , Value : "image/jpeg" },
243
+ {Name : "Owner" , Value : "Vv" },
244
+ })
245
+ assert .NoError (t , err )
246
+ t .Log ("item08" , "id" , item08 .Id )
247
+
248
+ d9 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/9.jpeg" )
249
+ if err != nil {
250
+ panic (err )
251
+ }
252
+ item09 , err := itemSigner01 .CreateAndSignItem (d9 , "" , "" , []types.Tag {
253
+ {Name : "Content-Type" , Value : "image/jpeg" },
254
+ {Name : "Owner" , Value : "Vv" },
255
+ })
256
+ assert .NoError (t , err )
257
+ t .Log ("item09" , "id" , item09 .Id )
258
+
259
+ d10 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/10.jpeg" )
260
+ if err != nil {
261
+ panic (err )
262
+ }
263
+ item10 , err := itemSigner01 .CreateAndSignItem (d10 , "" , "" , []types.Tag {
264
+ {Name : "Content-Type" , Value : "image/jpeg" },
265
+ {Name : "Owner" , Value : "Vv" },
266
+ })
267
+ assert .NoError (t , err )
268
+ t .Log ("item10" , "id" , item10 .Id )
269
+
270
+ d11 , err := ioutil .ReadFile ("/Users/sandyzhou/Downloads/11.jpeg" )
271
+ if err != nil {
272
+ panic (err )
273
+ }
274
+ item11 , err := itemSigner01 .CreateAndSignItem (d11 , "" , "" , []types.Tag {
275
+ {Name : "Content-Type" , Value : "image/jpeg" },
276
+ {Name : "Owner" , Value : "Vv" },
277
+ })
278
+ assert .NoError (t , err )
279
+ t .Log ("item11" , "id" , item11 .Id )
280
+
281
+ // assemble bundle
282
+ bundle , err := utils .NewBundle (item01 , item02 , item03 , item04 , item05 , item06 , item07 , item08 , item09 , item10 , item11 )
283
+ assert .NoError (t , err )
284
+
285
+ t .Log (len (bundle .BundleBinary ))
286
+ // send to arweave
287
+ // ctx ,cancel := context.WithTimeout(context.Background(),100*time.Millisecond)
288
+ // defer cancel()
289
+ // tx, err := w.SendBundleTx(ctx, 0,bundle.BundleBinary, []types.Tag{
290
+ // {Name: "APP", Value: "Goar"},
291
+ // {Name: "Protocol-Name", Value: "BAR"},
292
+ // {Name: "Action", Value: "Burn"},
293
+ // {Name: "App-Name", Value: "SmartWeaveAction"},
294
+ // {Name: "App-Version", Value: "0.3.0"},
295
+ // {Name: "Input", Value: `{"function":"mint"}`},
296
+ // {Name: "Contract", Value: "VFr3Bk-uM-motpNNkkFg4lNW1BMmSfzqsVO551Ho4hA"},
297
+ // })
298
+ // assert.NoError(t, err)
299
+ // t.Log(tx.ID)
300
+ }
0 commit comments