Skip to content

Commit 5df8749

Browse files
committed
add tests
1 parent 7afd90b commit 5df8749

File tree

1 file changed

+55
-7
lines changed

1 file changed

+55
-7
lines changed

internal/internal_event_handlers_test.go

Lines changed: 55 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,22 @@ func TestGetVersion(t *testing.T) {
754754
res := weh.GetVersion("test", 1, 3)
755755
assert.Equal(t, Version(2), res)
756756
})
757+
t.Run("version exists, ExecuteWithVersion is used", func(t *testing.T) {
758+
weh := testWorkflowExecutionEventHandler(t, newRegistry())
759+
weh.changeVersions = map[string]Version{
760+
"test": 2,
761+
}
762+
res := weh.GetVersion("test", 1, 3, ExecuteWithVersion(3))
763+
assert.Equal(t, Version(2), res)
764+
})
765+
t.Run("version exists, ExecuteWithMinVersion is used", func(t *testing.T) {
766+
weh := testWorkflowExecutionEventHandler(t, newRegistry())
767+
weh.changeVersions = map[string]Version{
768+
"test": 2,
769+
}
770+
res := weh.GetVersion("test", 1, 3, ExecuteWithMinVersion())
771+
assert.Equal(t, Version(2), res)
772+
})
757773
t.Run("version doesn't exist in replay", func(t *testing.T) {
758774
weh := testWorkflowExecutionEventHandler(t, newRegistry())
759775
weh.isReplay = true
@@ -770,6 +786,38 @@ func TestGetVersion(t *testing.T) {
770786
assert.Equal(t, Version(3), weh.changeVersions["test"])
771787
assert.Equal(t, []byte(`["test-3"]`), weh.workflowInfo.SearchAttributes.IndexedFields[CadenceChangeVersion], "ensure search attributes are updated")
772788
})
789+
t.Run("version doesn't exist, ExecuteWithVersion is used", func(t *testing.T) {
790+
weh := testWorkflowExecutionEventHandler(t, newRegistry())
791+
res := weh.GetVersion("test", DefaultVersion, 3, ExecuteWithVersion(2))
792+
assert.Equal(t, Version(2), res)
793+
require.Contains(t, weh.changeVersions, "test")
794+
assert.Equal(t, Version(2), weh.changeVersions["test"])
795+
assert.Equal(t, []byte(`["test-2"]`), weh.workflowInfo.SearchAttributes.IndexedFields[CadenceChangeVersion], "ensure search attributes are updated")
796+
})
797+
t.Run("version doesn't exist, ExecuteWithVersion is used, DefaultVersion is used", func(t *testing.T) {
798+
weh := testWorkflowExecutionEventHandler(t, newRegistry())
799+
res := weh.GetVersion("test", DefaultVersion, 3, ExecuteWithVersion(DefaultVersion))
800+
assert.Equal(t, DefaultVersion, res)
801+
require.Contains(t, weh.changeVersions, "test")
802+
assert.Equal(t, DefaultVersion, weh.changeVersions["test"])
803+
require.Nil(t, weh.workflowInfo.SearchAttributes, "ensure search attributes are not updated")
804+
})
805+
t.Run("version doesn't exist, ExecuteWithMinVersion is used, min is non DefaultVersion", func(t *testing.T) {
806+
weh := testWorkflowExecutionEventHandler(t, newRegistry())
807+
res := weh.GetVersion("test", 1, 3, ExecuteWithMinVersion())
808+
assert.Equal(t, Version(1), res)
809+
require.Contains(t, weh.changeVersions, "test")
810+
assert.Equal(t, Version(1), weh.changeVersions["test"])
811+
assert.Equal(t, []byte(`["test-1"]`), weh.workflowInfo.SearchAttributes.IndexedFields[CadenceChangeVersion], "ensure search attributes are updated")
812+
})
813+
t.Run("version doesn't exist, ExecuteWithMinVersion is used, DefaultVersion is used", func(t *testing.T) {
814+
weh := testWorkflowExecutionEventHandler(t, newRegistry())
815+
res := weh.GetVersion("test", DefaultVersion, 3, ExecuteWithMinVersion())
816+
assert.Equal(t, DefaultVersion, res)
817+
require.Contains(t, weh.changeVersions, "test")
818+
assert.Equal(t, DefaultVersion, weh.changeVersions["test"])
819+
require.Nil(t, weh.workflowInfo.SearchAttributes, "ensure search attributes are not updated")
820+
})
773821
}
774822

775823
func TestMutableSideEffect(t *testing.T) {
@@ -982,6 +1030,13 @@ func TestWorkflowExecutionEnvironment_NewTimer_immediate_calls(t *testing.T) {
9821030
}
9831031

9841032
func testWorkflowExecutionEventHandler(t *testing.T, registry *registry) *workflowExecutionEventHandlerImpl {
1033+
var testWorkflowInfo = &WorkflowInfo{
1034+
WorkflowType: WorkflowType{
1035+
Name: "test",
1036+
Path: "",
1037+
},
1038+
}
1039+
9851040
return newWorkflowExecutionEventHandler(
9861041
testWorkflowInfo,
9871042
func(result []byte, err error) {},
@@ -996,13 +1051,6 @@ func testWorkflowExecutionEventHandler(t *testing.T, registry *registry) *workfl
9961051
).(*workflowExecutionEventHandlerImpl)
9971052
}
9981053

999-
var testWorkflowInfo = &WorkflowInfo{
1000-
WorkflowType: WorkflowType{
1001-
Name: "test",
1002-
Path: "",
1003-
},
1004-
}
1005-
10061054
func getSerializedDetails[T, V any](t *testing.T, id T, data V) []byte {
10071055
converter := defaultDataConverter{}
10081056
res, err := converter.ToData(id, data)

0 commit comments

Comments
 (0)