Merge pull request #16418 from jakegt1/main

Fix compat build API returning two JSON objects at once
This commit is contained in:
OpenShift Merge Robot
2022-11-07 09:49:57 -05:00
committed by GitHub
2 changed files with 10 additions and 0 deletions

View File

@@ -804,6 +804,7 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
if err := enc.Encode(m); err != nil {
logrus.Warnf("failed to json encode error %v", err)
}
flush()
m.Aux = nil
m.Stream = fmt.Sprintf("Successfully built %12.12s\n", imageID)
if err := enc.Encode(m); err != nil {

View File

@@ -4,6 +4,7 @@ Integration tests for exercising docker-py against Podman Service.
import io
import os
import unittest
import json
from docker import errors
@@ -125,6 +126,14 @@ class TestImages(common.DockerTestCase):
self.assertEqual(image.labels["apple"], labels["apple"])
self.assertEqual(image.labels["grape"], labels["grape"])
def test_build_image_via_api_client(self):
api_client = self.docker.api
for line in api_client.build(path="test/python/docker/build_labels"):
try:
parsed = json.loads(line.decode("utf-8"))
except json.JSONDecodeError as e:
raise IOError(f"Line '{line}' was not JSON parsable")
assert "errorDetail" not in parsed
if __name__ == "__main__":
# Setup temporary space