Add Host field check in AuthOptions.Validate()
For ssh, Host field is required in AuthOptions. Signed-off-by: Sunny <darkowlzz@protonmail.com>
This commit is contained in:
		
							parent
							
								
									562af6d658
								
							
						
					
					
						commit
						5bd08a6960
					
				| 
						 | 
				
			
			@ -78,6 +78,9 @@ func (o AuthOptions) Validate() error {
 | 
			
		|||
			return fmt.Errorf("invalid '%s' auth option: 'password' requires 'username' to be set", o.Transport)
 | 
			
		||||
		}
 | 
			
		||||
	case SSH:
 | 
			
		||||
		if o.Host == "" {
 | 
			
		||||
			return fmt.Errorf("invalid '%s' auth option: 'host' is required", o.Transport)
 | 
			
		||||
		}
 | 
			
		||||
		if len(o.Identity) == 0 {
 | 
			
		||||
			return fmt.Errorf("invalid '%s' auth option: 'identity' is required", o.Transport)
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -106,10 +106,18 @@ func TestAuthOptions_Validate(t *testing.T) {
 | 
			
		|||
				Transport: HTTPS,
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name: "SSH transport requires host",
 | 
			
		||||
			opts: AuthOptions{
 | 
			
		||||
				Transport: SSH,
 | 
			
		||||
			},
 | 
			
		||||
			wantErr: "invalid 'ssh' auth option: 'host' is required",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name: "SSH transport requires identity",
 | 
			
		||||
			opts: AuthOptions{
 | 
			
		||||
				Transport: SSH,
 | 
			
		||||
				Host:      "github.com:22",
 | 
			
		||||
			},
 | 
			
		||||
			wantErr: "invalid 'ssh' auth option: 'identity' is required",
 | 
			
		||||
		},
 | 
			
		||||
| 
						 | 
				
			
			@ -117,6 +125,7 @@ func TestAuthOptions_Validate(t *testing.T) {
 | 
			
		|||
			name: "SSH transport requires known_hosts",
 | 
			
		||||
			opts: AuthOptions{
 | 
			
		||||
				Transport: SSH,
 | 
			
		||||
				Host:      "github.com:22",
 | 
			
		||||
				Identity:  []byte(privateKeyFixture),
 | 
			
		||||
			},
 | 
			
		||||
			wantErr: "invalid 'ssh' auth option: 'known_hosts' is required",
 | 
			
		||||
| 
						 | 
				
			
			@ -129,6 +138,7 @@ func TestAuthOptions_Validate(t *testing.T) {
 | 
			
		|||
		{
 | 
			
		||||
			name: "Valid SSH transport",
 | 
			
		||||
			opts: AuthOptions{
 | 
			
		||||
				Host:       "github.com:22",
 | 
			
		||||
				Transport:  SSH,
 | 
			
		||||
				Identity:   []byte(privateKeyPassphraseFixture),
 | 
			
		||||
				Password:   "foobar",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue