Adds a delay test.

This commit is contained in:
James Phillips 2015-10-14 02:22:03 -07:00
parent 73ad5f0695
commit 409fd57e4a
1 changed files with 29 additions and 0 deletions

View File

@ -0,0 +1,29 @@
package state
import (
"testing"
"time"
)
func TestDelay(t *testing.T) {
d := NewDelay()
// An unknown key should have a time in the past.
if exp := d.GetExpiration("nope"); !exp.Before(time.Now()) {
t.Fatalf("bad: %v", exp)
}
// Add a key and set a short expiration.
now := time.Now()
delay := 250 * time.Millisecond
d.SetExpiration("bye", now, delay)
if exp := d.GetExpiration("bye"); !exp.After(now) {
t.Fatalf("bad: %v", exp)
}
// Wait for the key to expire and check again.
time.Sleep(2 * delay)
if exp := d.GetExpiration("bye"); !exp.Before(now) {
t.Fatalf("bad: %v", exp)
}
}