mirror of
https://gitee.com/openharmony/resourceschedule_background_task_mgr
synced 2025-03-09 02:31:46 +00:00
长时任务多类型测试用例
Signed-off-by: lipengfei <lipengfei53@huawei.com>
This commit is contained in:
parent
95e12e159d
commit
36c53560a6
@ -160,6 +160,12 @@ public:
|
||||
{
|
||||
BgTaskClientUnitTest::bgtaskSubscriberRet_ = "interface14";
|
||||
}
|
||||
|
||||
void OnContinuousTaskUpdate(const std::shared_ptr<ContinuousTaskCallbackInfo>
|
||||
&continuousTaskCallbackInfo) override
|
||||
{
|
||||
BgTaskClientUnitTest::bgtaskSubscriberRet_ = "interface15";
|
||||
}
|
||||
};
|
||||
|
||||
class TestExpiredCallback : public ExpiredCallback {
|
||||
@ -203,6 +209,18 @@ HWTEST_F(BgTaskClientUnitTest, RequestStartBackgroundRunning_001, TestSize.Level
|
||||
EXPECT_NE(BackgroundTaskMgrHelper::RequestStartBackgroundRunning(taskParam), ERR_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: RequestUpdateBackgroundRunning_001
|
||||
* @tc.desc: test RequestUpdateBackgroundRunning interface.
|
||||
* @tc.type: FUNC
|
||||
* @tc.require: issueI94UH9
|
||||
*/
|
||||
HWTEST_F(BgTaskClientUnitTest, RequestUpdateBackgroundRunning_001, TestSize.Level1)
|
||||
{
|
||||
ContinuousTaskParam taskParam = ContinuousTaskParam();
|
||||
EXPECT_NE(BackgroundTaskMgrHelper::RequestUpdateBackgroundRunning(taskParam), ERR_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: RequestStopBackgroundRunning_001
|
||||
* @tc.desc: test RequestStopBackgroundRunning interface.
|
||||
@ -347,6 +365,8 @@ HWTEST_F(BgTaskClientUnitTest, BackgroundTaskSubscriber_001, TestSize.Level1)
|
||||
EXPECT_EQ(bgtaskSubscriberRet_, "interface13");
|
||||
subscriberImpl->OnProcEfficiencyResourcesReset(nullptr);
|
||||
EXPECT_EQ(bgtaskSubscriberRet_, "interface14");
|
||||
subscriberImpl->OnContinuousTaskUpdate(nullptr);
|
||||
EXPECT_EQ(bgtaskSubscriberRet_, "interface15");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -365,6 +385,7 @@ HWTEST_F(BgTaskClientUnitTest, BackgroundTaskSubscriber_002, TestSize.Level1)
|
||||
subscriber.OnAppTransientTaskStart(nullptr);
|
||||
subscriber.OnAppTransientTaskEnd(nullptr);
|
||||
subscriber.OnContinuousTaskStart(nullptr);
|
||||
subscriber.OnContinuousTaskUpdate(nullptr);
|
||||
subscriber.OnContinuousTaskStop(nullptr);
|
||||
subscriber.OnAppContinuousTaskStop(1);
|
||||
subscriber.OnRemoteDied(nullptr);
|
||||
|
@ -693,16 +693,15 @@ ErrCode BgContinuousTaskMgr::UpdateBackgroundRunningInner(const std::string &tas
|
||||
|
||||
ErrCode BgContinuousTaskMgr::StartBackgroundRunningInner(std::shared_ptr<ContinuousTaskRecord> &continuousTaskRecord)
|
||||
{
|
||||
BGTASK_LOGI("continuous task mode: %{public}u, modes %{public}s, isBatchApi %{public}d",
|
||||
continuousTaskRecord->bgModeId_, continuousTaskRecord->ToString(continuousTaskRecord->bgModeIds_).c_str(),
|
||||
continuousTaskRecord->isBatchApi_);
|
||||
std::string taskInfoMapKey = std::to_string(continuousTaskRecord->uid_) + SEPARATOR
|
||||
+ continuousTaskRecord->abilityName_;
|
||||
if (continuousTaskInfosMap_.find(taskInfoMapKey) != continuousTaskInfosMap_.end()) {
|
||||
BGTASK_LOGW("continuous task is already exist: %{public}s", taskInfoMapKey.c_str());
|
||||
return ERR_BGTASK_OBJECT_EXISTS;
|
||||
}
|
||||
|
||||
BGTASK_LOGI("continuous task mode: %{public}u, modes %{public}s, isBatchApi %{public}d, uid %{public}d",
|
||||
continuousTaskRecord->bgModeId_, continuousTaskRecord->ToString(continuousTaskRecord->bgModeIds_).c_str(),
|
||||
continuousTaskRecord->isBatchApi_, continuousTaskRecord->uid_);
|
||||
if (!continuousTaskRecord->isFromWebview_
|
||||
&& cachedBundleInfos_.find(continuousTaskRecord->uid_) == cachedBundleInfos_.end()) {
|
||||
std::string mainAbilityLabel = GetMainAbilityLabel(continuousTaskRecord->bundleName_,
|
||||
|
@ -54,6 +54,7 @@ static constexpr uint32_t TEST_NUM_UONE = 1;
|
||||
static constexpr int32_t TEST_NUM_TWO = 2;
|
||||
static constexpr uint32_t TEST_NUM_UTWO = 2;
|
||||
static constexpr int32_t TEST_NUM_THREE = 3;
|
||||
static constexpr uint32_t CONFIGURE_ALL_MODES = 0x1FF;
|
||||
}
|
||||
class BgContinuousTaskMgrTest : public testing::Test {
|
||||
public:
|
||||
@ -149,6 +150,61 @@ HWTEST_F(BgContinuousTaskMgrTest, StartBackgroundRunning_002, TestSize.Level1)
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->StartBackgroundRunning(taskParam), (int32_t)ERR_OK);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: StartAndUpdateBackgroundRunning_001
|
||||
* @tc.desc: use batch api.
|
||||
* @tc.type: FUNC
|
||||
* @tc.require: issueI94UH9
|
||||
*/
|
||||
HWTEST_F(BgContinuousTaskMgrTest, StartAndUpdateBackgroundRunning_001, TestSize.Level1)
|
||||
{
|
||||
// 1 modes is empty
|
||||
sptr<ContinuousTaskParam> taskParam1 = new (std::nothrow) ContinuousTaskParam(true, 0,
|
||||
std::make_shared<AbilityRuntime::WantAgent::WantAgent>(),
|
||||
"ability1", nullptr, "Entry", true, {});
|
||||
EXPECT_NE(taskParam1, nullptr);
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->StartBackgroundRunning(taskParam1), (int32_t)ERR_BGTASK_CHECK_TASK_PARAM);
|
||||
|
||||
// 2 set configure mode is CONFIGURE_ALL_MODES
|
||||
bgContinuousTaskMgr_->cachedBundleInfos_.clear();
|
||||
EXPECT_EQ(bgContinuousTaskMgr_->GetBackgroundModeInfo(1, "abilityName"), 0u);
|
||||
CachedBundleInfo info = CachedBundleInfo();
|
||||
info.abilityBgMode_["ability1"] = CONFIGURE_ALL_MODES;
|
||||
info.appName_ = "Entry";
|
||||
bgContinuousTaskMgr_->cachedBundleInfos_.emplace(1, info);
|
||||
|
||||
// 3 start ok
|
||||
sptr<ContinuousTaskParam> taskParam2 = new (std::nothrow) ContinuousTaskParam(true, 0,
|
||||
std::make_shared<AbilityRuntime::WantAgent::WantAgent>(),
|
||||
"ability1", nullptr, "Entry", true, {1, 2, 3});
|
||||
EXPECT_NE(taskParam2, nullptr);
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->StartBackgroundRunning(taskParam2), (int32_t)ERR_OK);
|
||||
|
||||
// 4 update ok
|
||||
sptr<ContinuousTaskParam> taskParam3 = new (std::nothrow) ContinuousTaskParam(true, 0,
|
||||
std::make_shared<AbilityRuntime::WantAgent::WantAgent>(),
|
||||
"ability1", nullptr, "Entry", true, {4});
|
||||
EXPECT_NE(taskParam3, nullptr);
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->UpdateBackgroundRunning(taskParam3), (int32_t)ERR_OK);
|
||||
|
||||
// 5 update invalid
|
||||
sptr<ContinuousTaskParam> taskParam4 = new (std::nothrow) ContinuousTaskParam(true, 0,
|
||||
std::make_shared<AbilityRuntime::WantAgent::WantAgent>(),
|
||||
"ability1", nullptr, "Entry", true, {10});
|
||||
EXPECT_NE(taskParam4, nullptr);
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->UpdateBackgroundRunning(taskParam4), (int32_t)ERR_BGTASK_INVALID_BGMODE);
|
||||
|
||||
// 6 stop ok
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->StopBackgroundRunning(taskParam2->abilityName_), (int32_t)ERR_OK);
|
||||
|
||||
// 7 no start then update error
|
||||
sptr<ContinuousTaskParam> taskParam5 = new (std::nothrow) ContinuousTaskParam(true, 0,
|
||||
std::make_shared<AbilityRuntime::WantAgent::WantAgent>(),
|
||||
"ability1", nullptr, "Entry", true, {1, 2});
|
||||
EXPECT_NE(taskParam5, nullptr);
|
||||
EXPECT_EQ((int32_t)bgContinuousTaskMgr_->UpdateBackgroundRunning(taskParam5), (int32_t)ERR_BGTASK_OBJECT_EXISTS);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: StopBackgroundRunning_001
|
||||
* @tc.desc: stop background runnging test.
|
||||
@ -880,7 +936,7 @@ HWTEST_F(BgContinuousTaskMgrTest, BgTaskManagerUnitTest_046, TestSize.Level1)
|
||||
info.abilityBgMode_["abilityName"] = 2;
|
||||
info.appName_ = "appName";
|
||||
bgContinuousTaskMgr_->cachedBundleInfos_.emplace(1, info);
|
||||
|
||||
|
||||
EXPECT_EQ(bgContinuousTaskMgr_->SendContinuousTaskNotification(continuousTaskRecord), ERR_OK);
|
||||
}
|
||||
} // namespace BackgroundTaskMgr
|
||||
|
Loading…
x
Reference in New Issue
Block a user