diff --git a/file_append_transaction_test.go b/file_append_transaction_test.go new file mode 100644 index 000000000..06a0c174a --- /dev/null +++ b/file_append_transaction_test.go @@ -0,0 +1,93 @@ +package hedera + +import ( + "github.com/stretchr/testify/assert" + "os" + "strings" + "testing" +) + +func TestSerializeFileAppendTransaction(t *testing.T) { + mockClient, err := newMockClient() + assert.NoError(t, err) + + privateKey, err := PrivateKeyFromString(mockPrivateKey) + assert.NoError(t, err) + + tx, err := NewFileAppendTransaction(). + SetFileID(FileID{File: 5}). + SetContents([]byte("This is some random data")). + SetMaxTransactionFee(HbarFromTinybar(1e6)). + SetTransactionID(testTransactionID). + FreezeWith(mockClient) + + assert.NoError(t, err) + + tx.Sign(privateKey) + + assert.Equal(t, `bodyBytes:"\n\016\n\010\010\334\311\007\020\333\237\t\022\002\030\003\022\002\030\003\030\300\204=\"\002\010x\202\001\036\022\002\030\005\"\030Thisissomerandomdata"sigMap:>transactionID:accountID:>nodeAccountID:transactionFee:1000000transactionValidDuration:fileAppend:contents:"Thisissomerandomdata">`, strings.ReplaceAll(strings.ReplaceAll(tx.String(), " ", ""), "\n", "")) +} + +func TestFileAppendTransaction_Execute(t *testing.T) { + client, err := ClientFromJsonFile(os.Getenv("CONFIG_FILE")) + + if err != nil { + client = ClientForTestnet() + } + + configOperatorID := os.Getenv("OPERATOR_ID") + configOperatorKey := os.Getenv("OPERATOR_KEY") + + if configOperatorID != "" && configOperatorKey != "" { + operatorAccountID, err := AccountIDFromString(configOperatorID) + assert.NoError(t, err) + + operatorKey, err := PrivateKeyFromString(configOperatorKey) + assert.NoError(t, err) + + client.SetOperator(operatorAccountID, operatorKey) + } + + client.SetMaxTransactionFee(NewHbar(2)) + + txID, err := NewFileCreateTransaction(). + SetKeys(client.GetOperatorKey()). + SetContents([]byte("Hello")). + SetTransactionMemo("go sdk e2e tests"). + Execute(client) + + assert.NoError(t, err) + + println("TransactionID", txID.TransactionID.String()) + + //receipt, err := txID.GetReceipt(client) + //assert.NoError(t, err) + // + //fileID := receipt.fileID + //assert.NotNil(t, fileID) + // + //txID, err = NewFileAppendTransaction(). + // SetFileID(*fileID). + // SetContents([]byte(" world!")). + // Execute(client) + // + //assert.NoError(t, err) + // + //_, err = txID.GetReceipt(client) + //assert.NoError(t, err) + // + //contents, err := NewFileContentsQuery(). + // SetFileID(*fileID). + // Execute(client) + //assert.NoError(t, err) + // + //assert.Equal(t, []byte("Hello world!"), contents) + // + //txID, err = NewFileDeleteTransaction(). + // SetFileID(*fileID). + // Execute(client) + //assert.NoError(t, err) + // + //_, err = txID.GetReceipt(client) + //assert.NoError(t, err) +}