merge master code to build iotivity
[platform/upstream/iotivity.git] / resource / csdk / security / provisioning / unittest / otmunittest.cpp
1 /* *****************************************************************
2  *
3  * Copyright 2015 Samsung Electronics All Rights Reserved.
4  *
5  *
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * *****************************************************************/
20 #include "gtest/gtest.h"
21 #include "oxmjustworks.h"
22 #include "oxmrandompin.h"
23 #include "ownershiptransfermanager.h"
24 #include "ocstack.h"
25 #include "utlist.h"
26
27 using namespace std;
28
29 TEST(JustWorksOxMTest, NullParam)
30 {
31
32     OTMContext_t* otmCtx = NULL;
33     OCStackResult res = OC_STACK_ERROR;
34     char* payloadRes;
35
36     //LoadSecretJustWorksCallback always returns OC_STACK_OK.
37     res = LoadSecretJustWorksCallback(otmCtx);
38     EXPECT_TRUE(OC_STACK_OK == res);
39
40     res = CreateSecureSessionJustWorksCallback(otmCtx);
41     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
42
43     payloadRes = CreateJustWorksSelectOxmPayload(otmCtx);
44     EXPECT_TRUE(NULL == payloadRes);
45
46     payloadRes = CreateJustWorksOwnerTransferPayload(otmCtx);
47     EXPECT_TRUE(NULL == payloadRes);
48
49     OTMContext_t otmCtx2;
50     otmCtx2.selectedDeviceInfo = NULL;
51
52     //LoadSecretJustWorksCallback always returns OC_STACK_OK.
53     res = LoadSecretJustWorksCallback(&otmCtx2);
54     EXPECT_TRUE(OC_STACK_OK == res);
55
56     res = CreateSecureSessionJustWorksCallback(&otmCtx2);
57     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
58
59     payloadRes = CreateJustWorksSelectOxmPayload(&otmCtx2);
60     EXPECT_TRUE(NULL == payloadRes);
61
62     payloadRes = CreateJustWorksOwnerTransferPayload(&otmCtx2);
63     EXPECT_TRUE(NULL == payloadRes);
64 }
65
66 TEST(RandomPinOxMTest, NullParam)
67 {
68     OTMContext_t* otmCtx = NULL;
69     OCStackResult res = OC_STACK_ERROR;
70     char* payloadRes;
71
72     //LoadSecretJustWorksCallback always returns OC_STACK_OK.
73     res = InputPinCodeCallback(otmCtx);
74     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
75
76     res = CreateSecureSessionRandomPinCallbak(otmCtx);
77     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
78
79     payloadRes = CreatePinBasedSelectOxmPayload(otmCtx);
80     EXPECT_TRUE(NULL == payloadRes);
81
82     payloadRes = CreatePinBasedOwnerTransferPayload(otmCtx);
83     EXPECT_TRUE(NULL == payloadRes);
84
85     OTMContext_t otmCtx2;
86     otmCtx2.selectedDeviceInfo = NULL;
87
88     //LoadSecretJustWorksCallback always returns OC_STACK_OK.
89     res = InputPinCodeCallback(&otmCtx2);
90     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
91
92     res = CreateSecureSessionRandomPinCallbak(&otmCtx2);
93     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
94
95     payloadRes = CreatePinBasedSelectOxmPayload(&otmCtx2);
96     EXPECT_TRUE(NULL == payloadRes);
97
98     payloadRes = CreatePinBasedOwnerTransferPayload(&otmCtx2);
99     EXPECT_TRUE(NULL == payloadRes);
100 }