• 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 
20 namespace OHOS {
21 namespace NetManagerStandard {
22 namespace {
23 constexpr const char *TEST_VPNID = "vpnId_";
24 constexpr const char *TEST_VPN_NAME = "vpnName_";
25 constexpr int32_t TEST_VPN_TYPE = 1;
26 constexpr const char *TEST_USER_NAME = "userName_";
27 constexpr const char *TEST_PASSWORD = "password_";
28 constexpr bool TEST_SAVE_LOGIN = false;
29 constexpr int32_t TEST_USERID = 0;
30 constexpr const char *TEST_FORWARD = "forwardingRoutes_";
31 
32 constexpr const char *TEST_PRE_SHARED_KEY = "ipsecPreSharedKey_";
33 constexpr const char *TEST_IPSEC_IDENTIFIER = "ipsecIdentifier_";
34 constexpr const char *TEST_IPSEC_SWANCTL_CONF = "swanctlConf_";
35 constexpr const char *TEST_STRONGSWAN_CONF = "strongswanConf_";
36 constexpr const char *TEST_CA_CERT_CONF = "ipsecCaCertConf_";
37 constexpr const char *TEST_PRIVATE_USER_CERT_CONF = "ipsecPrivateUserCertConf_";
38 constexpr const char *TEST_PUBLIC_USER_CERT_CONF = "ipsecPublicUserCertConf_";
39 constexpr const char *TEST_PRIVATE_SERVER_CERT_CONF = "ipsecPrivateServerCertConf_";
40 constexpr const char *TEST_PUBLIC_SERVER_CERT_CONF = "ipsecPublicServerCertConf_";
41 constexpr const char *TEST_CA_CERT_FILE_PATH = "ipsecCaCertFilePath_";
42 constexpr const char *TEST_PRIVATE_USER_CERT_FILE_PATH = "ipsecPrivateUserCertFilePath_";
43 constexpr const char *TEST_PUBLIC_USER_CERT_FILE_PATH = "ipsecPublicUserCertFilePath_";
44 constexpr const char *TEST_PRIVATE_SERVER_CERT_FILE_PATH = "ipsecPrivateServerCertFilePath_";
45 constexpr const char *TEST_PUBLIC_ERVER_CERT_FILE_PATH = "ipsecPublicServerCertFilePath_";
46 
GetIpsecVpnConfigData()47 IpsecVpnConfig GetIpsecVpnConfigData()
48 {
49     IpsecVpnConfig infoSequence;
50     infoSequence.ipsecPreSharedKey_ = TEST_PRE_SHARED_KEY;
51     infoSequence.ipsecIdentifier_ = TEST_IPSEC_IDENTIFIER;
52     infoSequence.swanctlConf_ = TEST_IPSEC_SWANCTL_CONF;
53     infoSequence.strongswanConf_ = TEST_STRONGSWAN_CONF;
54     infoSequence.ipsecCaCertConf_ = TEST_CA_CERT_CONF;
55     infoSequence.ipsecPrivateUserCertConf_ = TEST_PRIVATE_USER_CERT_CONF;
56     infoSequence.ipsecPublicUserCertConf_ = TEST_PUBLIC_USER_CERT_CONF;
57     infoSequence.ipsecPrivateServerCertConf_ = TEST_PRIVATE_SERVER_CERT_CONF;
58     infoSequence.ipsecPublicServerCertConf_ = TEST_PUBLIC_SERVER_CERT_CONF;
59     infoSequence.ipsecCaCertFilePath_ = TEST_CA_CERT_FILE_PATH;
60     infoSequence.ipsecPrivateUserCertFilePath_ = TEST_PRIVATE_USER_CERT_FILE_PATH;
61     infoSequence.ipsecPublicUserCertFilePath_ = TEST_PUBLIC_USER_CERT_FILE_PATH;
62     infoSequence.ipsecPrivateServerCertFilePath_ = TEST_PRIVATE_SERVER_CERT_FILE_PATH;
63     infoSequence.ipsecPublicServerCertFilePath_ = TEST_PUBLIC_ERVER_CERT_FILE_PATH;
64 
65     infoSequence.vpnId_ = TEST_VPNID;
66     infoSequence.vpnName_ = TEST_VPN_NAME;
67     infoSequence.vpnType_ = TEST_VPN_TYPE;
68     infoSequence.userName_ = TEST_USER_NAME;
69     infoSequence.password_ = TEST_PASSWORD;
70     infoSequence.saveLogin_ = TEST_SAVE_LOGIN;
71     infoSequence.userId_ = TEST_USERID;
72     infoSequence.forwardingRoutes_ = TEST_FORWARD;
73     return infoSequence;
74 }
75 }
76 
77 using namespace testing::ext;
78 class IpsecVpnConfigTest : public testing::Test {
79 public:
80     static void SetUpTestCase();
81     static void TearDownTestCase();
82     void SetUp();
83     void TearDown();
84 };
85 
SetUpTestCase()86 void IpsecVpnConfigTest::SetUpTestCase() {}
87 
TearDownTestCase()88 void IpsecVpnConfigTest::TearDownTestCase() {}
89 
SetUp()90 void IpsecVpnConfigTest::SetUp() {}
91 
TearDown()92 void IpsecVpnConfigTest::TearDown() {}
93 
94 HWTEST_F(IpsecVpnConfigTest, MarshallingUnmarshallingTest001, TestSize.Level1)
95 {
96     Parcel parcel;
97     IpsecVpnConfig info = GetIpsecVpnConfigData();
98     EXPECT_TRUE(info.Marshalling(parcel));
99     int32_t type;
100     parcel.ReadInt32(type);
101     sptr<IpsecVpnConfig> result = IpsecVpnConfig::Unmarshalling(parcel);
102     ASSERT_TRUE(result != nullptr);
103     EXPECT_EQ(result->ipsecPreSharedKey_, info.ipsecPreSharedKey_);
104     EXPECT_EQ(result->ipsecIdentifier_, info.ipsecIdentifier_);
105     EXPECT_EQ(result->swanctlConf_, info.swanctlConf_);
106     EXPECT_EQ(result->strongswanConf_, info.strongswanConf_);
107     EXPECT_EQ(result->ipsecCaCertConf_, info.ipsecCaCertConf_);
108     EXPECT_EQ(result->ipsecPrivateUserCertConf_, info.ipsecPrivateUserCertConf_);
109     EXPECT_EQ(result->ipsecPublicUserCertConf_, info.ipsecPublicUserCertConf_);
110     EXPECT_EQ(result->ipsecPrivateServerCertConf_, info.ipsecPrivateServerCertConf_);
111     EXPECT_EQ(result->ipsecPublicServerCertConf_, info.ipsecPublicServerCertConf_);
112     EXPECT_EQ(result->ipsecCaCertFilePath_, info.ipsecCaCertFilePath_);
113     EXPECT_EQ(result->ipsecPrivateUserCertFilePath_, info.ipsecPrivateUserCertFilePath_);
114     EXPECT_EQ(result->ipsecPublicUserCertFilePath_, info.ipsecPublicUserCertFilePath_);
115     EXPECT_EQ(result->ipsecPrivateServerCertFilePath_, info.ipsecPrivateServerCertFilePath_);
116     EXPECT_EQ(result->ipsecPublicServerCertFilePath_, info.ipsecPublicServerCertFilePath_);
117 }
118 }
119 }
120