diff options
author | Jhon Honce <jhonce@redhat.com> | 2020-05-27 15:51:24 -0700 |
---|---|---|
committer | Jhon Honce <jhonce@redhat.com> | 2020-05-28 16:20:29 -0700 |
commit | 5626c2163bff661540e1ae3a5df25f0c7e7573f6 (patch) | |
tree | c5fe7993722f72f96b2f49b1ce47e2bb99adc531 /pkg/api/handlers/compat/resize.go | |
parent | e8818ced806910f8ce44939fef08f89139be4119 (diff) | |
download | podman-5626c2163bff661540e1ae3a5df25f0c7e7573f6.tar.gz podman-5626c2163bff661540e1ae3a5df25f0c7e7573f6.tar.bz2 podman-5626c2163bff661540e1ae3a5df25f0c7e7573f6.zip |
V2 verify JSON output is consistent and doesn't drift
$ cd test/apiv2
$ python -m unittest -v test_rest_v1_0_0.TestApi
Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/api/handlers/compat/resize.go')
-rw-r--r-- | pkg/api/handlers/compat/resize.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/pkg/api/handlers/compat/resize.go b/pkg/api/handlers/compat/resize.go index 3ead733bc..231b53175 100644 --- a/pkg/api/handlers/compat/resize.go +++ b/pkg/api/handlers/compat/resize.go @@ -1,10 +1,12 @@ package compat import ( + "fmt" "net/http" "strings" "github.com/containers/libpod/libpod" + "github.com/containers/libpod/libpod/define" "github.com/containers/libpod/pkg/api/handlers/utils" "github.com/gorilla/schema" "github.com/pkg/errors" @@ -43,6 +45,14 @@ func ResizeTTY(w http.ResponseWriter, r *http.Request) { utils.ContainerNotFound(w, name, err) return } + if state, err := ctnr.State(); err != nil { + utils.InternalServerError(w, errors.Wrapf(err, "cannot obtain container state")) + return + } else if state != define.ContainerStateRunning { + utils.Error(w, "Container not running", http.StatusConflict, + fmt.Errorf("container %q in wrong state %q", name, state.String())) + return + } if err := ctnr.AttachResize(sz); err != nil { utils.InternalServerError(w, errors.Wrapf(err, "cannot resize container")) return @@ -56,6 +66,14 @@ func ResizeTTY(w http.ResponseWriter, r *http.Request) { utils.SessionNotFound(w, name, err) return } + if state, err := ctnr.State(); err != nil { + utils.InternalServerError(w, errors.Wrapf(err, "cannot obtain session container state")) + return + } else if state != define.ContainerStateRunning { + utils.Error(w, "Container not running", http.StatusConflict, + fmt.Errorf("container %q in wrong state %q", name, state.String())) + return + } if err := ctnr.ExecResize(name, sz); err != nil { utils.InternalServerError(w, errors.Wrapf(err, "cannot resize session")) return |