559
}
560
561
>
func (s *visibilitySuite) TestSelect_MinStartTime_MaxStartTime_WorkflowID_StatusClose_Single() {
visibility.go
562
>
pageSize := 1
563
>
564
>
namespaceID := primitives.NewUUID()
565
>
runID := primitives.NewUUID()
566
>
workflowTypeName := shuffle.String(testVisibilityWorkflowTypeName)
567
>
workflowID := shuffle.String(testVisibilityWorkflowID)
568
>
startTime := s.now()
569
>
executionTime := startTime.Add(time.Second)
570
>
status := int32(enumspb.WORKFLOW_EXECUTION_STATUS_COMPLETED)
571
>
closeTime := executionTime.Add(time.Second)
572
>
historyLength := rand.Int63()
573
>
574
>
visibility := s.newRandomVisibilityRow(
575
>
namespaceID,
576
>
runID,
577
>
workflowTypeName,
578
>
workflowID,
579
>
startTime,
580
>
executionTime,
581
>
status,
582
>
new(closeTime),
583
>
new(historyLength),
584
>
)
585
>
result, err := s.store.ReplaceIntoVisibility(newVisibilityContext(), &visibility)
586
>
s.NoError(err)
587
>
rowsAffected, err := result.RowsAffected()
588
>
s.NoError(err)
589
>
s.Equal(1, int(rowsAffected))
590
>
591
>
minStartTime := closeTime
592
>
maxStartTime := closeTime
593
>
selectFilter := sqlplugin.VisibilitySelectFilter{
594
>
NamespaceID: namespaceID.String(),
595
>
WorkflowID: new(workflowID),
596
>
RunID: new(""),
597
>
WorkflowTypeName: nil,
598
>
MinTime: new(minStartTime),
599
>
MaxTime: new(maxStartTime),
600
>
Status: int32(enumspb.WORKFLOW_EXECUTION_STATUS_UNSPECIFIED),
601
>
PageSize: new(pageSize),
602
>
}
603
>
rows, err := s.store.SelectFromVisibility(newVisibilityContext(), selectFilter)
604
>
s.NoError(err)
605
>
for index := range rows {
606
>
rows[index].NamespaceID = namespaceID.String()
607
>
}
608
>
s.Equal([]sqlplugin.VisibilityRow{visibility}, rows)
609
}
610