mirror of https://github.com/containers/podman.git
				
				
				
			
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
| package integration
 | |
| 
 | |
| import (
 | |
| 	"os"
 | |
| 	"path/filepath"
 | |
| 
 | |
| 	. "github.com/containers/podman/v5/test/utils"
 | |
| 	"github.com/containers/storage/pkg/homedir"
 | |
| 	. "github.com/onsi/ginkgo/v2"
 | |
| 	. "github.com/onsi/gomega"
 | |
| )
 | |
| 
 | |
| var _ = Describe("podman image scp", func() {
 | |
| 
 | |
| 	BeforeEach(setupConnectionsConf)
 | |
| 
 | |
| 	It("podman image scp bogus image", func() {
 | |
| 		scp := podmanTest.Podman([]string{"image", "scp", "FOOBAR"})
 | |
| 		scp.WaitWithDefaultTimeout()
 | |
| 		Expect(scp).Should(ExitWithError())
 | |
| 	})
 | |
| 
 | |
| 	It("podman image scp with proper connection", func() {
 | |
| 		if _, err := os.Stat(filepath.Join(homedir.Get(), ".ssh", "known_hosts")); err != nil {
 | |
| 			Skip("known_hosts does not exist or is not accessible")
 | |
| 		}
 | |
| 		cmd := []string{"system", "connection", "add",
 | |
| 			"--default",
 | |
| 			"QA",
 | |
| 			"ssh://root@podman.test:2222/run/podman/podman.sock",
 | |
| 		}
 | |
| 		session := podmanTest.Podman(cmd)
 | |
| 		session.WaitWithDefaultTimeout()
 | |
| 		Expect(session).Should(ExitCleanly())
 | |
| 
 | |
| 		scp := podmanTest.Podman([]string{"image", "scp", ALPINE, "QA::"})
 | |
| 		scp.WaitWithDefaultTimeout()
 | |
| 		// exit with error because we cannot make an actual ssh connection
 | |
| 		// This tests that the input we are given is validated and prepared correctly
 | |
| 		// The error given should either be a missing image (due to testing suite complications) or a no such host timeout on ssh
 | |
| 		Expect(scp).Should(ExitWithError())
 | |
| 		// podman-remote exits with a different error
 | |
| 		if !IsRemote() {
 | |
| 			Expect(scp.ErrorToString()).Should(ContainSubstring("no such host"))
 | |
| 		}
 | |
| 
 | |
| 	})
 | |
| 
 | |
| })
 |