Fix keeping order on process update
This commit is contained in:
parent
d97a2709d8
commit
6759ebc950
@ -1041,6 +1041,8 @@ func (r *restream) UpdateProcess(id string, config *app.Config) error {
|
||||
}
|
||||
}
|
||||
|
||||
t.process.Order = task.process.Order
|
||||
|
||||
if err := r.stopProcess(id); err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1053,7 +1055,6 @@ func (r *restream) UpdateProcess(id string, config *app.Config) error {
|
||||
//t.process.CreatedAt = task.process.CreatedAt
|
||||
t.process.UpdatedAt = time.Now().Unix()
|
||||
task.parser.TransferReportHistory(t.parser)
|
||||
t.process.Order = task.process.Order
|
||||
|
||||
r.tasks[t.id] = t
|
||||
|
||||
|
||||
@ -256,6 +256,56 @@ func TestUpdateProcess(t *testing.T) {
|
||||
require.NotEqual(t, updatedAt, process.UpdatedAt)
|
||||
}
|
||||
|
||||
func TestUpdateProcessLogHistoryTransfer(t *testing.T) {
|
||||
rs, err := getDummyRestreamer(nil, nil, nil, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
p := getDummyProcess()
|
||||
require.NotNil(t, p)
|
||||
p.ID = "process1"
|
||||
|
||||
err = rs.AddProcess(p)
|
||||
require.Equal(t, nil, err)
|
||||
|
||||
rs.StartProcess(p.ID)
|
||||
|
||||
require.Eventually(t, func() bool {
|
||||
state, _ := rs.GetProcessState(p.ID)
|
||||
return state.State == "running"
|
||||
}, 10*time.Second, time.Second)
|
||||
|
||||
log, err := rs.GetProcessLog(p.ID)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, 0, len(log.History))
|
||||
|
||||
p = getDummyProcess()
|
||||
require.NotNil(t, p)
|
||||
|
||||
p.ID = "process2"
|
||||
err = rs.UpdateProcess("process1", p)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = rs.GetProcess(p.ID)
|
||||
require.NoError(t, err)
|
||||
|
||||
state, _ := rs.GetProcessState(p.ID)
|
||||
require.Equal(t, "start", state.Order)
|
||||
|
||||
require.Eventually(t, func() bool {
|
||||
state, _ := rs.GetProcessState(p.ID)
|
||||
return state.State == "running"
|
||||
}, 10*time.Second, time.Second)
|
||||
|
||||
log, err = rs.GetProcessLog(p.ID)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, 1, len(log.History))
|
||||
|
||||
err = rs.StopProcess(p.ID)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
func TestGetProcess(t *testing.T) {
|
||||
rs, err := getDummyRestreamer(nil, nil, nil, nil)
|
||||
require.NoError(t, err)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user