-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathSystemDeleteTransactionIntegrationTests.cc
More file actions
95 lines (84 loc) · 4 KB
/
SystemDeleteTransactionIntegrationTests.cc
File metadata and controls
95 lines (84 loc) · 4 KB
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
90
91
92
93
94
95
// SPDX-License-Identifier: Apache-2.0
#include "BaseIntegrationTest.h"
#include "ContractCreateTransaction.h"
#include "ContractDeleteTransaction.h"
#include "ContractFunctionParameters.h"
#include "ContractId.h"
#include "ED25519PrivateKey.h"
#include "FileCreateTransaction.h"
#include "FileDeleteTransaction.h"
#include "FileId.h"
#include "SystemDeleteTransaction.h"
#include "TransactionReceipt.h"
#include "TransactionRecord.h"
#include "TransactionResponse.h"
#include "exceptions/PrecheckStatusException.h"
#include "exceptions/ReceiptStatusException.h"
#include <gtest/gtest.h>
using namespace Hiero;
class SystemDeleteTransactionIntegrationTests : public BaseIntegrationTest
{
};
//-----
TEST_F(SystemDeleteTransactionIntegrationTests, DeleteFile)
{
// Given
std::shared_ptr<PrivateKey> operatorKey;
ASSERT_NO_THROW(
operatorKey = ED25519PrivateKey::fromString(
"302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137"));
FileId fileId;
ASSERT_NO_THROW(fileId = FileCreateTransaction()
.setKeys({ operatorKey })
.setContents(getTestFileContent())
.execute(getTestClient())
.getReceipt(getTestClient())
.mFileId.value());
// When / Then
EXPECT_NO_THROW(const TransactionReceipt txReceipt = SystemDeleteTransaction()
.setFileId(fileId)
.setExpirationTime(std::chrono::system_clock::now())
.execute(getTestClient())
.getReceipt(getTestClient()));
}
//-----
TEST_F(SystemDeleteTransactionIntegrationTests, DeleteContract)
{
// Given
std::shared_ptr<PrivateKey> operatorKey;
ASSERT_NO_THROW(
operatorKey = ED25519PrivateKey::fromString(
"302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137"));
FileId fileId;
ASSERT_NO_THROW(fileId = FileCreateTransaction()
.setKeys({ operatorKey })
.setContents(getTestFileContent())
.execute(getTestClient())
.getReceipt(getTestClient())
.mFileId.value());
ContractId contractId;
ASSERT_NO_THROW(contractId =
ContractCreateTransaction()
.setAdminKey(operatorKey)
.setGas(1000000ULL)
.setConstructorParameters(ContractFunctionParameters().addString("Hello from Hiero.").toBytes())
.setBytecodeFileId(fileId)
.execute(getTestClient())
.getReceipt(getTestClient())
.mContractId.value());
// When / Then
EXPECT_THROW(const TransactionReceipt txReceipt = SystemDeleteTransaction()
.setContractId(contractId)
.setExpirationTime(std::chrono::system_clock::now())
.execute(getTestClient())
.getReceipt(getTestClient()),
PrecheckStatusException); // NOT_SUPPORTED
// Clean up
ASSERT_NO_THROW(const TransactionReceipt txReceipt =
FileDeleteTransaction().setFileId(fileId).execute(getTestClient()).getReceipt(getTestClient()));
ASSERT_NO_THROW(const TransactionReceipt txReceipt = ContractDeleteTransaction()
.setContractId(contractId)
.setTransferAccountId(AccountId(2ULL))
.execute(getTestClient())
.getReceipt(getTestClient()));
}