imagev1_test.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package v1
  2. import (
  3. "encoding/json"
  4. "testing"
  5. "github.com/docker/docker/image"
  6. )
  7. func TestMakeV1ConfigFromConfig(t *testing.T) {
  8. img := &image.Image{
  9. V1Image: image.V1Image{
  10. ID: "v2id",
  11. Parent: "v2parent",
  12. OS: "os",
  13. },
  14. OSVersion: "osversion",
  15. RootFS: &image.RootFS{
  16. Type: "layers",
  17. },
  18. }
  19. v2js, err := json.Marshal(img)
  20. if err != nil {
  21. t.Fatal(err)
  22. }
  23. // Convert the image back in order to get RawJSON() support.
  24. img, err = image.NewFromJSON(v2js)
  25. if err != nil {
  26. t.Fatal(err)
  27. }
  28. js, err := MakeV1ConfigFromConfig(img, "v1id", "v1parent", false)
  29. if err != nil {
  30. t.Fatal(err)
  31. }
  32. newimg := &image.Image{}
  33. err = json.Unmarshal(js, newimg)
  34. if err != nil {
  35. t.Fatal(err)
  36. }
  37. if newimg.V1Image.ID != "v1id" || newimg.Parent != "v1parent" {
  38. t.Error("ids should have changed", newimg.V1Image.ID, newimg.V1Image.Parent)
  39. }
  40. if newimg.RootFS != nil {
  41. t.Error("rootfs should have been removed")
  42. }
  43. if newimg.V1Image.OS != "os" {
  44. t.Error("os should have been preserved")
  45. }
  46. }