Skip to content
This repository has been archived by the owner on Dec 26, 2022. It is now read-only.

Commit

Permalink
feat(test): Add get_bundle test case
Browse files Browse the repository at this point in the history
  • Loading branch information
Yu Wei Wu committed Mar 14, 2019
1 parent d783695 commit 36ee440
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 1 deletion.
14 changes: 14 additions & 0 deletions tests/iota_api_mock.cc
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,20 @@ retcode_t iota_client_find_transactions(
return APIMockObj.iota_client_find_transactions(service, req, res);
}

retcode_t iota_client_find_transaction_objects(
const iota_client_service_t* const service,
const find_transactions_req_t* const req, transaction_array_t tx_objs) {
flex_trit_t tx_trits[FLEX_TRIT_SIZE_8019];
iota_transaction_t tx;

flex_trits_from_trytes(
tx_trits, NUM_TRITS_SERIALIZED_TRANSACTION, (const tryte_t*)TRYTES_2673_1,
NUM_TRYTES_SERIALIZED_TRANSACTION, NUM_TRYTES_SERIALIZED_TRANSACTION);
transaction_deserialize_from_trits(&tx, tx_trits, false);
transaction_array_push_back(tx_objs, &tx);
return APIMockObj.iota_client_find_transaction_objects(service, req, tx_objs);
}

retcode_t iota_client_get_new_address(iota_client_service_t const* const serv,
flex_trit_t const* const seed,
address_opt_t const addr_opt,
Expand Down
10 changes: 9 additions & 1 deletion tests/iota_api_mock.hh
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ class IotaAPI {
const find_transactions_req_t* const req, find_transactions_res_t* res) {
return RC_OK;
}
virtual retcode_t iota_client_find_transaction_objects(
const iota_client_service_t* const service,
const find_transactions_req_t* const req, transaction_array_t tx_objs) {
return RC_OK;
}
virtual retcode_t iota_client_get_new_address(
iota_client_service_t const* const serv, flex_trit_t const* const seed,
address_opt_t const addr_opt, hash243_queue_t* out_addresses) {
Expand All @@ -37,7 +42,6 @@ class IotaAPI {
get_trytes_res_t* res) {
return RC_OK;
}

virtual status_t ta_send_trytes(const iota_client_service_t* const service,
hash8019_array_p trytes) {
return SC_OK;
Expand All @@ -63,6 +67,10 @@ class APIMock : public IotaAPI {
retcode_t(const iota_client_service_t* const service,
const find_transactions_req_t* const req,
find_transactions_res_t* res));
MOCK_METHOD3(iota_client_find_transaction_objects,
retcode_t(const iota_client_service_t* const service,
const find_transactions_req_t* const req,
transaction_array_t tx_objs));
MOCK_METHOD4(iota_client_get_new_address,
retcode_t(iota_client_service_t const* const serv,
flex_trit_t const* const seed,
Expand Down
24 changes: 24 additions & 0 deletions tests/test_common.cc
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,30 @@ TEST(SendTransferTest, SendTransferTest) {
ta_send_transfer_res_free(&res);
}

TEST(GetBundleTest, RetreiveBundleTest) {
bundle_transactions_t* bundle = NULL;
bundle_transactions_new(&bundle);
iota_transaction_t* tx_iter = NULL;
flex_trit_t* tx = NULL;
flex_trit_t tx_trits[FLEX_TRIT_SIZE_8019];
flex_trits_from_trytes(
tx_trits, NUM_TRITS_SERIALIZED_TRANSACTION, (const tryte_t*)TRYTES_2673_1,
NUM_TRYTES_SERIALIZED_TRANSACTION, NUM_TRYTES_SERIALIZED_TRANSACTION);

EXPECT_CALL(APIMockObj, iota_client_find_transaction_objects(_, _, _))
.Times(AtLeast(1));
EXPECT_EQ(ta_get_bundle(&service, (const tryte_t*)TRYTES_81_1, bundle), 0);

BUNDLE_FOREACH(bundle, tx_iter) {
tx = transaction_serialize(tx_iter);
EXPECT_FALSE(
memcmp(tx, tx_trits, sizeof(flex_trit_t) * FLEX_TRIT_SIZE_8019));
}

free(tx);
bundle_transactions_free(&bundle);
}

int main(int argc, char** argv) {
::testing::GTEST_FLAG(throw_on_failure) = true;
::testing::InitGoogleMock(&argc, argv);
Expand Down
3 changes: 3 additions & 0 deletions tests/test_define.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ extern "C" {
#define TRYTES_81_2 \
"RVORZ9SIIP9RCYMREUIXXVPQIPHVCNPQ9HZWYKFWYWZRE9JQKG9REPKIASHUUECPSQO9JT9XNM" \
"VKWYGVA"
#define BUNDLE_HASH \
"LVXEVZABVCIFEDSCONKEVEYBSIRMXGHLJDKSKQHTKZC9ULEAPSLKOOWCCZJGWSIISDDSEVUQHV" \
"GPFOSIW"
#define TAG_MSG "TANGLEACCELERATOR9999999999"
#define TAG_MSG_LEN 27
#define VALUE 100
Expand Down

0 comments on commit 36ee440

Please sign in to comment.