sorter_test.go 1.3 KB

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