package restartmanager

import (
	"testing"
	"time"

	"github.com/docker/engine-api/types/container"
)

func TestRestartManagerTimeout(t *testing.T) {
	rm := New(container.RestartPolicy{Name: "always", MaximumRetryCount: 0}).(*restartManager)
	should, _, err := rm.ShouldRestart(0, false, 1*time.Second)
	if err != nil {
		t.Fatal(err)
	}
	if !should {
		t.Fatal("container should be restarted")
	}
	if rm.timeout != 100*time.Millisecond {
		t.Fatalf("restart manager should have a timeout of 100ms but has %s", rm.timeout)
	}
}

func TestRestartManagerTimeoutReset(t *testing.T) {
	rm := New(container.RestartPolicy{Name: "always", MaximumRetryCount: 0}).(*restartManager)
	rm.timeout = 5 * time.Second
	_, _, err := rm.ShouldRestart(0, false, 10*time.Second)
	if err != nil {
		t.Fatal(err)
	}
	if rm.timeout != 100*time.Millisecond {
		t.Fatalf("restart manager should have a timeout of 100ms but has %s", rm.timeout)
	}
}
