| package v1 // import "github.com/docker/docker/image/v1" |
| |
| import ( |
| "encoding/json" |
| "testing" |
| |
| "github.com/docker/docker/image" |
| ) |
| |
| func TestMakeV1ConfigFromConfig(t *testing.T) { |
| img := &image.Image{ |
| V1Image: image.V1Image{ |
| ID: "v2id", |
| Parent: "v2parent", |
| OS: "os", |
| }, |
| OSVersion: "osversion", |
| RootFS: &image.RootFS{ |
| Type: "layers", |
| }, |
| } |
| v2js, err := json.Marshal(img) |
| if err != nil { |
| t.Fatal(err) |
| } |
| |
| // Convert the image back in order to get RawJSON() support. |
| img, err = image.NewFromJSON(v2js) |
| if err != nil { |
| t.Fatal(err) |
| } |
| |
| js, err := MakeV1ConfigFromConfig(img, "v1id", "v1parent", false) |
| if err != nil { |
| t.Fatal(err) |
| } |
| |
| newimg := &image.Image{} |
| err = json.Unmarshal(js, newimg) |
| if err != nil { |
| t.Fatal(err) |
| } |
| |
| if newimg.V1Image.ID != "v1id" || newimg.Parent != "v1parent" { |
| t.Error("ids should have changed", newimg.V1Image.ID, newimg.V1Image.Parent) |
| } |
| |
| if newimg.RootFS != nil { |
| t.Error("rootfs should have been removed") |
| } |
| |
| if newimg.V1Image.OS != "os" { |
| t.Error("os should have been preserved") |
| } |
| } |