123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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" {
- t.Fatalf("expected older container to be first, got %v", list[0].ID)
- }
- }
- 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" {
- t.Fatalf("expected newID, got %v", cont)
- }
- }
|