• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 
18 #include "ipsecvpn_config.h"
19 #include "l2tpvpn_config.h"
20 #include "openvpn_config.h"
21 
22 namespace OHOS {
23 namespace NetManagerStandard {
24 namespace {
25 using namespace testing::ext;
26 
27 constexpr const char *TEST_VPNID = "vpnId_";
28 constexpr const char *TEST_VPN_NAME = "vpnName_";
29 constexpr int32_t TEST_VPN_TYPE = 1;
30 constexpr const char *TEST_USER_NAME = "userName_";
31 constexpr const char *TEST_PASSWORD = "password_";
32 constexpr bool TEST_SAVE_LOGIN = false;
33 constexpr int32_t TEST_USERID = 0;
34 constexpr const char *TEST_FORWARD = "forwardingRoutes_";
35 constexpr const char *TEST_PKCS12_PASSWORD = "123456";
36 std::vector<uint8_t> TEST_PKCS12_DATA{0x30, 0x82, 0x0b, 0xc1, 0x02, 0x01};
37 
GetIpsecVpnConfigData()38 IpsecVpnConfig GetIpsecVpnConfigData()
39 {
40     IpsecVpnConfig infoSequence;
41     infoSequence.vpnId_ = TEST_VPNID;
42     infoSequence.vpnName_ = TEST_VPN_NAME;
43     infoSequence.vpnType_ = TEST_VPN_TYPE;
44     infoSequence.userName_ = TEST_USER_NAME;
45     infoSequence.password_ = TEST_PASSWORD;
46     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
47     infoSequence.userId_ = TEST_USERID;
48     infoSequence.forwardingRoutes_ = TEST_FORWARD;
49     infoSequence.pkcs12Password_ = TEST_PKCS12_PASSWORD;
50     infoSequence.pkcs12FileData_ = TEST_PKCS12_DATA;
51     return infoSequence;
52 }
53 
GetL2tpVpnConfigData()54 L2tpVpnConfig GetL2tpVpnConfigData()
55 {
56     L2tpVpnConfig infoSequence;
57     infoSequence.vpnId_ = TEST_VPNID;
58     infoSequence.vpnName_ = TEST_VPN_NAME;
59     infoSequence.vpnType_ = VpnType::L2TP_IPSEC_PSK;
60     infoSequence.userName_ = TEST_USER_NAME;
61     infoSequence.password_ = TEST_PASSWORD;
62     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
63     infoSequence.userId_ = TEST_USERID;
64     infoSequence.forwardingRoutes_ = TEST_FORWARD;
65     infoSequence.pkcs12Password_ = TEST_PKCS12_PASSWORD;
66     infoSequence.pkcs12FileData_ = TEST_PKCS12_DATA;
67     return infoSequence;
68 }
69 
GetOpenvpnConfigData()70 OpenvpnConfig GetOpenvpnConfigData()
71 {
72     OpenvpnConfig infoSequence;
73     infoSequence.vpnId_ = TEST_VPNID;
74     infoSequence.vpnName_ = TEST_VPN_NAME;
75     infoSequence.vpnType_ = VpnType::L2TP_IPSEC_PSK;
76     infoSequence.userName_ = TEST_USER_NAME;
77     infoSequence.password_ = TEST_PASSWORD;
78     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
79     infoSequence.userId_ = TEST_USERID;
80     infoSequence.forwardingRoutes_ = TEST_FORWARD;
81     infoSequence.pkcs12Password_ = TEST_PKCS12_PASSWORD;
82     infoSequence.pkcs12FileData_ = TEST_PKCS12_DATA;
83     return infoSequence;
84 }
85 } // namespace
86 
87 class SysVpnConfigTest : public testing::Test {
88 public:
89     static void SetUpTestCase();
90     static void TearDownTestCase();
91     void SetUp();
92     void TearDown();
93 };
94 
SetUpTestCase()95 void SysVpnConfigTest::SetUpTestCase() {}
96 
TearDownTestCase()97 void SysVpnConfigTest::TearDownTestCase() {}
98 
SetUp()99 void SysVpnConfigTest::SetUp() {}
100 
TearDown()101 void SysVpnConfigTest::TearDown() {}
102 
103 HWTEST_F(SysVpnConfigTest, Unmarshalling001, TestSize.Level1)
104 {
105     Parcel parcel;
106     IpsecVpnConfig info = GetIpsecVpnConfigData();
107     info.vpnType_ = VpnType::IKEV2_IPSEC_MSCHAPv2;
108     EXPECT_TRUE(info.Marshalling(parcel));
109     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
110     EXPECT_TRUE(result != nullptr);
111 }
112 
113 HWTEST_F(SysVpnConfigTest, Unmarshalling002, TestSize.Level1)
114 {
115     Parcel parcel;
116     IpsecVpnConfig info = GetIpsecVpnConfigData();
117     info.vpnType_ = VpnType::IKEV2_IPSEC_PSK;
118     EXPECT_TRUE(info.Marshalling(parcel));
119     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
120     EXPECT_TRUE(result != nullptr);
121 }
122 
123 HWTEST_F(SysVpnConfigTest, Unmarshalling003, TestSize.Level1)
124 {
125     Parcel parcel;
126     IpsecVpnConfig info = GetIpsecVpnConfigData();
127     info.vpnType_ = VpnType::IKEV2_IPSEC_RSA;
128     EXPECT_TRUE(info.Marshalling(parcel));
129     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
130     EXPECT_TRUE(result != nullptr);
131 }
132 
133 HWTEST_F(SysVpnConfigTest, Unmarshalling004, TestSize.Level1)
134 {
135     Parcel parcel;
136     L2tpVpnConfig info = GetL2tpVpnConfigData();
137     info.vpnType_ = VpnType::L2TP_IPSEC_PSK;
138     EXPECT_TRUE(info.Marshalling(parcel));
139     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
140     EXPECT_TRUE(result != nullptr);
141 }
142 
143 HWTEST_F(SysVpnConfigTest, Unmarshalling005, TestSize.Level1)
144 {
145     Parcel parcel;
146     L2tpVpnConfig info = GetL2tpVpnConfigData();
147     info.vpnType_ = VpnType::L2TP_IPSEC_RSA;
148     EXPECT_TRUE(info.Marshalling(parcel));
149     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
150     EXPECT_TRUE(result != nullptr);
151 }
152 
153 HWTEST_F(SysVpnConfigTest, Unmarshalling006, TestSize.Level1)
154 {
155     Parcel parcel;
156     IpsecVpnConfig info = GetIpsecVpnConfigData();
157     info.vpnType_ = VpnType::IPSEC_XAUTH_PSK;
158     EXPECT_TRUE(info.Marshalling(parcel));
159     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
160     EXPECT_TRUE(result != nullptr);
161 }
162 
163 HWTEST_F(SysVpnConfigTest, Unmarshalling007, TestSize.Level1)
164 {
165     Parcel parcel;
166     IpsecVpnConfig info = GetIpsecVpnConfigData();
167     info.vpnType_ = VpnType::IPSEC_XAUTH_RSA;
168     EXPECT_TRUE(info.Marshalling(parcel));
169     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
170     EXPECT_TRUE(result != nullptr);
171 }
172 
173 HWTEST_F(SysVpnConfigTest, Unmarshalling008, TestSize.Level1)
174 {
175     Parcel parcel;
176     IpsecVpnConfig info = GetIpsecVpnConfigData();
177     info.vpnType_ = VpnType::IPSEC_HYBRID_RSA;
178     EXPECT_TRUE(info.Marshalling(parcel));
179     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
180     EXPECT_TRUE(result != nullptr);
181 }
182 
183 HWTEST_F(SysVpnConfigTest, Unmarshalling009, TestSize.Level1)
184 {
185     Parcel parcel;
186     IpsecVpnConfig info = GetIpsecVpnConfigData();
187     info.vpnType_ = -1;
188     EXPECT_TRUE(info.Marshalling(parcel));
189     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
190     EXPECT_TRUE(result == nullptr);
191 }
192 
193 HWTEST_F(SysVpnConfigTest, Unmarshalling010, TestSize.Level1)
194 {
195     Parcel parcel;
196     OpenvpnConfig info = GetOpenvpnConfigData();
197     info.vpnType_ = VpnType::OPENVPN;
198     EXPECT_TRUE(info.Marshalling(parcel));
199     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
200     EXPECT_TRUE(result != nullptr);
201 }
202 } // namespace NetManagerStandard
203 } // namespace OHOS