code: func FakePull(img image.Image, w io.Writer) error {
  	messages := []jsonmessage.JSONMessage{
  		{Status: fmt.Sprintf("Pulling repository %s", img.Repository)},
  		{Status: fmt.Sprintf("Pulling image (%s) from %s", img.Tag, img.Repository), Progress: &jsonmessage.JSONProgress{}, ID: "345c7524bc96"},
  		{Status: fmt.Sprintf("Pulling image (%s) from %s, endpoint: https://registry-1.docker.io/v1/", img.Tag, img.Repository), Progress: &jsonmessage.JSONProgress{}, ID: "345c7524bc96"},
  		{Status: "Pulling dependent layers", Progress: &jsonmessage.JSONProgress{}, ID: "345c7524bc96"},
  		{Status: "Download complete", Progress: &jsonmessage.JSONProgress{}, ID: "a1dd7097a8e8"},
  		{Status: fmt.Sprintf("Status: Image is up to date for %s", img)},
  	}
  
  	enc := json.NewEncoder(w)
  
  	for _, m := range messages {
  		if err := enc.Encode(&m); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // FakePull writes a jsonmessage stream to w that looks like a Docker pull.