open-vault/logical/lease_test.go

96 lines
1.9 KiB
Go

package logical
import (
"testing"
"time"
)
func TestLeaseOptionsLeaseTotal(t *testing.T) {
var l LeaseOptions
l.TTL = 1 * time.Hour
actual := l.LeaseTotal()
expected := l.TTL
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsLeaseTotal_grace(t *testing.T) {
var l LeaseOptions
l.TTL = 1 * time.Hour
l.GracePeriod = 30 * time.Minute
actual := l.LeaseTotal()
expected := l.TTL + l.GracePeriod
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsLeaseTotal_negLease(t *testing.T) {
var l LeaseOptions
l.TTL = -1 * 1 * time.Hour
l.GracePeriod = 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.TTL = 1 * time.Hour
l.GracePeriod = -1 * 30 * time.Minute
actual := l.LeaseTotal()
expected := l.TTL
if actual != expected {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime(t *testing.T) {
var l LeaseOptions
l.TTL = 1 * time.Hour
limit := time.Now().UTC().Add(time.Hour)
exp := l.ExpirationTime()
if exp.Before(limit) {
t.Fatalf("bad: %s", exp)
}
}
func TestLeaseOptionsExpirationTime_grace(t *testing.T) {
var l LeaseOptions
l.TTL = 1 * time.Hour
l.GracePeriod = 30 * time.Minute
limit := time.Now().UTC().Add(time.Hour + 30*time.Minute)
actual := l.ExpirationTime()
if actual.Before(limit) {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime_graceNegative(t *testing.T) {
var l LeaseOptions
l.TTL = 1 * time.Hour
l.GracePeriod = -1 * 30 * time.Minute
limit := time.Now().UTC().Add(time.Hour)
actual := l.ExpirationTime()
if actual.Before(limit) {
t.Fatalf("bad: %s", actual)
}
}
func TestLeaseOptionsExpirationTime_noLease(t *testing.T) {
var l LeaseOptions
if !l.ExpirationTime().IsZero() {
t.Fatal("should be zero")
}
}