summaryrefslogtreecommitdiff
path: root/pkg/bindings/test/generator_test.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2021-09-13 14:29:22 -0700
committerJhon Honce <jhonce@redhat.com>2021-09-14 07:47:24 -0700
commitd7256be807890892c988cc7d270e3d1bf951397c (patch)
tree53fadc1842f3de6a7c62ab97c8e16f15b0dc4484 /pkg/bindings/test/generator_test.go
parentb603c7a4b91d30b33ce987740156f46804f24074 (diff)
downloadpodman-d7256be807890892c988cc7d270e3d1bf951397c.tar.gz
podman-d7256be807890892c988cc7d270e3d1bf951397c.tar.bz2
podman-d7256be807890892c988cc7d270e3d1bf951397c.zip
Enhance bindings for IDE hints
* Follow https://pkg.go.dev/cmd/go#hdr-Generate_Go_files_by_processing_source for leading comment * Add godoc strings for all exposed methods for IDE support * Copy field godoc strings into generated code as function godoc string * Remove unused/unnecessary fields from generator.go structures * Cleanup code regarding template usage Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/bindings/test/generator_test.go')
-rw-r--r--pkg/bindings/test/generator_test.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkg/bindings/test/generator_test.go b/pkg/bindings/test/generator_test.go
new file mode 100644
index 000000000..d04cc10f9
--- /dev/null
+++ b/pkg/bindings/test/generator_test.go
@@ -0,0 +1,51 @@
+package test_bindings
+
+import (
+ "github.com/containers/podman/v3/pkg/bindings/containers"
+ . "github.com/onsi/ginkgo"
+ . "github.com/onsi/gomega"
+ . "github.com/onsi/gomega/gstruct"
+)
+
+var _ = Describe("Podman API Bindings", func() {
+ boxedTrue, boxedFalse := new(bool), new(bool)
+ *boxedTrue = true
+ *boxedFalse = false
+
+ It("verify simple setters", func() {
+ boxedString := new(string)
+ *boxedString = "Test"
+
+ actual := new(containers.AttachOptions).
+ WithDetachKeys("Test").WithLogs(true).WithStream(false)
+
+ Expect(*actual).To(MatchAllFields(Fields{
+ "DetachKeys": Equal(boxedString),
+ "Logs": Equal(boxedTrue),
+ "Stream": Equal(boxedFalse),
+ }))
+
+ Expect(actual.GetDetachKeys()).To(Equal("Test"))
+ Expect(actual.GetLogs()).To(Equal(true))
+ Expect(actual.GetStream()).To(Equal(false))
+ })
+
+ It("verify composite setters", func() {
+ boxedInt := new(int)
+ *boxedInt = 50
+
+ actual := new(containers.ListOptions).
+ WithFilters(map[string][]string{"Test": {"Test Filter"}}).
+ WithLast(50)
+
+ Expect(*actual).To(MatchAllFields(Fields{
+ "All": BeNil(),
+ "External": BeNil(),
+ "Filters": HaveKeyWithValue("Test", []string{"Test Filter"}),
+ "Last": Equal(boxedInt),
+ "Namespace": BeNil(),
+ "Size": BeNil(),
+ "Sync": BeNil(),
+ }))
+ })
+})