2016-01-15 18:55:46 -05:00
|
|
|
package container
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestNewMemoryStore(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
m, ok := s.(*memoryStore)
|
|
|
|
if !ok {
|
|
|
|
t.Fatalf("store is not a memory store %v", s)
|
|
|
|
}
|
|
|
|
if m.s == nil {
|
|
|
|
t.Fatal("expected store map to not be nil")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestAddContainers(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
s.Add("id", NewBaseContainer("id", "root"))
|
|
|
|
if s.Size() != 1 {
|
|
|
|
t.Fatalf("expected store size 1, got %v", s.Size())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestGetContainer(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
s.Add("id", NewBaseContainer("id", "root"))
|
|
|
|
c := s.Get("id")
|
|
|
|
if c == nil {
|
|
|
|
t.Fatal("expected container to not be nil")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDeleteContainer(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
s.Add("id", NewBaseContainer("id", "root"))
|
|
|
|
s.Delete("id")
|
|
|
|
if c := s.Get("id"); c != nil {
|
|
|
|
t.Fatalf("expected container to be nil after removal, got %v", c)
|
|
|
|
}
|
|
|
|
|
|
|
|
if s.Size() != 0 {
|
|
|
|
t.Fatalf("expected store size to be 0, got %v", s.Size())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestListContainers(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
|
|
|
|
cont := NewBaseContainer("id", "root")
|
|
|
|
cont.Created = time.Now()
|
|
|
|
cont2 := NewBaseContainer("id2", "root")
|
|
|
|
cont2.Created = time.Now().Add(24 * time.Hour)
|
|
|
|
|
|
|
|
s.Add("id", cont)
|
|
|
|
s.Add("id2", cont2)
|
|
|
|
|
|
|
|
list := s.List()
|
|
|
|
if len(list) != 2 {
|
|
|
|
t.Fatalf("expected list size 2, got %v", len(list))
|
|
|
|
}
|
|
|
|
if list[0].ID != "id2" {
|
2016-11-24 07:01:00 -05:00
|
|
|
t.Fatalf("expected id2, got %v", list[0].ID)
|
2016-01-15 18:55:46 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestFirstContainer(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
|
|
|
|
s.Add("id", NewBaseContainer("id", "root"))
|
|
|
|
s.Add("id2", NewBaseContainer("id2", "root"))
|
|
|
|
|
|
|
|
first := s.First(func(cont *Container) bool {
|
|
|
|
return cont.ID == "id2"
|
|
|
|
})
|
|
|
|
|
|
|
|
if first == nil {
|
|
|
|
t.Fatal("expected container to not be nil")
|
|
|
|
}
|
|
|
|
if first.ID != "id2" {
|
|
|
|
t.Fatalf("expected id2, got %v", first)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestApplyAllContainer(t *testing.T) {
|
|
|
|
s := NewMemoryStore()
|
|
|
|
|
|
|
|
s.Add("id", NewBaseContainer("id", "root"))
|
|
|
|
s.Add("id2", NewBaseContainer("id2", "root"))
|
|
|
|
|
|
|
|
s.ApplyAll(func(cont *Container) {
|
|
|
|
if cont.ID == "id2" {
|
|
|
|
cont.ID = "newID"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
cont := s.Get("id2")
|
|
|
|
if cont == nil {
|
|
|
|
t.Fatal("expected container to not be nil")
|
|
|
|
}
|
|
|
|
if cont.ID != "newID" {
|
2016-11-24 07:01:00 -05:00
|
|
|
t.Fatalf("expected newID, got %v", cont.ID)
|
2016-01-15 18:55:46 -05:00
|
|
|
}
|
|
|
|
}
|