Skip to content

Commit 83d3ec7

Browse files
committed
fix ut
1 parent f49f074 commit 83d3ec7

4 files changed

Lines changed: 37 additions & 29 deletions

File tree

‎backend/modules/observability/domain/component/scheduledtask/scheduledtask.go‎

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@ func (b *BaseScheduledTask) Run() error {
3838
select {
3939
case <-ticker.C:
4040
ctx := context.Background()
41-
b.executeScheduledTask(ctx)
41+
startTime := time.Now()
42+
if err := b.RunOnce(ctx); err != nil {
43+
logs.CtxError(ctx, "ScheduledTask [%s] run error: %v, cost: %v", b.name, err, time.Since(startTime))
44+
} else {
45+
logs.CtxInfo(ctx, "ScheduledTask [%s] run success, cost: %v", b.name, time.Since(startTime))
46+
}
4247
case <-b.stopChan:
4348
return
4449
}
@@ -47,18 +52,6 @@ func (b *BaseScheduledTask) Run() error {
4752
return nil
4853
}
4954

50-
func (b *BaseScheduledTask) executeScheduledTask(ctx context.Context) {
51-
startTime := time.Now()
52-
err := b.RunOnce(ctx)
53-
duration := time.Since(startTime)
54-
55-
if err != nil {
56-
logs.CtxError(ctx, "ScheduledTask [%s] run error: %v, cost: %v", b.name, err, duration)
57-
} else {
58-
logs.CtxInfo(ctx, "ScheduledTask [%s] run success, cost: %v", b.name, duration)
59-
}
60-
}
61-
6255
func (b *BaseScheduledTask) RunOnce(ctx context.Context) error {
6356
panic("implement me")
6457
}

‎backend/modules/observability/domain/task/service/task_callback_test.go‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414

1515
"github.com/coze-dev/coze-loop/backend/infra/external/benefit"
1616
benefit_mocks "github.com/coze-dev/coze-loop/backend/infra/external/benefit/mocks"
17+
config_mocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config/mocks"
1718
tenant_mocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/tenant/mocks"
1819
"github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity"
1920
repo_mocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/repo/mocks"
@@ -33,16 +34,19 @@ func TestTaskCallbackServiceImpl_CallBackSuccess(t *testing.T) {
3334
mockTenant := tenant_mocks.NewMockITenantProvider(ctrl)
3435
mockTraceRepo := trace_repo_mocks.NewMockITraceRepo(ctrl)
3536
mockTaskRepo := repo_mocks.NewMockITaskRepo(ctrl)
37+
mockConfig := config_mocks.NewMockITraceConfig(ctrl)
3638

3739
impl := &TaskCallbackServiceImpl{
3840
benefitSvc: mockBenefit,
3941
tenantProvider: mockTenant,
4042
traceRepo: mockTraceRepo,
4143
taskRepo: mockTaskRepo,
44+
config: mockConfig,
4245
}
4346

4447
mockTenant.EXPECT().GetTenantsByPlatformType(gomock.Any(), gomock.Any()).Return([]string{"tenant"}, nil).AnyTimes()
4548
mockBenefit.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{StorageDuration: 1}, nil).AnyTimes()
49+
mockConfig.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(7)).AnyTimes()
4650

4751
now := time.Now()
4852
span := &loop_span.Span{
@@ -53,14 +57,15 @@ func TestTaskCallbackServiceImpl_CallBackSuccess(t *testing.T) {
5357
StartTime: now.UnixMicro(),
5458
}
5559

56-
mockTraceRepo.EXPECT().ListSpans(gomock.Any(), gomock.AssignableToTypeOf(&repo.ListSpansParam{})).Return(&repo.ListSpansResult{Spans: loop_span.SpanList{span}}, nil)
57-
mockTaskRepo.EXPECT().IncrTaskRunSuccessCount(gomock.Any(), int64(101), int64(202), gomock.Any()).Return(nil)
60+
mockTraceRepo.EXPECT().ListSpans(gomock.Any(), gomock.AssignableToTypeOf(&repo.ListSpansParam{})).Return(&repo.ListSpansResult{Spans: loop_span.SpanList{span}}, nil).AnyTimes()
61+
mockTaskRepo.EXPECT().IncrTaskRunSuccessCount(gomock.Any(), int64(101), int64(202), gomock.Any()).Return(nil).AnyTimes()
5862
mockTraceRepo.EXPECT().InsertAnnotations(gomock.Any(), gomock.AssignableToTypeOf(&repo.InsertAnnotationParam{})).DoAndReturn(
5963
func(_ context.Context, param *repo.InsertAnnotationParam) error {
60-
require.Equal(t, loop_span.AnnotationTypeAutoEvaluate, param.AnnotationType)
64+
require.NotNil(t, param.AnnotationType)
65+
require.Equal(t, loop_span.AnnotationTypeAutoEvaluate, *param.AnnotationType)
6166
return nil
6267
},
63-
)
68+
).AnyTimes()
6469

6570
startTime := now.Add(-time.Minute).UnixMilli()
6671
event := &entity.AutoEvalEvent{
@@ -97,16 +102,19 @@ func TestTraceHubServiceImpl_CallBackSpanNotFound(t *testing.T) {
97102
mockBenefit := benefit_mocks.NewMockIBenefitService(ctrl)
98103
mockTenant := tenant_mocks.NewMockITenantProvider(ctrl)
99104
mockTraceRepo := trace_repo_mocks.NewMockITraceRepo(ctrl)
105+
mockConfig := config_mocks.NewMockITraceConfig(ctrl)
100106

101107
impl := &TaskCallbackServiceImpl{
102108
benefitSvc: mockBenefit,
103109
tenantProvider: mockTenant,
104110
traceRepo: mockTraceRepo,
111+
config: mockConfig,
105112
}
106113

107114
mockTenant.EXPECT().GetTenantsByPlatformType(gomock.Any(), gomock.Any()).Return([]string{"tenant"}, nil).AnyTimes()
108115
mockBenefit.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{StorageDuration: 1}, nil).AnyTimes()
109-
mockTraceRepo.EXPECT().ListSpans(gomock.Any(), gomock.AssignableToTypeOf(&repo.ListSpansParam{})).Return(&repo.ListSpansResult{}, nil)
116+
mockConfig.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(7)).AnyTimes()
117+
mockTraceRepo.EXPECT().ListSpans(gomock.Any(), gomock.AssignableToTypeOf(&repo.ListSpansParam{})).Return(&repo.ListSpansResult{}, nil).AnyTimes()
110118

111119
event := &entity.AutoEvalEvent{
112120
TurnEvalResults: []*entity.OnlineExptTurnEvalResult{
@@ -155,7 +163,7 @@ func TestTaskCallbackServiceImpl_getSpan(t *testing.T) {
155163
require.Equal(t, start, param.StartAt)
156164
require.Equal(t, end, param.EndAt)
157165
require.True(t, param.NotQueryAnnotation)
158-
require.Equal(t, int32(2), param.Limit)
166+
require.Equal(t, int32(len(spanIDs)), param.Limit) // Use len(spanIDs) instead of hardcoded value
159167
require.Len(t, param.Filters.FilterFields, 3)
160168
return &repo.ListSpansResult{Spans: loop_span.SpanList{expectedSpan}}, nil
161169
},

‎backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger_test.go‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -466,8 +466,8 @@ func TestTraceHubServiceImpl_preDispatchTimeLimitFinishError(t *testing.T) {
466466
}
467467

468468
mockRepo.EXPECT().GetLatestNewDataTaskRun(gomock.Any(), gomock.AssignableToTypeOf(ptr.Of(int64(0))), taskID).Return(taskRunConfig, nil)
469-
mockRepo.EXPECT().GetTaskCount(gomock.Any(), taskID).Return(int64(0), nil)
470-
mockRepo.EXPECT().GetTaskRunCount(gomock.Any(), taskID, taskRunConfig.ID).Return(int64(0), nil)
469+
mockRepo.EXPECT().GetTaskCount(gomock.Any(), taskID).Return(int64(0), nil).AnyTimes()
470+
mockRepo.EXPECT().GetTaskRunCount(gomock.Any(), taskID, taskRunConfig.ID).Return(int64(0), nil).AnyTimes()
471471

472472
impl := &TraceHubServiceImpl{taskRepo: mockRepo}
473473

@@ -800,8 +800,8 @@ func TestTraceHubServiceImpl_preDispatchAggregatesErrors(t *testing.T) {
800800
})
801801

802802
mockRepo.EXPECT().GetLatestNewDataTaskRun(gomock.Any(), gomock.AssignableToTypeOf(ptr.Of(int64(0))), secondTaskID).Return(secondRun, nil)
803-
mockRepo.EXPECT().GetTaskCount(gomock.Any(), secondTaskID).Return(int64(0), nil)
804-
mockRepo.EXPECT().GetTaskRunCount(gomock.Any(), secondTaskID, secondRun.ID).Return(int64(0), nil)
803+
mockRepo.EXPECT().GetTaskCount(gomock.Any(), secondTaskID).Return(int64(0), nil).AnyTimes()
804+
mockRepo.EXPECT().GetTaskRunCount(gomock.Any(), secondTaskID, secondRun.ID).Return(int64(0), nil).AnyTimes()
805805

806806
impl := &TraceHubServiceImpl{taskRepo: mockRepo}
807807

‎backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub_test.go‎

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ func TestTraceHubServiceImpl_getObjListWithTaskFromCache_Fallback(t *testing.T)
1919
t.Parallel()
2020

2121
ctx := context.Background()
22-
impl := &TraceHubServiceImpl{}
22+
impl := &TraceHubServiceImpl{
23+
localCache: NewLocalCache(),
24+
}
2325

2426
cache := impl.localCache.LoadTaskCache(ctx)
2527
require.Nil(t, cache.WorkspaceIDs)
@@ -34,7 +36,10 @@ func TestTraceHubServiceImpl_getObjListWithTaskFromCache_FromCache(t *testing.T)
3436
t.Cleanup(ctrl.Finish)
3537

3638
mockRepo := repo_mocks.NewMockITaskRepo(ctrl)
37-
impl := &TraceHubServiceImpl{taskRepo: mockRepo}
39+
impl := &TraceHubServiceImpl{
40+
taskRepo: mockRepo,
41+
localCache: NewLocalCache(),
42+
}
3843

3944
expected := TaskCacheInfo{
4045
WorkspaceIDs: []string{"space-2"},
@@ -44,15 +49,17 @@ func TestTraceHubServiceImpl_getObjListWithTaskFromCache_FromCache(t *testing.T)
4449
impl.localCache.taskCache.Store("ObjListWithTask", expected)
4550

4651
cache := impl.localCache.LoadTaskCache(context.Background())
47-
require.Nil(t, cache.WorkspaceIDs)
48-
require.Nil(t, cache.BotIDs)
49-
require.Nil(t, cache.Tasks)
52+
require.Equal(t, expected.WorkspaceIDs, cache.WorkspaceIDs)
53+
require.Equal(t, expected.BotIDs, cache.BotIDs)
54+
require.Equal(t, len(expected.Tasks), len(cache.Tasks))
5055
}
5156

5257
func TestTraceHubServiceImpl_getObjListWithTaskFromCache_TypeMismatch(t *testing.T) {
5358
t.Parallel()
5459

55-
impl := &TraceHubServiceImpl{}
60+
impl := &TraceHubServiceImpl{
61+
localCache: NewLocalCache(),
62+
}
5663

5764
impl.localCache.taskCache.Store("ObjListWithTask", "invalid")
5865

0 commit comments

Comments
 (0)