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

Implement ta_get_transaction_msg test case #42

Merged
merged 2 commits into from
Jan 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions common_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,8 @@ int ta_get_transaction_msg(const iota_client_service_t* const service,
goto done;
}

ret = hash8019_queue_push(&res->msg, transaction_message(tx));
if (ret) {
goto done;
}
memcpy(res->msg, transaction_message(tx), FLEX_TRIT_SIZE_6561);
transaction_free(tx);

done:
get_trytes_req_free(&get_trytes_req);
Expand Down
6 changes: 0 additions & 6 deletions response/ta_get_transaction_msg.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
ta_get_transaction_msg_res_t* ta_get_transaction_msg_res_new() {
ta_get_transaction_msg_res_t* res = (ta_get_transaction_msg_res_t*)malloc(
sizeof(ta_get_transaction_msg_res_t));
if (res) {
res->msg = NULL;
}
return res;
}

Expand All @@ -14,9 +11,6 @@ void ta_get_transaction_msg_res_free(ta_get_transaction_msg_res_t** res) {
return;
}

if ((*res)->msg) {
hash8019_queue_free(&(*res)->msg);
}
free(*res);
*res = NULL;
}
2 changes: 1 addition & 1 deletion response/ta_get_transaction_msg.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ extern "C" {
#endif

typedef struct ta_get_transaction_msg_res {
hash8019_queue_t msg;
flex_trit_t msg[FLEX_TRIT_SIZE_6561];
} ta_get_transaction_msg_res_t;

ta_get_transaction_msg_res_t* ta_get_transaction_msg_res_new();
Expand Down
5 changes: 2 additions & 3 deletions serializer/serializer.c
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,8 @@ int ta_get_transaction_msg_res_serialize(
goto done;
}

flex_trits_to_trytes((tryte_t*)msg_trytes, NUM_TRYTES_SIGNATURE,
res->msg->hash, NUM_TRITS_SIGNATURE,
NUM_TRITS_SIGNATURE);
flex_trits_to_trytes((tryte_t*)msg_trytes, NUM_TRYTES_SIGNATURE, res->msg,
NUM_TRITS_SIGNATURE, NUM_TRITS_SIGNATURE);
msg_trytes[NUM_TRYTES_SIGNATURE] = '\0';

cJSON_AddStringToObject(json_root, "message", msg_trytes);
Expand Down
4 changes: 2 additions & 2 deletions serializer/test/test_serializer.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,13 @@ void test_deserialize_ta_get_transaction_msg(void) {
void test_serialize_ta_get_transaction_msg(void) {
const char* json = "{\"message\":\"" TRYTES_2187_1 "\"}";
char* json_result;
flex_trit_t msg_trits[NUM_TRITS_SIGNATURE + 1];
flex_trit_t msg_trits[FLEX_TRIT_SIZE_6561];
ta_get_transaction_msg_res_t* res = ta_get_transaction_msg_res_new();

flex_trits_from_trytes(msg_trits, NUM_TRITS_SIGNATURE,
(const tryte_t*)TRYTES_2187_1, NUM_TRYTES_SIGNATURE,
NUM_TRYTES_SIGNATURE);
hash8019_queue_push(&res->msg, msg_trits);
memcpy(res->msg, msg_trits, FLEX_TRIT_SIZE_6561);

ta_get_transaction_msg_res_serialize(&json_result, res);

Expand Down
62 changes: 31 additions & 31 deletions serializer/test/test_serializer.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,37 +58,37 @@ extern "C" {
"VXFWP9X9999"

#define TRYTES_2187_1 \
"ZDBDBUAFDYHOVOYSJVVPGMVBBDUXYTWPXYDIZJQLLHQFDEDXHTVIFVPOLSZVVXQTOXNFOJME" \
"ANCKALZGCNZDQVLRMBQDZPLTEA9RPAJTPPA9INAOTENXDKLJXHQHHOOO9FIN9FPQORUFDMXV" \
"VRFOMFQPUHMLACRQEXMJKOKRJSKVDXVDXALF9UEUGWJPEQBCYXMEHCRYW9GCWFAGCDZAAKKX" \
"WDCZPWXXZMNRTWEPBETFJAVMERWZCNCNAS9NQOUBJIHWQQQBEEQJSCMOK9DBVOQEHXGDYNXQ" \
"ZGBEKPWOPJLQQNVRJEZYDVOGONYYIISPWLXADJWPFPJ9ORZLWUQDCMRYORKJHOK9GIMRVDYN" \
"NFGLORDDRXDUTFLZEHOZMFDQBWWJLFZUQVOROTKTCRETDBAEWIKDJCWVNNHXDCCWQTMKCTPN" \
"ITUOSVGFTHYOAZQ9QFCMXKDDXMBNIPN9RBHICWXKHNTRZLKKUWAGYCDYTAHONHOZAYGTUFZT" \
"SFPQ9MXZPXLPJWWWT9NOSTTKLJEDZTBTW9CYLSHJHSBUBDFHDVTONZEAS9OXHYCCDAWEPLBR" \
"WNZOQPR9EIWCZAHLMDE9OHJIMCKJRBIEAAQGIKIQYTTIUHOVBSGL9EUVGBMSJSXDXQWFHOVW" \
"LQARHRNCLMDDNGZUFAXXIZKUBQ9AQSGEHYKVBHMYOSTLEFSZATPFETGTGUDTPIXNNWNAVSLJ" \
"IVBPEEWA9NDF9JOTKOMATQIWHXCKMNLCNUKEEJHMDBRSYZCRZIKLG9J9CCCKCY9HXXS9GBFM" \
"CSZBVWUKAUZWTAZBRWAXRNOAOKYURURJXLHUTMC9TFEC9AWEGTBAVFPVEOFX9H9CHNHJRATA" \
"GFF9ZZKHLDVMZNBZTFGPEN9O9PDOXGNTFOYTVGUXOMENLBRTXI9NPGCEMWZSNJAHL9ZEYLGN" \
"ZWDBB9NOMHCTFRDUAGGXAFRUVUJGSXBHOOGWPHCEQYGBISQJELNRXXFHWWPASDWTZYUUHUBQ" \
"EOFWZHYTVNPVZINNBNUSWAIZVEJJCIFZPXPYB9IZLKTQWDUCLNPIOVKBWKWSGDGYFXZLFBFF" \
"JBGODHGEIPYXVPDEEKBWOYPWZMHXBWCOCOMIFDVOQOTOMKAURJXYDCHQKBWSTXUWEWKHEGQS" \
"UUTGZUVVJCVCWTKPFWJLVBWQNOQCLRTCLNXVRIFZXMOXYEKJTKWMBXWFYFDXKI99DCVBGIMG" \
"DQKJDYJOYRPEGPJSRPXLJNJFQ9BDRODYJECNCWPSO9UZIYIGFESSLIREAHBTHLBVRAMYROIW" \
"F9BRITFZVCNAWKBNYMSYVJTGINHSPPSOK9IYWZAGHDTHNXPRRHRDWX9TLWWUPWEWFLFDBYBO" \
"MLWCDUOUWCKVCSYQPGQCXDY9JJIKYBXTMSQEIVALVZBMZRUOIAAHQZRGBPHTFCLACUA9YLJE" \
"T9VIBHVTDQRDADQTFYR9BRKCJUGCOKLXYQXIOPIOKVBHTKIBI9WXZHXKXXPDJIIEHJSYYS9I" \
"J9I9UIAJMXFYFODJPOZIMOQNAM9OYMHP99BOPTWWD9QT9CSITJUZUWZX9VFQJXY99VTL9KIW" \
"WSZQTFIKTWMNTSOCCDKVNDMTXWPPMNDUDSQCIBRJSEDRQVDQTCBDZE9LFJMOPEISTE9DIIRC" \
"WCPY9FCVLAWQAAHTPWLDPLXSJPMWTMAUKGGZMHXHODSBWKQPQWZNDWUHCWNF9PDXSGBTMNQI" \
"BLHVCHUSQYCLENFNVXYOZXFTUUKQGOGJP9M9MEMVTQE9KCNQILTCNDXQFXXFOY9PYB9FTVAB" \
"HKBUGVJHZRLOISXCSJIIFXVHJJBBOAHCGKLFRH9LONKKJZKMPGNZOAZGJLBIWRWPKFSCHESH" \
"GDLAPXCQPJZHOLMQSPNMEVLQLGMADEDHRIJQIXZVNACZGIYBYMTLDADALYLZXQGUMUVJCZDD" \
"ARPFTCMOMQGCFULDQLSACLI9YUONUWQJSRDI9NOUFRGOXQKIGNKPIEMMLCFMOGRTWUODYRUL" \
"NEKEDAUHAUTUNNMDWTTTKBCRCYMZYQIZESNOWZACHTKBRUIISOBGFZMNOC9PUSFTSWRHINPQ" \
"DCMSUEOUBPGUC9DIQ9SWPPDVGGDKZIPJGAGEOHSOBGZUMKYOLY9KTVGKWMHKNUWIQJYCPRFS" \
"BGVRKUHIW9JCQPXULPURGJQVCS9"
"BYSWEAUTWXHXZ9YBZISEK9LUHWGMHXCGEVNZHRLUWQFCUSDXZHOFHWHL9MQPVJXXZLIXPX" \
"PXF9KYEREFSKCPKYIIKPZVLHUTDFQKKVVBBN9ATTLPCNPJDWDEVIYYLGPZGCWXOBDXMLJC9V" \
"O9QXTTBLAXTTBFUAROYEGQIVB9MJWJKXJMCUPTWAUGFZBTZCSJVRBGMYXTVBDDS9MYUJCPZ9" \
"YDWWQNIPUAIJXXSNLKUBSCOIJPCLEFPOXFJREXQCUVUMKSDOVQGGHRNILCO9GNCLWFM9APMN" \
"MWYASHXQAYBEXF9QRIHIBHYEJOYHRQJAOKAQ9AJJFQ9WEIWIJOTZATIBOXQLBMIJU9PCGBLV" \
"DDVFP9CFFSXTDUXMEGOOFXWRTLFGV9XXMYWEMGQEEEDBTIJ9OJOXFAPFQXCDAXOUDMLVYRMR" \
"LUDBETOLRJQAEDDLNVIRQJUBZBO9CCFDHIX9MSQCWYAXJVWHCUPTRSXJDESISQPRKZAFKFRU" \
"LCGVRSBLVFOPEYLEE99JD9SEBALQINPDAZHFAB9RNBH9AZWIJOTLBZVIEJIAYGMC9AZGNFWG" \
"RSWAXTYSXVROVNKCOQQIWGPNQZKHUNODGYADPYLZZZUQRTJRTODOUKAOITNOMWNGHJBBA99Q" \
"UMBHRENGBHTH9KHUAOXBVIVDVYYZMSEYSJWIOGGXZVRGN999EEGQMCOYVJQRIRROMPCQBLDY" \
"IGQO9AMORPYFSSUGACOJXGAQSPDY9YWRRPESNXXBDQ9OZOXVIOMLGTSWAMKMTDRSPGJKGBXQ" \
"IVNRJRFRYEZ9VJDLHIKPSKMYC9YEGHFDS9SGVDHRIXBEMLFIINOHVPXIFAZCJKBHVMQZEVWC" \
"OSNWQRDYWVAIBLSCBGESJUIBWZECPUCAYAWMTQKRMCHONIPKJYYTEGZCJYCT9ABRWTJLRQXK" \
"MWY9GWZMHYZNWPXULNZAPVQLPMYQZCYNEPOCGOHBJUZLZDPIXVHLDMQYJUUBEDXXPXFLNRGI" \
"PWBRNQQZJSGSJTTYHIGGFAWJVXWL9THTPWOOHTNQWCNYOYZXALHAZXVMIZE9WMQUDCHDJMIB" \
"WKTYH9AC9AFOT9DPCADCV9ZWUTE9QNOMSZPTZDJLJZCJGHXUNBJFUBJWQUEZDMHXGBPTNSPZ" \
"BR9TGSKVOHMOQSWPGFLSWNESFKSAZY9HHERAXALZCABFYPOVLAHMIHVDBGKUMDXC9WHHTIRY" \
"HZVWNXSVQUWCR9M9RAGMFEZZKZ9XEOQGOSLFQCHHOKLDSA9QCMDGCGMRYJZLBVIFOLBIJPRO" \
"KMHOYTBTJIWUZWJMCTKCJKKTR9LCVYPVJI9AHGI9JOWMIWZAGMLDFJA9WU9QAMEFGABIBEZN" \
"NAL9OXSBFLOEHKDGHWFQSHMPLYFCNXAAZYJLMQDEYRGL9QKCEUEJ9LLVUOINVSZZQHCIKPAG" \
"MT9CAYIIMTTBCPKWTYHOJIIY9GYNPAJNUJ9BKYYXSV9JSPEXYMCFAIKTGNRSQGUNIYZCRT9F" \
"OWENSZQPD9ALUPYYAVICHVYELYFPUYDTWUSWNIYFXPX9MICCCOOZIWRNJIDALWGWRATGLJXN" \
"AYTNIZWQ9YTVDBOFZRKO9CFWRPAQQRXTPACOWCPRLYRYSJARRKSQPR9TCFXDVIXLP9XVL99E" \
"RRDSOHBFJDJQQGGGCZNDQ9NYCTQJWVZIAELCRBJJFDMCNZU9FIZRPGNURTXOCDSQGXTQHKHU" \
"ECGWFUUYS9J9NYQ9U9P9UUP9YMZHWWWCIASCFLCMSKTELZWUGCDE9YOKVOVKTAYPHDF9ZCCQ" \
"AYPJIJNGSHUIHHCOSSOOBUDOKE9CJZGYSSGNCQJVBEFTZFJ9SQUHOASKRRGBSHWKBCBWBTJH" \
"OGQ9WOMQFHWJVEG9NYX9KWBTCAIXNXHEBDIOFO9ALYMFGRICLCKKLG9FOBOX9PDWNQRGHBKH" \
"GKKRLWTBEQMCWQRLHAVYYZDIIPKVQTHYTWQMTOACXZOQCDTJTBAAUWXSGJF9PNQIJ9AJRUMU" \
"VCPWYVYVARKR9RKGOUHHNKNVGGPDDLGKPQNOYHNKAVVKCXWXOQPZNSLATUJT9AUWRMPPSWHS" \
"TTYDFAQDXOCYTZHOYYGAIM9CELMZ9AZPWB9MJXGHOKDNNSZVUDAGXTJJSSZCPZVPZBYNNTUQ" \
"ABSXQWZCHDQSLGK9UOHCFKBIBNETK"

const flex_trit_t TRITS_81_1[] = {
76, 67, 73, 75, 89, 83, 66, 69, 57, 73, 72, 88, 76, 73, 75, 67,
Expand Down
11 changes: 11 additions & 0 deletions tests/iota_api_mock.cc
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,14 @@ retcode_t iota_client_get_new_address(iota_client_service_t const* const serv,
return APIMockObj.iota_client_get_new_address(serv, seed, addr_opt,
out_addresses);
}

retcode_t iota_client_get_trytes(const iota_client_service_t* const service,
get_trytes_req_t* const req,
get_trytes_res_t* res) {
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);
hash8019_queue_push(&res->trytes, tx_trits);
return APIMockObj.iota_client_get_trytes(service, req, res);
}
8 changes: 8 additions & 0 deletions tests/iota_api_mock.hh
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ class IotaAPI {
address_opt_t const addr_opt, hash243_queue_t* out_addresses) {
return RC_OK;
}
virtual retcode_t iota_client_get_trytes(
const iota_client_service_t* const service, get_trytes_req_t* const req,
get_trytes_res_t* res) {
return RC_OK;
}
};

/**
Expand All @@ -57,4 +62,7 @@ class APIMock : public IotaAPI {
flex_trit_t const* const seed,
address_opt_t const addr_opt,
hash243_queue_t* out_addresses));
MOCK_METHOD3(iota_client_get_trytes,
retcode_t(const iota_client_service_t* const service,
get_trytes_req_t* const req, get_trytes_res_t* res));
};
17 changes: 17 additions & 0 deletions tests/test_common.cc
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,23 @@ TEST(GenAdressTest, GetNewAddressTest) {
ta_generate_address_res_free(&res);
}

TEST(GetTxnMsgTest, GetTrytesTest) {
ta_get_transaction_msg_req_t* req = ta_get_transaction_msg_req_new();
ta_get_transaction_msg_res_t* res = ta_get_transaction_msg_res_new();

EXPECT_CALL(APIMockObj, iota_client_get_trytes(_, _, _)).Times(AtLeast(1));

EXPECT_EQ(ta_get_transaction_msg(&service, req, res), 0);
flex_trit_t hash[FLEX_TRIT_SIZE_6561];
flex_trits_from_trytes(hash, NUM_TRITS_SIGNATURE,
(const tryte_t*)TRYTES_2187_1, NUM_TRYTES_SIGNATURE,
NUM_TRYTES_SIGNATURE);

EXPECT_THAT(res->msg, ElementsAreArray(hash));
ta_get_transaction_msg_req_free(&req);
ta_get_transaction_msg_res_free(&res);
}

int main(int argc, char** argv) {
::testing::GTEST_FLAG(throw_on_failure) = true;
::testing::InitGoogleMock(&argc, argv);
Expand Down