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