1943
}
1944
1946
>
s.CreateWorkflow(
1947
>
rand.Int63(),
1948
>
enumsspb.WORKFLOW_EXECUTION_STATE_CREATED,
1949
>
enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING,
1950
>
rand.Int63(),
1951
>
)
1952
>
baseRunID := uuid.New().String()
1953
>
baseBranchToken := RandomBranchToken(s.NamespaceID, s.WorkflowID, baseRunID, s.HistoryBranchUtil)
1954
>
baseSnapshot, baseEvents := RandomSnapshot(
1955
>
s.T(),
1956
>
s.NamespaceID,
1957
>
s.WorkflowID,
1958
>
baseRunID,
1959
>
common.FirstEventID,
1960
>
rand.Int63(),
1961
>
enumsspb.WORKFLOW_EXECUTION_STATE_ZOMBIE,
1962
>
enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING,
1963
>
rand.Int63(),
1964
>
baseBranchToken,
1965
>
)
1966
>
_, err := s.ExecutionManager.CreateWorkflowExecution(s.Ctx, &p.CreateWorkflowExecutionRequest{
1967
>
ShardID: s.ShardID,
1968
>
RangeID: s.RangeID,
1969
>
Mode: p.CreateWorkflowModeBypassCurrent,
1970
>
1971
>
PreviousRunID: "",
1972
>
PreviousLastWriteVersion: 0,
1973
>
1974
>
ArchetypeID: chasm.WorkflowArchetypeID,
1975
>
1976
>
NewWorkflowSnapshot: *baseSnapshot,
1977
>
NewWorkflowEvents: baseEvents,
1978
>
})
1979
>
s.NoError(err)
1980
>
1981
>
resetSnapshot, resetEvents := RandomSnapshot(
1982
>
s.T(),
1983
>
s.NamespaceID,
1984
>
s.WorkflowID,
1985
>
baseRunID,
1986
>
baseSnapshot.NextEventID,
1987
>
rand.Int63(),
1988
>
enumsspb.WORKFLOW_EXECUTION_STATE_ZOMBIE,
1989
>
enumspb.WORKFLOW_EXECUTION_STATUS_RUNNING,
1990
>
rand.Int63(),
1991
>
baseBranchToken,
1992
>
)
1993
>
_, err = s.ExecutionManager.ConflictResolveWorkflowExecution(s.Ctx, &p.ConflictResolveWorkflowExecutionRequest{
1994
>
ShardID: s.ShardID,
1995
>
RangeID: s.RangeID,
1996
>
Mode: p.ConflictResolveWorkflowModeBypassCurrent,
1997
>
1998
>
ArchetypeID: chasm.WorkflowArchetypeID,
1999
>
2000
>
ResetWorkflowSnapshot: *resetSnapshot,
2001
>
ResetWorkflowEvents: resetEvents,
2002
>
2003
>
NewWorkflowSnapshot: nil,
2004
>
NewWorkflowEvents: nil,
2005
>
2006
>
CurrentWorkflowMutation: nil,
2007
>
CurrentWorkflowEvents: nil,
2008
>
})
2009
>
s.IsType(&p.WorkflowConditionFailedError{}, err)
2010
>
2011
>
s.AssertMSEqualWithDB(chasm.WorkflowArchetypeID, baseSnapshot)
2012
>
s.AssertHEPrefixWithDB(baseBranchToken, baseEvents)
2013
>
}
2014
2015
func (s *ExecutionMutableStateSuite) TestConflictResolve_Zombie_WithNew() {