125 lines
2.4 KiB
Go
125 lines
2.4 KiB
Go
package compose
|
|
|
|
import (
|
|
"github.com/osbuild/osbuild-composer/internal/common"
|
|
"testing"
|
|
)
|
|
|
|
func TestGetState(t *testing.T) {
|
|
cases := []struct {
|
|
compose Compose
|
|
expecedStatus common.ComposeState
|
|
}{
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBWaiting},
|
|
},
|
|
},
|
|
expecedStatus: common.CWaiting,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBRunning},
|
|
},
|
|
},
|
|
expecedStatus: common.CRunning,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBFailed},
|
|
},
|
|
},
|
|
expecedStatus: common.CFailed,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBFinished},
|
|
},
|
|
},
|
|
expecedStatus: common.CFinished,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBWaiting},
|
|
{QueueStatus: common.IBWaiting},
|
|
},
|
|
},
|
|
expecedStatus: common.CWaiting,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBWaiting},
|
|
{QueueStatus: common.IBRunning},
|
|
},
|
|
},
|
|
expecedStatus: common.CRunning,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBRunning},
|
|
{QueueStatus: common.IBRunning},
|
|
},
|
|
},
|
|
expecedStatus: common.CRunning,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBRunning},
|
|
{QueueStatus: common.IBFailed},
|
|
},
|
|
},
|
|
expecedStatus: common.CRunning,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBWaiting},
|
|
{QueueStatus: common.IBFailed},
|
|
},
|
|
},
|
|
expecedStatus: common.CRunning,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBFailed},
|
|
{QueueStatus: common.IBFailed},
|
|
},
|
|
},
|
|
expecedStatus: common.CFailed,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBFinished},
|
|
{QueueStatus: common.IBFinished},
|
|
},
|
|
},
|
|
expecedStatus: common.CFinished,
|
|
},
|
|
{
|
|
compose: Compose{
|
|
ImageBuilds: []ImageBuild{
|
|
{QueueStatus: common.IBFinished},
|
|
{QueueStatus: common.IBFailed},
|
|
},
|
|
},
|
|
expecedStatus: common.CFailed,
|
|
},
|
|
}
|
|
for n, c := range cases {
|
|
got := c.compose.GetState()
|
|
wanted := c.expecedStatus
|
|
if got != wanted {
|
|
t.Error("Compose", n, "should be in", wanted.ToString(), "state, but it is:", got.ToString())
|
|
}
|
|
}
|
|
}
|