Merge pull request #9550 from baude/issue9517

Support label type dict on compat build
This commit is contained in:
OpenShift Merge Robot
2021-03-04 11:09:25 -05:00
committed by GitHub
3 changed files with 20 additions and 3 deletions

View File

@ -222,9 +222,17 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
// convert label formats
var labels = []string{}
if _, found := r.URL.Query()["labels"]; found {
if err := json.Unmarshal([]byte(query.Labels), &labels); err != nil {
utils.BadRequest(w, "labels", query.Labels, err)
return
makeLabels := make(map[string]string)
err := json.Unmarshal([]byte(query.Labels), &makeLabels)
if err == nil {
for k, v := range makeLabels {
labels = append(labels, k+"="+v)
}
} else {
if err := json.Unmarshal([]byte(query.Labels), &labels); err != nil {
utils.BadRequest(w, "labels", query.Labels, err)
return
}
}
}
jobs := 1

View File

@ -0,0 +1 @@
FROM quay.io/libpod/alpine:latest

View File

@ -149,6 +149,14 @@ class TestImages(unittest.TestCase):
self.assertEqual(len(self.client.images.list()), 2)
def test_build_image(self):
labels = {"apple": "red", "grape": "green"}
_ = self.client.images.build(path="test/python/docker/build_labels", labels=labels, tag="labels")
image = self.client.images.get("labels")
self.assertEqual(image.labels["apple"], labels["apple"])
self.assertEqual(image.labels["grape"], labels["grape"])
if __name__ == "__main__":
# Setup temporary space