Skip to content

Commit b7fa2fd

Browse files
authored
Tests for AppendHistoryV2Events (#6486)
What changed? Tests for AppendHistoryV2Events Why? Improve coverage How did you test it? Potential risks Release notes Documentation Changes
1 parent b1accb1 commit b7fa2fd

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

service/history/shard/context_test.go

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,69 @@ func (s *contextTestSuite) TestConflictResolveWorkflowExecution() {
685685
}
686686
}
687687

688+
func (s *contextTestSuite) TestAppendHistoryV2Events() {
689+
cases := []struct {
690+
name string
691+
err error
692+
domainLookupErr error
693+
response *persistence.AppendHistoryNodesResponse
694+
setup func()
695+
asserts func(*persistence.AppendHistoryNodesResponse, error)
696+
}{
697+
{
698+
name: "Success",
699+
response: &persistence.AppendHistoryNodesResponse{},
700+
asserts: func(response *persistence.AppendHistoryNodesResponse, err error) {
701+
s.NoError(err)
702+
s.NotNil(response)
703+
},
704+
},
705+
{
706+
name: "Domain lookup failed",
707+
domainLookupErr: assert.AnError,
708+
asserts: func(resp *persistence.AppendHistoryNodesResponse, err error) {
709+
s.ErrorIs(err, assert.AnError)
710+
},
711+
},
712+
{
713+
name: "History too big",
714+
response: &persistence.AppendHistoryNodesResponse{
715+
DataBlob: persistence.DataBlob{
716+
Data: make([]byte, historySizeLogThreshold+1),
717+
},
718+
},
719+
asserts: func(resp *persistence.AppendHistoryNodesResponse, err error) {
720+
// We do not err on history too big here, we just log it
721+
s.NoError(err)
722+
s.NotNil(resp)
723+
},
724+
},
725+
}
726+
727+
for _, tc := range cases {
728+
s.Run(tc.name, func() {
729+
// Need setup the suite manually, since we are in a subtest
730+
s.SetupTest()
731+
ctx := context.Background()
732+
request := &persistence.AppendHistoryNodesRequest{}
733+
workflowExecution := types.WorkflowExecution{
734+
WorkflowID: testWorkflowID,
735+
RunID: testWorkflowID,
736+
}
737+
738+
s.mockResource.DomainCache.EXPECT().GetDomainName(testDomainID).Return(testDomain, tc.domainLookupErr)
739+
if tc.setup != nil {
740+
tc.setup()
741+
}
742+
743+
s.mockResource.HistoryMgr.On("AppendHistoryNodes", ctx, mock.Anything).Once().Return(tc.response, tc.err)
744+
745+
resp, err := s.context.AppendHistoryV2Events(ctx, request, testDomainID, workflowExecution)
746+
tc.asserts(resp, err)
747+
})
748+
}
749+
}
750+
688751
func (s *contextTestSuite) TestValidateAndUpdateFailoverMarkers() {
689752
domainFailoverVersion := 100
690753
domainCacheEntryInactiveCluster := cache.NewGlobalDomainCacheEntryForTest(

0 commit comments

Comments
 (0)