From 7ec8760cbf379ea5b74f96d0a5a6ca81e0e7b50a Mon Sep 17 00:00:00 2001
From: Jakub Guzik <jakubmguzik@gmail.com>
Date: Mon, 5 Apr 2021 16:48:10 +0200
Subject: Initial network bindings tests

Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
---
 pkg/bindings/test/networks_test.go | 72 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 pkg/bindings/test/networks_test.go

(limited to 'pkg/bindings')

diff --git a/pkg/bindings/test/networks_test.go b/pkg/bindings/test/networks_test.go
new file mode 100644
index 000000000..ef20235ae
--- /dev/null
+++ b/pkg/bindings/test/networks_test.go
@@ -0,0 +1,72 @@
+package test_bindings
+
+import (
+	"context"
+	"net/http"
+	"time"
+
+	"github.com/containers/podman/v3/pkg/bindings"
+	"github.com/containers/podman/v3/pkg/bindings/network"
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
+	"github.com/onsi/gomega/gexec"
+)
+
+var _ = Describe("Podman networks", func() {
+	var (
+		bt       *bindingTest
+		s        *gexec.Session
+		connText context.Context
+		err      error
+	)
+
+	BeforeEach(func() {
+
+		bt = newBindingTest()
+		bt.RestoreImagesFromCache()
+		s = bt.startAPIService()
+		time.Sleep(1 * time.Second)
+		connText, err = bindings.NewConnection(context.Background(), bt.sock)
+		Expect(err).To(BeNil())
+		_, err = network.Prune(connText, &network.PruneOptions{})
+		Expect(err).To(BeNil())
+	})
+
+	AfterEach(func() {
+		s.Kill()
+		bt.cleanup()
+	})
+
+	It("create network", func() {
+		// create a network with blank config should work
+		_, err = network.Create(connText, &network.CreateOptions{})
+		Expect(err).To(BeNil())
+
+		name := "foobar"
+		opts := network.CreateOptions{
+			Name: &name,
+		}
+
+		report, err := network.Create(connText, &opts)
+		Expect(err).To(BeNil())
+		Expect(report.Filename).To(ContainSubstring(name))
+
+		// create network with same name should 500
+		_, err = network.Create(connText, &opts)
+		Expect(err).ToNot(BeNil())
+		code, _ := bindings.CheckResponseCode(err)
+		Expect(code).To(BeNumerically("==", http.StatusInternalServerError))
+	})
+
+	It("inspect network", func() {
+		name := "foobar"
+		opts := network.CreateOptions{
+			Name: &name,
+		}
+		_, err = network.Create(connText, &opts)
+		Expect(err).To(BeNil())
+		data, err := network.Inspect(connText, name, nil)
+		Expect(err).To(BeNil())
+		Expect(data[0]["name"]).To(Equal(name))
+	})
+})
-- 
cgit v1.2.3-54-g00ecf