sorter_test.go 1.3 KB

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