Imported Upstream version 1.1.0
[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     OTMContext_t* otmCtx = NULL;
32     OCStackResult res = OC_STACK_ERROR;
33     uint8_t *payloadRes = NULL;
34     size_t size = 0;
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     res = CreateJustWorksSelectOxmPayload(otmCtx, &payloadRes, &size);
44     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
45
46     res = CreateJustWorksOwnerTransferPayload(otmCtx, &payloadRes, &size);
47     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
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     res = CreateJustWorksSelectOxmPayload(&otmCtx2, &payloadRes, &size);
60     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
61
62     res = CreateJustWorksOwnerTransferPayload(&otmCtx2, &payloadRes, &size);
63     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
64 }
65
66 TEST(RandomPinOxMTest, NullParam)
67 {
68     OTMContext_t* otmCtx = NULL;
69     OCStackResult res = OC_STACK_ERROR;
70     uint8_t *payloadRes = NULL;
71     size_t size = 0;
72
73     //LoadSecretJustWorksCallback always returns OC_STACK_OK.
74     res = InputPinCodeCallback(otmCtx);
75     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
76
77     res = CreateSecureSessionRandomPinCallback(otmCtx);
78     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
79
80     res = CreatePinBasedSelectOxmPayload(otmCtx, &payloadRes, &size);
81     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
82
83     res = CreatePinBasedOwnerTransferPayload(otmCtx, &payloadRes, &size);
84     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
85
86     OTMContext_t otmCtx2;
87     otmCtx2.selectedDeviceInfo = NULL;
88
89     //LoadSecretJustWorksCallback always returns OC_STACK_OK.
90     res = InputPinCodeCallback(&otmCtx2);
91     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
92
93     res = CreateSecureSessionRandomPinCallback(&otmCtx2);
94     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
95
96     res = CreatePinBasedSelectOxmPayload(&otmCtx2, &payloadRes, &size);
97     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
98
99     res = CreatePinBasedOwnerTransferPayload(&otmCtx2, &payloadRes, &size);
100     EXPECT_TRUE(OC_STACK_INVALID_PARAM == res);
101 }