@@ -27,46 +27,55 @@ func TestParseAppStatus(t *testing.T) {
2727 tests := []struct {
2828 name string
2929 containerState []container.ContainerState
30+ statusMessage []string
3031 want Status
3132 }{
3233 {
3334 name : "everything running" ,
3435 containerState : []container.ContainerState {container .StateRunning , container .StateRunning },
36+ statusMessage : []string {"Up 5 minutes" , "Up 10 minutes" },
3537 want : StatusRunning ,
3638 },
3739 {
3840 name : "everything stopped" ,
3941 containerState : []container.ContainerState {container .StateCreated , container .StatePaused , container .StateExited },
42+ statusMessage : []string {"Created" , "Paused" , "Exited (137)" },
4043 want : StatusStopped ,
4144 },
4245 {
4346 name : "failed container" ,
4447 containerState : []container.ContainerState {container .StateRunning , container .StateDead },
48+ statusMessage : []string {"Up 5 minutes" , "Dead" },
4549 want : StatusFailed ,
4650 },
4751 {
4852 name : "failed container takes precedence over stopping and starting" ,
4953 containerState : []container.ContainerState {container .StateRunning , container .StateDead , container .StateRemoving , container .StateRestarting },
54+ statusMessage : []string {"Up 5 minutes" , "Dead" , "Removing" , "Restarting" },
5055 want : StatusFailed ,
5156 },
5257 {
5358 name : "stopping" ,
5459 containerState : []container.ContainerState {container .StateRunning , container .StateRemoving },
60+ statusMessage : []string {"Up 5 minutes" , "Removing" },
5561 want : StatusStopping ,
5662 },
5763 {
5864 name : "stopping takes precedence over starting" ,
5965 containerState : []container.ContainerState {container .StateRunning , container .StateRestarting , container .StateRemoving },
66+ statusMessage : []string {"Up 5 minutes" , "Restarting" , "Removing" },
6067 want : StatusStopping ,
6168 },
6269 {
6370 name : "starting" ,
6471 containerState : []container.ContainerState {container .StateRestarting , container .StateExited },
72+ statusMessage : []string {"Restarting" , "Exited (129)" },
6573 want : StatusStarting ,
6674 },
6775 {
6876 name : "failed" ,
6977 containerState : []container.ContainerState {container .StateRestarting , container .StateExited },
78+ statusMessage : []string {"Restarting" , "Exited (0)" },
7079 want : StatusFailed ,
7180 },
7281 }
@@ -77,8 +86,10 @@ func TestParseAppStatus(t *testing.T) {
7786 return container.Summary {
7887 Labels : map [string ]string {DockerAppPathLabel : "path1" },
7988 State : c ,
89+ Status : "Exited (129)" ,
8090 }
8191 })
92+
8293 res := parseAppStatus (input )
8394 require .Len (t , res , 1 )
8495 require .Equal (t , tc .want , res [0 ].Status )
0 commit comments