• 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 
GetIpsecVpnConfigData()36 IpsecVpnConfig GetIpsecVpnConfigData()
37 {
38     IpsecVpnConfig infoSequence;
39     infoSequence.vpnId_ = TEST_VPNID;
40     infoSequence.vpnName_ = TEST_VPN_NAME;
41     infoSequence.vpnType_ = TEST_VPN_TYPE;
42     infoSequence.userName_ = TEST_USER_NAME;
43     infoSequence.password_ = TEST_PASSWORD;
44     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
45     infoSequence.userId_ = TEST_USERID;
46     infoSequence.forwardingRoutes_ = TEST_FORWARD;
47     return infoSequence;
48 }
49 
GetL2tpVpnConfigData()50 L2tpVpnConfig GetL2tpVpnConfigData()
51 {
52     L2tpVpnConfig infoSequence;
53     infoSequence.vpnId_ = TEST_VPNID;
54     infoSequence.vpnName_ = TEST_VPN_NAME;
55     infoSequence.vpnType_ = VpnType::L2TP_IPSEC_PSK;
56     infoSequence.userName_ = TEST_USER_NAME;
57     infoSequence.password_ = TEST_PASSWORD;
58     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
59     infoSequence.userId_ = TEST_USERID;
60     infoSequence.forwardingRoutes_ = TEST_FORWARD;
61     return infoSequence;
62 }
63 
GetOpenvpnConfigData()64 OpenvpnConfig GetOpenvpnConfigData()
65 {
66     OpenvpnConfig infoSequence;
67     infoSequence.vpnId_ = TEST_VPNID;
68     infoSequence.vpnName_ = TEST_VPN_NAME;
69     infoSequence.vpnType_ = VpnType::L2TP_IPSEC_PSK;
70     infoSequence.userName_ = TEST_USER_NAME;
71     infoSequence.password_ = TEST_PASSWORD;
72     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
73     infoSequence.userId_ = TEST_USERID;
74     infoSequence.forwardingRoutes_ = TEST_FORWARD;
75     return infoSequence;
76 }
77 } // namespace
78 
79 class SysVpnConfigTest : public testing::Test {
80 public:
81     static void SetUpTestCase();
82     static void TearDownTestCase();
83     void SetUp();
84     void TearDown();
85 };
86 
SetUpTestCase()87 void SysVpnConfigTest::SetUpTestCase() {}
88 
TearDownTestCase()89 void SysVpnConfigTest::TearDownTestCase() {}
90 
SetUp()91 void SysVpnConfigTest::SetUp() {}
92 
TearDown()93 void SysVpnConfigTest::TearDown() {}
94 
95 HWTEST_F(SysVpnConfigTest, Unmarshalling001, TestSize.Level1)
96 {
97     Parcel parcel;
98     IpsecVpnConfig info = GetIpsecVpnConfigData();
99     info.vpnType_ = VpnType::IKEV2_IPSEC_MSCHAPv2;
100     EXPECT_TRUE(info.Marshalling(parcel));
101     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
102     EXPECT_TRUE(result != nullptr);
103 }
104 
105 HWTEST_F(SysVpnConfigTest, Unmarshalling002, TestSize.Level1)
106 {
107     Parcel parcel;
108     IpsecVpnConfig info = GetIpsecVpnConfigData();
109     info.vpnType_ = VpnType::IKEV2_IPSEC_PSK;
110     EXPECT_TRUE(info.Marshalling(parcel));
111     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
112     EXPECT_TRUE(result != nullptr);
113 }
114 
115 HWTEST_F(SysVpnConfigTest, Unmarshalling003, TestSize.Level1)
116 {
117     Parcel parcel;
118     IpsecVpnConfig info = GetIpsecVpnConfigData();
119     info.vpnType_ = VpnType::IKEV2_IPSEC_RSA;
120     EXPECT_TRUE(info.Marshalling(parcel));
121     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
122     EXPECT_TRUE(result != nullptr);
123 }
124 
125 HWTEST_F(SysVpnConfigTest, Unmarshalling004, TestSize.Level1)
126 {
127     Parcel parcel;
128     L2tpVpnConfig info = GetL2tpVpnConfigData();
129     info.vpnType_ = VpnType::L2TP_IPSEC_PSK;
130     EXPECT_TRUE(info.Marshalling(parcel));
131     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
132     EXPECT_TRUE(result != nullptr);
133 }
134 
135 HWTEST_F(SysVpnConfigTest, Unmarshalling005, TestSize.Level1)
136 {
137     Parcel parcel;
138     L2tpVpnConfig info = GetL2tpVpnConfigData();
139     info.vpnType_ = VpnType::L2TP_IPSEC_RSA;
140     EXPECT_TRUE(info.Marshalling(parcel));
141     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
142     EXPECT_TRUE(result != nullptr);
143 }
144 
145 HWTEST_F(SysVpnConfigTest, Unmarshalling006, TestSize.Level1)
146 {
147     Parcel parcel;
148     IpsecVpnConfig info = GetIpsecVpnConfigData();
149     info.vpnType_ = VpnType::IPSEC_XAUTH_PSK;
150     EXPECT_TRUE(info.Marshalling(parcel));
151     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
152     EXPECT_TRUE(result != nullptr);
153 }
154 
155 HWTEST_F(SysVpnConfigTest, Unmarshalling007, TestSize.Level1)
156 {
157     Parcel parcel;
158     IpsecVpnConfig info = GetIpsecVpnConfigData();
159     info.vpnType_ = VpnType::IPSEC_XAUTH_RSA;
160     EXPECT_TRUE(info.Marshalling(parcel));
161     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
162     EXPECT_TRUE(result != nullptr);
163 }
164 
165 HWTEST_F(SysVpnConfigTest, Unmarshalling008, TestSize.Level1)
166 {
167     Parcel parcel;
168     IpsecVpnConfig info = GetIpsecVpnConfigData();
169     info.vpnType_ = VpnType::IPSEC_HYBRID_RSA;
170     EXPECT_TRUE(info.Marshalling(parcel));
171     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
172     EXPECT_TRUE(result != nullptr);
173 }
174 
175 HWTEST_F(SysVpnConfigTest, Unmarshalling009, TestSize.Level1)
176 {
177     Parcel parcel;
178     IpsecVpnConfig info = GetIpsecVpnConfigData();
179     info.vpnType_ = -1;
180     EXPECT_TRUE(info.Marshalling(parcel));
181     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
182     EXPECT_TRUE(result == nullptr);
183 }
184 
185 HWTEST_F(SysVpnConfigTest, Unmarshalling010, TestSize.Level1)
186 {
187     Parcel parcel;
188     OpenvpnConfig info = GetOpenvpnConfigData();
189     info.vpnType_ = VpnType::OPENVPN;
190     EXPECT_TRUE(info.Marshalling(parcel));
191     sptr<SysVpnConfig> result = SysVpnConfig::Unmarshalling(parcel);
192     EXPECT_TRUE(result != nullptr);
193 }
194 } // namespace NetManagerStandard
195 } // namespace OHOS