Loading src/lib/kinetic_operation.c +11 −5 Original line number Diff line number Diff line Loading @@ -20,10 +20,16 @@ #include "kinetic_operation.h" void KineticOperation_BuildNoop( KineticMessage* const message, KineticExchange* const exchange, KineticHMAC* const hmac) void KineticOperation_Init( KineticOperation* operation, KineticExchange* exchange, KineticMessage* message) { // assert(false); // Need to complete!!! KINETIC_OPERATION_INIT(operation, exchange, message); } void KineticOperation_BuildNoop(KineticOperation* operation) { KineticMessage_Init(operation->message); KineticExchange_ConfigureHeader(operation->exchange, &operation->message->header); } src/lib/kinetic_operation.h +8 −11 Original line number Diff line number Diff line Loading @@ -24,24 +24,21 @@ #include "kinetic_types.h" #include "kinetic_exchange.h" #include "kinetic_message.h" #include "kinetic_hmac.h" typedef struct _KineticOperation { KineticExchange* exchange; KineticMessage* message; KineticHMAC* hmac; } KineticOperation; #define KINETIC_OPERATION_INIT(op, exchange, msg, hmac) { \ op.exchange = exchange; \ op.message = msg; \ op.hmac = hmac; \ } #define KINETIC_OPERATION_INIT(op, xchng, msg) { \ (op)->exchange = (xchng); \ (op)->message = (msg); } void KineticOperation_BuildNoop( KineticMessage* const message, KineticExchange* const exchange, KineticHMAC* const hmac); void KineticOperation_Init(KineticOperation* operation, KineticExchange* exchange, KineticMessage* message); void KineticOperation_BuildNoop(KineticOperation* operation); #endif // _KINETIC_OPERATION_H test/unit/test_kinetic_operation.c +20 −11 Original line number Diff line number Diff line Loading @@ -25,9 +25,7 @@ #include "kinetic_proto.h" #include "mock_kinetic_exchange.h" #include "mock_kinetic_connection.h" #include "mock_kinetic_pdu.h" #include "mock_kinetic_message.h" #include "mock_kinetic_hmac.h" void setUp(void) { Loading @@ -41,23 +39,34 @@ void test_KINETIC_OPERATION_INIT_should_initialize_a_KineticOperation(void) { KineticOperation op; KINETIC_OPERATION_INIT(op, (KineticExchange*)0x1234, (KineticMessage*)0x2345, (KineticHMAC*)0x3456); KINETIC_OPERATION_INIT(&op, (KineticExchange*)0x1234, (KineticMessage*)0x2345); TEST_ASSERT_EQUAL_PTR(0x1234, op.exchange); TEST_ASSERT_EQUAL_PTR(0x2345, op.message); TEST_ASSERT_EQUAL_PTR(0x3456, op.hmac); } void test_KineticMessage_BuildNoop_should_build_a_NOOP_message(void) void test_KineticOperation_Init_should_initialize_a_KineticOperation(void) { KineticMessage message; KineticHMAC hmac; KineticOperation op; KineticOperation_Init(&op, (KineticExchange*)0x1234, (KineticMessage*)0x2345); KINETIC_MESSAGE_INIT(&message); // Init here with macro, since mock won't initialize the struct TEST_ASSERT_EQUAL_PTR(0x1234, op.exchange); TEST_ASSERT_EQUAL_PTR(0x2345, op.message); } void test_KineticOperation_BuildNoop_should_build_and_execute_a_NOOP_operation(void) { KineticMessage message; KineticOperation op; KineticExchange exchange; KINETIC_MESSAGE_INIT(&message); KINETIC_OPERATION_INIT(&op, &exchange, &message); KineticMessage_Init_Expect(&message); KineticHMAC_Init_Expect(&hmac, KINETIC_PROTO_SECURITY_ACL_HMACALGORITHM_HmacSHA1); KineticHMAC_Populate_Expect(&hmac, &message, key, keyLen); KineticExchange_ConfigureHeader_Expect(&exchange, &message.header); KineticOperation_BuildNoop(&op); KineticMessage_BuildNoop(&message); TEST_IGNORE_MESSAGE("Need to populate with NOOP fields/content!"); } Loading
src/lib/kinetic_operation.c +11 −5 Original line number Diff line number Diff line Loading @@ -20,10 +20,16 @@ #include "kinetic_operation.h" void KineticOperation_BuildNoop( KineticMessage* const message, KineticExchange* const exchange, KineticHMAC* const hmac) void KineticOperation_Init( KineticOperation* operation, KineticExchange* exchange, KineticMessage* message) { // assert(false); // Need to complete!!! KINETIC_OPERATION_INIT(operation, exchange, message); } void KineticOperation_BuildNoop(KineticOperation* operation) { KineticMessage_Init(operation->message); KineticExchange_ConfigureHeader(operation->exchange, &operation->message->header); }
src/lib/kinetic_operation.h +8 −11 Original line number Diff line number Diff line Loading @@ -24,24 +24,21 @@ #include "kinetic_types.h" #include "kinetic_exchange.h" #include "kinetic_message.h" #include "kinetic_hmac.h" typedef struct _KineticOperation { KineticExchange* exchange; KineticMessage* message; KineticHMAC* hmac; } KineticOperation; #define KINETIC_OPERATION_INIT(op, exchange, msg, hmac) { \ op.exchange = exchange; \ op.message = msg; \ op.hmac = hmac; \ } #define KINETIC_OPERATION_INIT(op, xchng, msg) { \ (op)->exchange = (xchng); \ (op)->message = (msg); } void KineticOperation_BuildNoop( KineticMessage* const message, KineticExchange* const exchange, KineticHMAC* const hmac); void KineticOperation_Init(KineticOperation* operation, KineticExchange* exchange, KineticMessage* message); void KineticOperation_BuildNoop(KineticOperation* operation); #endif // _KINETIC_OPERATION_H
test/unit/test_kinetic_operation.c +20 −11 Original line number Diff line number Diff line Loading @@ -25,9 +25,7 @@ #include "kinetic_proto.h" #include "mock_kinetic_exchange.h" #include "mock_kinetic_connection.h" #include "mock_kinetic_pdu.h" #include "mock_kinetic_message.h" #include "mock_kinetic_hmac.h" void setUp(void) { Loading @@ -41,23 +39,34 @@ void test_KINETIC_OPERATION_INIT_should_initialize_a_KineticOperation(void) { KineticOperation op; KINETIC_OPERATION_INIT(op, (KineticExchange*)0x1234, (KineticMessage*)0x2345, (KineticHMAC*)0x3456); KINETIC_OPERATION_INIT(&op, (KineticExchange*)0x1234, (KineticMessage*)0x2345); TEST_ASSERT_EQUAL_PTR(0x1234, op.exchange); TEST_ASSERT_EQUAL_PTR(0x2345, op.message); TEST_ASSERT_EQUAL_PTR(0x3456, op.hmac); } void test_KineticMessage_BuildNoop_should_build_a_NOOP_message(void) void test_KineticOperation_Init_should_initialize_a_KineticOperation(void) { KineticMessage message; KineticHMAC hmac; KineticOperation op; KineticOperation_Init(&op, (KineticExchange*)0x1234, (KineticMessage*)0x2345); KINETIC_MESSAGE_INIT(&message); // Init here with macro, since mock won't initialize the struct TEST_ASSERT_EQUAL_PTR(0x1234, op.exchange); TEST_ASSERT_EQUAL_PTR(0x2345, op.message); } void test_KineticOperation_BuildNoop_should_build_and_execute_a_NOOP_operation(void) { KineticMessage message; KineticOperation op; KineticExchange exchange; KINETIC_MESSAGE_INIT(&message); KINETIC_OPERATION_INIT(&op, &exchange, &message); KineticMessage_Init_Expect(&message); KineticHMAC_Init_Expect(&hmac, KINETIC_PROTO_SECURITY_ACL_HMACALGORITHM_HmacSHA1); KineticHMAC_Populate_Expect(&hmac, &message, key, keyLen); KineticExchange_ConfigureHeader_Expect(&exchange, &message.header); KineticOperation_BuildNoop(&op); KineticMessage_BuildNoop(&message); TEST_IGNORE_MESSAGE("Need to populate with NOOP fields/content!"); }