sorter_test.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package docker
  2. import (
  3. "github.com/dotcloud/docker/engine"
  4. "testing"
  5. "time"
  6. )
  7. func TestServerListOrderedImagesByCreationDate(t *testing.T) {
  8. eng := NewTestEngine(t)
  9. defer mkDaemonFromEngine(eng, t).Nuke()
  10. if err := generateImage("", eng); err != nil {
  11. t.Fatal(err)
  12. }
  13. images := getImages(eng, t, true, "")
  14. if images.Data[0].GetInt("Created") < images.Data[1].GetInt("Created") {
  15. t.Error("Expected images to be ordered by most recent creation date.")
  16. }
  17. }
  18. func TestServerListOrderedImagesByCreationDateAndTag(t *testing.T) {
  19. eng := NewTestEngine(t)
  20. defer mkDaemonFromEngine(eng, t).Nuke()
  21. err := generateImage("bar", eng)
  22. if err != nil {
  23. t.Fatal(err)
  24. }
  25. time.Sleep(time.Second)
  26. err = generateImage("zed", eng)
  27. if err != nil {
  28. t.Fatal(err)
  29. }
  30. images := getImages(eng, t, true, "")
  31. if repoTags := images.Data[0].GetList("RepoTags"); repoTags[0] != "repo:zed" && repoTags[0] != "repo:bar" {
  32. t.Errorf("Expected Images to be ordered by most recent creation date.")
  33. }
  34. }
  35. func generateImage(name string, eng *engine.Engine) error {
  36. archive, err := fakeTar()
  37. if err != nil {
  38. return err
  39. }
  40. job := eng.Job("import", "-", "repo", name)
  41. job.Stdin.Add(archive)
  42. job.SetenvBool("json", true)
  43. return job.Run()
  44. }