From 1ca263bdfc8de95a2b6e91c9947b770111905747 Mon Sep 17 00:00:00 2001
From: Lokesh Mandvekar <lsm5@fedoraproject.org>
Date: Fri, 8 May 2020 15:50:13 -0400
Subject: bindings tests for container remove and inspect

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
---
 pkg/bindings/test/containers_test.go | 141 +++++++++++++++++++++++++++++++++++
 1 file changed, 141 insertions(+)

(limited to 'pkg/bindings')

diff --git a/pkg/bindings/test/containers_test.go b/pkg/bindings/test/containers_test.go
index f40d8ce46..328691df2 100644
--- a/pkg/bindings/test/containers_test.go
+++ b/pkg/bindings/test/containers_test.go
@@ -596,4 +596,145 @@ var _ = Describe("Podman containers ", func() {
 		Expect(err).To(BeNil())
 		Expect(len(pruneResponse.ID)).To(Equal(0))
 	})
+
+	It("podman inspect bogus container", func() {
+		_, err := containers.Inspect(bt.conn, "foobar", nil)
+		Expect(err).ToNot(BeNil())
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusNotFound))
+	})
+
+	It("podman inspect running container", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Inspecting running container should succeed
+		_, err = containers.Inspect(bt.conn, name, nil)
+		Expect(err).To(BeNil())
+	})
+
+	It("podman inspect stopped container", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		err = containers.Stop(bt.conn, name, nil)
+		Expect(err).To(BeNil())
+		// Inspecting stopped container should succeed
+		_, err = containers.Inspect(bt.conn, name, nil)
+		Expect(err).To(BeNil())
+	})
+
+	It("podman inspect running container with size", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		_, err = containers.Inspect(bt.conn, name, &bindings.PTrue)
+		Expect(err).To(BeNil())
+	})
+
+	It("podman inspect stopped container with size", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		err = containers.Stop(bt.conn, name, nil)
+		Expect(err).To(BeNil())
+		// Inspecting stopped container with size should succeed
+		_, err = containers.Inspect(bt.conn, name, &bindings.PTrue)
+		Expect(err).To(BeNil())
+	})
+
+	It("podman remove bogus container", func() {
+		err = containers.Remove(bt.conn, "foobar", nil, nil)
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusNotFound))
+	})
+
+	It("podman remove running container by name", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, name, nil, nil)
+		Expect(err).ToNot(BeNil())
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman remove running container by ID", func() {
+		var name = "top"
+		cid, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, cid, nil, nil)
+		Expect(err).ToNot(BeNil())
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman forcibly remove running container by name", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, name, &bindings.PTrue, nil)
+		Expect(err).To(BeNil())
+		//code, _ := bindings.CheckResponseCode(err)
+		//Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman forcibly remove running container by ID", func() {
+		var name = "top"
+		cid, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, cid, &bindings.PTrue, nil)
+		Expect(err).To(BeNil())
+		//code, _ := bindings.CheckResponseCode(err)
+		//Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman remove running container and volume by name", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, name, nil, &bindings.PTrue)
+		Expect(err).ToNot(BeNil())
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman remove running container and volume by ID", func() {
+		var name = "top"
+		cid, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, cid, nil, &bindings.PTrue)
+		Expect(err).ToNot(BeNil())
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman forcibly remove running container and volume by name", func() {
+		var name = "top"
+		_, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, name, &bindings.PTrue, &bindings.PTrue)
+		Expect(err).To(BeNil())
+		//code, _ := bindings.CheckResponseCode(err)
+		//Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("podman forcibly remove running container and volume by ID", func() {
+		var name = "top"
+		cid, err := bt.RunTopContainer(&name, &bindings.PFalse, nil)
+		Expect(err).To(BeNil())
+		// Removing running container should fail
+		err = containers.Remove(bt.conn, cid, &bindings.PTrue, &bindings.PTrue)
+		Expect(err).To(BeNil())
+		//code, _ := bindings.CheckResponseCode(err)
+		//Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
 })
-- 
cgit v1.2.3-54-g00ecf