mirror of
				https://github.com/containers/podman.git
				synced 2025-11-04 08:56:05 +08:00 
			
		
		
		
	Moving from Go module v4 to v5 prepares us for public releases. Move done using gomove [1] as with the v3 and v4 moves. [1] https://github.com/KSubedi/gomove Signed-off-by: Matt Heon <mheon@redhat.com>
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package e2e_test
 | 
						|
 | 
						|
import (
 | 
						|
	"os"
 | 
						|
 | 
						|
	"github.com/containers/podman/v5/pkg/machine/define"
 | 
						|
	. "github.com/onsi/ginkgo/v2"
 | 
						|
	. "github.com/onsi/gomega"
 | 
						|
	. "github.com/onsi/gomega/gexec"
 | 
						|
)
 | 
						|
 | 
						|
var _ = Describe("podman machine proxy settings propagation", func() {
 | 
						|
	var (
 | 
						|
		mb      *machineTestBuilder
 | 
						|
		testDir string
 | 
						|
	)
 | 
						|
 | 
						|
	BeforeEach(func() {
 | 
						|
		testDir, mb = setup()
 | 
						|
	})
 | 
						|
	AfterEach(func() {
 | 
						|
		teardown(originalHomeDir, testDir, mb)
 | 
						|
	})
 | 
						|
 | 
						|
	It("ssh to running machine and check proxy settings", func() {
 | 
						|
		// TODO the proxy test is currently failing on applehv.  FIX ME
 | 
						|
		skipIfVmtype(define.AppleHvVirt, "TODO: this test fails on applehv")
 | 
						|
 | 
						|
		// https://github.com/containers/podman/issues/20129
 | 
						|
		if testProvider.VMType() == define.HyperVVirt {
 | 
						|
			Skip("proxy settings not yet supported")
 | 
						|
		}
 | 
						|
		name := randomString()
 | 
						|
		i := new(initMachine)
 | 
						|
		session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath)).run()
 | 
						|
		Expect(err).ToNot(HaveOccurred())
 | 
						|
		Expect(session).To(Exit(0))
 | 
						|
 | 
						|
		defer func() {
 | 
						|
			httpProxyEnv := os.Getenv("HTTP_PROXY")
 | 
						|
			httpsProxyEnv := os.Getenv("HTTPS_PROXY")
 | 
						|
			if httpProxyEnv != "" {
 | 
						|
				os.Unsetenv("HTTP_PROXY")
 | 
						|
			}
 | 
						|
			if httpsProxyEnv != "" {
 | 
						|
				os.Unsetenv("HTTPS_PROXY")
 | 
						|
			}
 | 
						|
		}()
 | 
						|
		proxyURL := "http://abcdefghijklmnopqrstuvwxyz-proxy"
 | 
						|
		os.Setenv("HTTP_PROXY", proxyURL)
 | 
						|
		os.Setenv("HTTPS_PROXY", proxyURL)
 | 
						|
 | 
						|
		s := new(startMachine)
 | 
						|
		startSession, err := mb.setName(name).setCmd(s).run()
 | 
						|
		Expect(err).ToNot(HaveOccurred())
 | 
						|
		Expect(startSession).To(Exit(0))
 | 
						|
 | 
						|
		sshProxy := sshMachine{}
 | 
						|
		sshSession, err := mb.setName(name).setCmd(sshProxy.withSSHCommand([]string{"printenv", "HTTP_PROXY"})).run()
 | 
						|
		Expect(err).ToNot(HaveOccurred())
 | 
						|
		Expect(sshSession).To(Exit(0))
 | 
						|
		Expect(sshSession.outputToString()).To(ContainSubstring(proxyURL))
 | 
						|
 | 
						|
		sshSession, err = mb.setName(name).setCmd(sshProxy.withSSHCommand([]string{"printenv", "HTTPS_PROXY"})).run()
 | 
						|
		Expect(err).ToNot(HaveOccurred())
 | 
						|
		Expect(sshSession).To(Exit(0))
 | 
						|
		Expect(sshSession.outputToString()).To(ContainSubstring(proxyURL))
 | 
						|
	})
 | 
						|
})
 |