mirror of
https://github.com/containers/podman.git
synced 2025-05-31 15:42:48 +08:00
Add test for generate kube on a pod with ports
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
This commit is contained in:
@ -10,6 +10,7 @@ import (
|
||||
"github.com/ghodss/yaml"
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
"k8s.io/api/core/v1"
|
||||
)
|
||||
|
||||
var _ = Describe("Podman generate kube", func() {
|
||||
@ -106,6 +107,49 @@ var _ = Describe("Podman generate kube", func() {
|
||||
Expect(err).To(BeNil())
|
||||
})
|
||||
|
||||
It("podman generate kube on pod with ports", func() {
|
||||
podName := "test"
|
||||
podSession := podmanTest.Podman("pod", "create", "--name", podName, "-p", "4000:4000", "-p", "5000:5000")
|
||||
podSession.WaitWithDefaultTimeout()
|
||||
Expect(podSession.ExitCode()).To(Equal(0))
|
||||
|
||||
ctr1Name := "ctr1"
|
||||
ctr1Session := podmanTest.Podman("create", "--name", ctr1Name, "--pod", podName, ALPINE, "top")
|
||||
ctr1Session.WaitWithDefaultTimeout()
|
||||
Expect(ctr1Session.ExitCode()).To(Equal(0))
|
||||
|
||||
ctr2Name := "ctr2"
|
||||
ctr2Session := podmanTest.Podman("create", "--name", ctr2Name, "--pod", podName, ALPINE, "top")
|
||||
ctr2Session.WaitWithDefaultTimeout()
|
||||
Expect(ctr2Session.ExitCode()).To(Equal(0))
|
||||
|
||||
kube := podmanTest.Podman([]string{"generate", "kube", podName})
|
||||
kube.WaitWithDefaultTimeout()
|
||||
Expect(kube.ExitCode()).To(Equal(0))
|
||||
|
||||
pod := new(v1.Pod)
|
||||
err := yaml.Unmarshal(kube.OutputToString(), pod)
|
||||
Expect(err).To(BeNil())
|
||||
|
||||
foundPort4000 := 0
|
||||
foundPort5000 := 0
|
||||
foundOtherPort := 0
|
||||
for _, ctr := range pod.Spec.Containers {
|
||||
for _, port := range ctr.Ports {
|
||||
if port.HostPort == 4000 {
|
||||
foundPort4000 = foundPort4000 + 1
|
||||
} else if port.HostPort == 5000 {
|
||||
foundPort5000 = foundPort5000 + 1
|
||||
} else {
|
||||
foundOtherPort = foundOtherPort + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
Expect(foundPort4000).To(Equal(1))
|
||||
Expect(foundPort5000).To(Equal(1))
|
||||
Expect(foundOtherPort).To(Equal(0))
|
||||
})
|
||||
|
||||
It("podman generate and reimport kube on pod", func() {
|
||||
podName := "toppod"
|
||||
_, rc, _ := podmanTest.CreatePod(podName)
|
||||
|
Reference in New Issue
Block a user