pkg/ns: add tests cases for Close()'d NS
authorStefan Junker <mail@stefanjunker.de>
Tue, 24 May 2016 18:48:12 +0000 (20:48 +0200)
committerStefan Junker <mail@stefanjunker.de>
Tue, 24 May 2016 19:15:51 +0000 (21:15 +0200)
pkg/ns/ns_test.go

index 836025e..de0f385 100644 (file)
@@ -170,6 +170,33 @@ var _ = Describe("Linux namespace operations", func() {
                                }
                        })
                })
+
+               Describe("closing a network namespace", func() {
+                       It("should prevent further operations", func() {
+                               createdNetNS, err := ns.NewNS()
+                               Expect(err).NotTo(HaveOccurred())
+
+                               err = createdNetNS.Close()
+                               Expect(err).NotTo(HaveOccurred())
+
+                               err = createdNetNS.Do(func(ns.NetNS) error { return nil })
+                               Expect(err).To(HaveOccurred())
+
+                               err = createdNetNS.Set()
+                               Expect(err).To(HaveOccurred())
+                       })
+
+                       It("should only work once", func() {
+                               createdNetNS, err := ns.NewNS()
+                               Expect(err).NotTo(HaveOccurred())
+
+                               err = createdNetNS.Close()
+                               Expect(err).NotTo(HaveOccurred())
+
+                               err = createdNetNS.Close()
+                               Expect(err).To(HaveOccurred())
+                       })
+               })
        })
 })