open-vault/logical/lease_test.go
2015-04-10 21:35:17 -07:00

110 lines
2.3 KiB
Go

package logical
import (
"testing"
"time"
)
func TestLeaseOptionsIncrementedLease(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Second
l.LeaseIssue = time.Now().UTC()
actual := l.IncrementedLease(1 * time.Second)
if actual > 3*time.Second || actual < 1*time.Second {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsLeaseTotal(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Hour
actual := l.LeaseTotal()
expected := l.Lease
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsLeaseTotal_grace(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Hour
l.LeaseGracePeriod = 30 * time.Minute
actual := l.LeaseTotal()
expected := l.Lease + l.LeaseGracePeriod
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsLeaseTotal_negLease(t *testing.T) {
var l LeaseOptions
l.Lease = -1 * 1 * time.Hour
l.LeaseGracePeriod = 30 * time.Minute
actual := l.LeaseTotal()
expected := time.Duration(0)
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsLeaseTotal_negGrace(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Hour
l.LeaseGracePeriod = -1 * 30 * time.Minute
actual := l.LeaseTotal()
expected := l.Lease
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Hour
l.LeaseIssue = time.Now().UTC()
actual := l.ExpirationTime()
expected := l.LeaseIssue.Add(l.Lease)
if !actual.Equal(expected) {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime_grace(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Hour
l.LeaseGracePeriod = 30 * time.Minute
l.LeaseIssue = time.Now().UTC()
actual := l.ExpirationTime()
expected := l.LeaseIssue.Add(l.Lease + l.LeaseGracePeriod)
if !actual.Equal(expected) {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime_graceNegative(t *testing.T) {
var l LeaseOptions
l.Lease = 1 * time.Hour
l.LeaseGracePeriod = -1 * 30 * time.Minute
l.LeaseIssue = time.Now().UTC()
actual := l.ExpirationTime()
expected := l.LeaseIssue.Add(l.Lease)
if !actual.Equal(expected) {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime_noLease(t *testing.T) {
var l LeaseOptions
if !l.ExpirationTime().IsZero() {
t.Fatal("should be zero")
}
}