Skip to content
Snippets Groups Projects
cliIntegration_test.go 1.63 KiB
Newer Older
  • Learn to ignore specific revisions
  • package integration
    
    
    import (
    	"testing"
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    	"code.fbi.h-da.de/cocsn/gosdn/cli"
    
    )
    
    func TestCapabilities(t *testing.T) {
    	if testing.Short() {
    		t.Skip("skipping integration test")
    	}
    	type args struct {
    		a string
    		u string
    		p string
    	}
    	tests := []struct {
    		name    string
    		args    args
    		wantErr bool
    	}{
    		{
    			name: "default",
    			args: args{
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    				a: testAddress,
    				u: testUsername,
    				p: testPassword,
    
    			},
    			wantErr: false,
    		},
    		{
    			name: "destination unreachable",
    			args: args{
    				a: unreachable,
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    				u: testUsername,
    				p: testPassword,
    
    			},
    			wantErr: true,
    		},
    	}
    	for _, tt := range tests {
    		t.Run(tt.name, func(t *testing.T) {
    
    			if err := cli.Capabilities(tt.args.a, tt.args.u, tt.args.p); (err != nil) != tt.wantErr {
    
    				t.Errorf("Capabilities() error = %v, wantErr %v", err, tt.wantErr)
    			}
    		})
    	}
    }
    
    func TestHttpGet(t *testing.T) {
    	if testing.Short() {
    		t.Skip("skipping integration test")
    	}
    	type args struct {
    		apiEndpoint string
    		f           string
    		args        []string
    	}
    	tests := []struct {
    		name    string
    		args    args
    		wantErr bool
    	}{
    		{
    			name: "default",
    			args: args{
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    				apiEndpoint: testAPIEndpoint,
    
    				f:           "init",
    				args:        nil,
    			},
    			wantErr: false,
    		},
    		{
    			name: "destination unreachable",
    			args: args{
    				apiEndpoint: "http://" + unreachable,
    				f:           "init",
    				args:        nil,
    			},
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    			wantErr: true,
    
    		},
    	}
    	for _, tt := range tests {
    		t.Run(tt.name, func(t *testing.T) {
    
    			if err := cli.HTTPGet(tt.args.apiEndpoint, tt.args.f, tt.args.args...); (err != nil) != tt.wantErr {
    
    				t.Errorf("HttpGet() error = %v, wantErr %v", err, tt.wantErr)
    			}
    		})
    	}
    }