1901
}
1902
1904
>
branchToken, baseSnapshot, baseEvents := s.CreateWorkflow(
1905
>
rand.Int63(),
1906
>
enumsspb.WORKFLOW_EXECUTION_STATE_CREATED,
1907
>
enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING,
1908
>
rand.Int63(),
1909
>
)
1910
>
1911
>
resetSnapshot, resetEvents := RandomSnapshot(
1912
>
s.T(),
1913
>
s.NamespaceID,
1914
>
s.WorkflowID,
1915
>
s.RunID,
1916
>
baseSnapshot.NextEventID,
1917
>
rand.Int63(),
1918
>
enumsspb.WORKFLOW_EXECUTION_STATE_ZOMBIE,
1919
>
enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING,
1920
>
baseSnapshot.DBRecordVersion+1,
1921
>
branchToken,
1922
>
)
1923
>
_, err := s.ExecutionManager.ConflictResolveWorkflowExecution(s.Ctx, &p.ConflictResolveWorkflowExecutionRequest{
1924
>
ShardID: s.ShardID,
1925
>
RangeID: s.RangeID,
1926
>
Mode: p.ConflictResolveWorkflowModeBypassCurrent,
1927
>
1928
>
ArchetypeID: chasm.WorkflowArchetypeID,
1929
>
1930
>
ResetWorkflowSnapshot: *resetSnapshot,
1931
>
ResetWorkflowEvents: resetEvents,
1932
>
1933
>
NewWorkflowSnapshot: nil,
1934
>
NewWorkflowEvents: nil,
1935
>
1936
>
CurrentWorkflowMutation: nil,
1937
>
CurrentWorkflowEvents: nil,
1938
>
})
1939
>
s.IsType(&p.CurrentWorkflowConditionFailedError{}, err)
1940
>
1941
>
s.AssertMSEqualWithDB(chasm.WorkflowArchetypeID, baseSnapshot)
1942
>
s.AssertHEPrefixWithDB(branchToken, baseEvents)
1943
>
}
1944
1945
func (s *ExecutionMutableStateSuite) TestConflictResolve_Zombie_Conflict() {