* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "serial_right_test.h"
#include "bundle_mgr_interface.h"
#include "bundle_mgr_proxy.h"
#include "usb_srv_client.h"
#include "usb_right_db_helper.h"
#include "hilog_wrapper.h"
#include "grant_sys_permission.h"
using namespace testing::ext;
using namespace OHOS::HDI::Usb::Serial::V1_0;
using namespace OHOS::Security::AccessToken;
using OHOS::USB::UsbSrvClient;
using OHOS::USB::MODULE_USB_SERVICE;
using OHOS::USB::USB_MGR_LABEL;
constexpr int32_t VALID_PORTID = 0;
constexpr int32_t INVALID_PORTID = -1;
constexpr int32_t OK = 0;
static std::vector<OHOS::USB::UsbSerialPort> g_portList;
namespace OHOS {
namespace SERIAL {
void SerialRightTest::SetUpTestCase(void)
{
UsbSrvClient::GetInstance().SerialGetPortList(g_portList);
for (auto it : g_portList) {
UsbSrvClient::GetInstance().CancelSerialRight(it.portId_);
}
UsbSrvClient::GetInstance().SerialGetPortList(g_portList);
GrantPermissionSysNative();
}
void SerialRightTest::TearDownTestCase(void) {}
void SerialRightTest::SetUp(void) {}
void SerialRightTest::TearDown(void) {}
* @tc.name: HasSerialRight001
* @tc.desc: Test functions to int32_t HasSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, HasSerialRight001, TestSize.Level1)
{
bool hasRight = false;
UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID);
UsbSrvClient::GetInstance().HasSerialRight(VALID_PORTID, hasRight);
EXPECT_EQ(hasRight, true);
UsbSrvClient::GetInstance().RequestSerialRight(VALID_PORTID, hasRight);
UsbSrvClient::GetInstance().HasSerialRight(VALID_PORTID, hasRight);
EXPECT_EQ(hasRight, true);
}
* @tc.name: HasSerialRight002
* @tc.desc: Test functions to int32_t HasSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, HasSerialRight002, TestSize.Level1)
{
bool hasRight = false;
int ret = UsbSrvClient::GetInstance().HasSerialRight(INVALID_PORTID, hasRight);
EXPECT_NE(ret, OK);
UsbSrvClient::GetInstance().RequestSerialRight(INVALID_PORTID, hasRight);
ret = UsbSrvClient::GetInstance().HasSerialRight(INVALID_PORTID, hasRight);
EXPECT_NE(ret, OK);
}
* @tc.name: CancelSerialRight001
* @tc.desc: Test functions to int32_t CancelSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, CancelSerialRight001, TestSize.Level1)
{
UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID);
bool hasRight = false;
UsbSrvClient::GetInstance().RequestSerialRight(VALID_PORTID, hasRight);
EXPECT_EQ(UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID), OK);
}
* @tc.name: CancelSerialRight002
* @tc.desc: Test functions to int32_t CancelSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, CancelSerialRight002, TestSize.Level1)
{
UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID);
bool hasRight = false;
UsbSrvClient::GetInstance().RequestSerialRight(VALID_PORTID, hasRight);
UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID);
EXPECT_EQ(UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID), OK);
}
* @tc.name: CancelSerialRight003
* @tc.desc: Test functions to int32_t CancelSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, CancelSerialRight003, TestSize.Level1)
{
EXPECT_NE(UsbSrvClient::GetInstance().CancelSerialRight(INVALID_PORTID), OK);
}
* @tc.name: RequestSerialRight001
* @tc.desc: Test functions to int32_t RequestSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, RequestSerialRight001, TestSize.Level1)
{
UsbSrvClient::GetInstance().CancelSerialRight(VALID_PORTID);
bool hasRight = false;
EXPECT_EQ(UsbSrvClient::GetInstance().RequestSerialRight(VALID_PORTID, hasRight), OK);
}
* @tc.name: RequestSerialRight002
* @tc.desc: Test functions to int32_t RequestSerialRight(int32_t portId)
* @tc.type: FUNC
*/
HWTEST_F(SerialRightTest, RequestSerialRight002, TestSize.Level1)
{
bool hasRight = false;
EXPECT_NE(UsbSrvClient::GetInstance().RequestSerialRight(INVALID_PORTID, hasRight), OK);
}
}
}