mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			106 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package container // import "github.com/docker/docker/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 id2, 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.ID)
 | 
						|
	}
 | 
						|
}
 |