mirror of https://github.com/portainer/portainer
64 lines
1.4 KiB
Go
64 lines
1.4 KiB
Go
|
package edgeupdateschedules
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
portainer "github.com/portainer/portainer/api"
|
||
|
"github.com/portainer/portainer/api/edgetypes"
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestPreviousVersions(t *testing.T) {
|
||
|
|
||
|
schedules := []edgetypes.UpdateSchedule{
|
||
|
{
|
||
|
ID: 1,
|
||
|
Type: edgetypes.UpdateScheduleUpdate,
|
||
|
Status: map[portainer.EndpointID]edgetypes.UpdateScheduleStatus{
|
||
|
1: {
|
||
|
TargetVersion: "2.14.0",
|
||
|
CurrentVersion: "2.11.0",
|
||
|
Status: edgetypes.UpdateScheduleStatusSuccess,
|
||
|
},
|
||
|
2: {
|
||
|
TargetVersion: "2.13.0",
|
||
|
CurrentVersion: "2.12.0",
|
||
|
Status: edgetypes.UpdateScheduleStatusSuccess,
|
||
|
},
|
||
|
},
|
||
|
Created: 1500000000,
|
||
|
},
|
||
|
{
|
||
|
ID: 2,
|
||
|
Type: edgetypes.UpdateScheduleRollback,
|
||
|
Status: map[portainer.EndpointID]edgetypes.UpdateScheduleStatus{
|
||
|
1: {
|
||
|
TargetVersion: "2.11.0",
|
||
|
CurrentVersion: "2.14.0",
|
||
|
Status: edgetypes.UpdateScheduleStatusSuccess,
|
||
|
},
|
||
|
},
|
||
|
Created: 1500000001,
|
||
|
},
|
||
|
{
|
||
|
ID: 3,
|
||
|
Type: edgetypes.UpdateScheduleUpdate,
|
||
|
Status: map[portainer.EndpointID]edgetypes.UpdateScheduleStatus{
|
||
|
2: {
|
||
|
TargetVersion: "2.14.0",
|
||
|
CurrentVersion: "2.13.0",
|
||
|
Status: edgetypes.UpdateScheduleStatusSuccess,
|
||
|
},
|
||
|
},
|
||
|
Created: 1500000002,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
actual := previousVersions(schedules)
|
||
|
|
||
|
assert.Equal(t, map[portainer.EndpointID]string{
|
||
|
2: "2.13.0",
|
||
|
}, actual)
|
||
|
|
||
|
}
|