X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Ftest%2Fca_api_unittest.cpp;h=100beac9563cef5875cb49cf1e007da16eabdc22;hb=8229635f6d207516ccbbdf23b13be164e0fc1787;hp=940c83824a783200429262c8b2531c73dad68b7e;hpb=5b285e73548cac989ef00461e1a96bc60b613ae1;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/test/ca_api_unittest.cpp b/resource/csdk/connectivity/test/ca_api_unittest.cpp index 940c838..100beac 100644 --- a/resource/csdk/connectivity/test/ca_api_unittest.cpp +++ b/resource/csdk/connectivity/test/ca_api_unittest.cpp @@ -18,17 +18,21 @@ * ******************************************************************/ +#include "platform_features.h" #include "gtest/gtest.h" #include "cainterface.h" #include "cautilinterface.h" #include "cacommon.h" +#include "oic_string.h" +#include "oic_malloc.h" #define CA_TRANSPORT_ADAPTER_SCOPE 1000 class CATests : public testing::Test { protected: - virtual void SetUp() { - CAInitialize(); + virtual void SetUp() + { + CAInitialize(CA_ADAPTER_IP); } virtual void TearDown() @@ -42,7 +46,6 @@ void response_handler(CAEndpoint_t* object, CAResponseInfo_t* responseInfo); void error_handler(const CAEndpoint_t *object, const CAErrorInfo_t* errorInfo); void adapter_handler(CATransportAdapter_t adapter, bool enabled); void connection_handler(CATransportAdapter_t adapter, const char *remote_address, bool connected); -CAResult_t checkGetNetworkInfo(); CAResult_t checkSelectNetwork(); void request_handler(const CAEndpoint_t * /*object*/, @@ -73,8 +76,7 @@ void adapter_handler(CATransportAdapter_t /*adapter*/, { } -void connection_handler(CATransportAdapter_t /*adapter*/, - const char * /*remote_address*/, +void connection_handler(const CAEndpoint_t * /*endpoint*/, bool /*connected*/) { } @@ -160,10 +162,9 @@ int32_t CAGetDtlsPskCredentials( CADtlsPskCredType_t type, #endif //__WITH_DTLS__ // CAInitialize TC -// check return value -TEST(InitializeTest, TC_01_Positive_01) +TEST(InitializeTest, CAInitializeTest) { - EXPECT_EQ(CA_STATUS_OK, CAInitialize()); + EXPECT_EQ(CA_STATUS_OK, CAInitialize(CA_ADAPTER_IP)); CATerminate(); } @@ -175,25 +176,36 @@ TEST_F(CATests, TerminateTest) char* check = (char *) "terminate success"; EXPECT_STREQ(check, "terminate success"); - CAInitialize(); + CAInitialize(CA_ADAPTER_IP); } + // CAStartListeningServer TC -// check return value -TEST(StartListeningServerTest, DISABLED_TC_03_Positive_01) +TEST_F(CATests, StartListeningServerTestWithNonSelect) { - CASelectNetwork(CA_ADAPTER_IP); + EXPECT_EQ(CA_STATUS_FAILED, CAStartListeningServer()); +} + +// CAStartListeningServer TC +TEST_F(CATests, StartListeningServerTest) +{ + EXPECT_EQ(CA_STATUS_OK, CASelectNetwork(CA_ADAPTER_IP)); EXPECT_EQ(CA_STATUS_OK, CAStartListeningServer()); } -// CAStartDiscoveryServer TC -// check return value -TEST(StartDiscoveryServerTest, DISABLED_TC_04_Positive_01) +// CAStopListeningServer TC +TEST_F(CATests, CAStopListeningServerTestWithNonSelect) +{ + EXPECT_EQ(CA_STATUS_FAILED, CAStopListeningServer()); +} + +// CAStopListeningServer TC +TEST_F(CATests, CAStopListeningServerTest) { - EXPECT_EQ(CA_STATUS_OK, CAStartDiscoveryServer()); + EXPECT_EQ(CA_STATUS_OK, CASelectNetwork(CA_ADAPTER_IP)); + EXPECT_EQ(CA_STATUS_OK, CAStopListeningServer()); } // CARegisterHandlerTest TC -// check return value TEST_F(CATests, RegisterHandlerTest) { CARegisterHandler(request_handler, response_handler, error_handler); @@ -202,7 +214,6 @@ TEST_F(CATests, RegisterHandlerTest) } // CACreateRemoteEndpoint TC -// check return value TEST_F(CATests, CreateRemoteEndpointTestGood) { addr = (char *) ADDRESS; @@ -228,7 +239,6 @@ TEST_F(CATests, CreateRemoteEndpointTestValues) } // CAGerateToken TC -// check return value TEST_F(CATests, GenerateTokenTestGood) { EXPECT_EQ(CA_STATUS_OK, CAGenerateToken(&tempToken, tokenLength)); @@ -253,8 +263,32 @@ TEST_F(CATests, DestroyTokenTest) EXPECT_STREQ(check, "destroy success"); } +TEST_F(CATests, SendRequestTestWithInvalidAddress) +{ + CARegisterHandler(request_handler, response_handler, error_handler); + + EXPECT_EQ(CA_STATUS_OK, CASelectNetwork(CA_ADAPTER_IP)); + CACreateEndpoint(CA_DEFAULT_FLAGS, CA_ADAPTER_IP, "10.11.13.13.14", PORT, &tempRep); + + memset(&requestData, 0, sizeof(CAInfo_t)); + CAGenerateToken(&tempToken, tokenLength); + requestData.token = tempToken; + requestData.tokenLength = tokenLength; + requestData.type = CA_MSG_CONFIRM; + + memset(&requestInfo, 0, sizeof(CARequestInfo_t)); + requestInfo.method = CA_GET; + requestInfo.info = requestData; + + EXPECT_EQ(CA_STATUS_OK, CASendRequest(tempRep, &requestInfo)); + + CADestroyToken(tempToken); + CADestroyEndpoint(tempRep); + free(requestData.payload); + tempRep = NULL; +} + // CASendRequest TC -// check return value TEST(SendRequestTest, DISABLED_TC_16_Positive_01) { addr = (char *) ADDRESS; @@ -265,7 +299,7 @@ TEST(SendRequestTest, DISABLED_TC_16_Positive_01) requestData.token = tempToken; requestData.tokenLength = tokenLength; - int length = strlen(NORMAL_INFO_DATA) + strlen("a/light"); + size_t length = strlen(NORMAL_INFO_DATA) + strlen("a/light"); requestData.payload = (CAPayload_t) calloc(length, sizeof(char)); if(!requestData.payload) { @@ -300,8 +334,41 @@ TEST_F(CATests, SendRequestTestWithNullAddr) tempRep = NULL; } +TEST_F(CATests, SendResponseTestWithInvalidCode) +{ + EXPECT_EQ(CA_STATUS_OK, CASelectNetwork(CA_ADAPTER_IP)); + + addr = (char *) ADDRESS; + CACreateEndpoint(CA_DEFAULT_FLAGS, CA_ADAPTER_IP, addr, PORT, &tempRep); + + memset(&responseData, 0, sizeof(CAInfo_t)); + responseData.type = CA_MSG_RESET; + responseData.messageId = 1; + responseData.payload = (CAPayload_t)OICMalloc(sizeof("response payload")); + responseData.dataType = CA_RESPONSE_DATA; + + EXPECT_TRUE(responseData.payload != NULL); + + if (responseData.payload) + { + CAGenerateToken(&tempToken, tokenLength); + requestData.token = tempToken; + requestData.tokenLength = tokenLength; + + memset(&responseInfo, 0, sizeof(CAResponseInfo_t)); + responseInfo.result = CA_CONTENT; + responseInfo.info = responseData; + + EXPECT_EQ(CA_STATUS_OK, CASendResponse(tempRep, &responseInfo)); + + CADestroyToken(tempToken); + CADestroyEndpoint(tempRep); + OICFree(responseData.payload); + tempRep = NULL; + } +} + // CASendResponse TC -// check return value TEST(SendResponseTest, DISABLED_TC_19_Positive_01) { addr = (char *) ADDRESS; @@ -311,6 +378,7 @@ TEST(SendResponseTest, DISABLED_TC_19_Positive_01) responseData.type = CA_MSG_NONCONFIRM; responseData.messageId = 1; responseData.payload = (CAPayload_t)malloc(sizeof("response payload")); + responseData.dataType = CA_RESPONSE_DATA; EXPECT_TRUE(responseData.payload != NULL); if(!responseData.payload) @@ -348,6 +416,7 @@ TEST(SendResponseTest, DISABLED_TC_20_Negative_01) responseData.type = CA_MSG_NONCONFIRM; responseData.messageId = 1; responseData.payload = (CAPayload_t)malloc(sizeof("response payload")); + responseData.dataType = CA_RESPONSE_DATA; EXPECT_TRUE(responseData.payload != NULL); if(!responseData.payload) @@ -388,7 +457,6 @@ TEST_F(CATests, SendResponseTest) } // CASelectNewwork TC -// check return value TEST_F(CATests, SelectNetworkTestGood) { EXPECT_EQ(CA_STATUS_OK, checkSelectNetwork()); @@ -429,28 +497,40 @@ TEST_F(CATests, UnSelectNetworkTest) } // CAHandlerRequestResponse TC -// check return value TEST_F(CATests, HandlerRequestResponseTest) { EXPECT_EQ(CA_STATUS_OK, CAHandleRequestResponse()); } // CAGetNetworkInformation TC -// check return value -TEST_F (CATests, GetNetworkInformationTestGood) +TEST_F (CATests, GetNetworkInformationTest) { - EXPECT_EQ(CA_STATUS_OK, checkGetNetworkInfo()); + uint32_t tempSize = 0; + CAEndpoint_t *tempInfo = NULL; + + EXPECT_EQ(CA_STATUS_OK, CASelectNetwork(CA_ADAPTER_IP)); + EXPECT_EQ(CA_STATUS_OK, CAGetNetworkInformation(&tempInfo, &tempSize)); + +// @todo: if this api is supported on windows platform, it should be changed. +#if !defined(_WIN32) + for (uint32_t index = 0; index < tempSize; index++) + { + EXPECT_TRUE(tempInfo[index].adapter != 0); + EXPECT_TRUE(strlen(tempInfo[index].addr) != 0); + } +#endif + + free(tempInfo); } TEST_F(CATests, RegisterDTLSCredentialsHandlerTest) { #ifdef __WITH_DTLS__ - EXPECT_EQ(CA_STATUS_OK, CARegisterDTLSCredentialsHandler(CAGetDtlsPskCredentials)); + EXPECT_EQ(CA_STATUS_OK, CAregisterPskCredentialsHandler(CAGetDtlsPskCredentials)); #endif } // CARegisterNetworkMonitorHandler TC -// check return value TEST_F(CATests, RegisterNetworkMonitorHandler) { EXPECT_EQ(CA_STATUS_OK, CARegisterNetworkMonitorHandler(adapter_handler, @@ -458,7 +538,6 @@ TEST_F(CATests, RegisterNetworkMonitorHandler) } // CASetAutoConnectionDeviceInfo TC -// check return value TEST_F(CATests, SetAutoConnectionDeviceInfo) { addr = (char *) ADDRESS; @@ -471,7 +550,6 @@ TEST_F(CATests, SetAutoConnectionDeviceInfo) } // CAUnsetAutoConnectionDeviceInfo TC -// check return value TEST_F(CATests, UnsetAutoConnectionDeviceInfo) { addr = (char *) ADDRESS; @@ -483,22 +561,37 @@ TEST_F(CATests, UnsetAutoConnectionDeviceInfo) #endif } -CAResult_t checkGetNetworkInfo() +TEST(CASetPortNumberTest, CASetPortNumberToAssign) { - CAEndpoint_t *tempInfo = NULL; - uint32_t tempSize = 0; + EXPECT_EQ(CA_STATUS_OK, CASetPortNumberToAssign(CA_ADAPTER_IP, CA_IPV4, 5683)); + EXPECT_EQ(CA_STATUS_OK, CASetPortNumberToAssign(CA_ADAPTER_IP, CA_IPV6, 5683)); + EXPECT_EQ(CA_STATUS_OK, + CASetPortNumberToAssign(CA_ADAPTER_IP, + static_cast(CA_IPV4|CA_SECURE), 5683)); + EXPECT_EQ(CA_STATUS_OK, + CASetPortNumberToAssign(CA_ADAPTER_IP, + static_cast(CA_IPV6|CA_SECURE), 5683)); - CAResult_t res = CAGetNetworkInformation(&tempInfo, &tempSize); - - free(tempInfo); +#ifdef TCP_ADAPTER + EXPECT_EQ(CA_STATUS_OK, CASetPortNumberToAssign(CA_ADAPTER_TCP, CA_IPV4, 5683)); + EXPECT_EQ(CA_STATUS_OK, CASetPortNumberToAssign(CA_ADAPTER_TCP, CA_IPV6, 5683)); +#endif +} - if (CA_STATUS_OK == res || CA_ADAPTER_NOT_ENABLED == res || - CA_NOT_SUPPORTED == res) - { - return CA_STATUS_OK; - } - else - { - return CA_STATUS_FAILED; - } +TEST(CAGetPortNumberTest, CAGetPortNumberToAssign) +{ + ASSERT_EQ(static_cast(0), + CAGetAssignedPortNumber(CA_ADAPTER_IP, CA_IPV4)); + ASSERT_EQ(static_cast(0), + CAGetAssignedPortNumber(CA_ADAPTER_IP, CA_IPV6)); + ASSERT_EQ(static_cast(0), + CAGetAssignedPortNumber(CA_ADAPTER_IP, + static_cast(CA_IPV4|CA_SECURE))); + ASSERT_EQ(static_cast(0), + CAGetAssignedPortNumber(CA_ADAPTER_IP, + static_cast(CA_IPV6|CA_SECURE))); +#ifdef TCP_ADAPTER + ASSERT_EQ(static_cast(0), CAGetAssignedPortNumber(CA_ADAPTER_TCP, CA_IPV4)); + ASSERT_EQ(static_cast(0), CAGetAssignedPortNumber(CA_ADAPTER_TCP, CA_IPV6)); +#endif }