Skip to content
Snippets Groups Projects
http_test.go 1 KiB
Newer Older
  • Learn to ignore specific revisions
  • package gosdn
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    
    import (
    
    Andre Sterba's avatar
    Andre Sterba committed
    	"net/http"
    	"testing"
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    )
    
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    func Test_httpApi(t *testing.T) {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	tests := []struct {
    		name    string
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		request string
    		want    *http.Response
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		wantErr bool
    	}{
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		{
    
    			name:    "/livez",
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    			request: apiEndpoint + "/livez",
    			want:    &http.Response{StatusCode: http.StatusOK},
    			wantErr: false,
    		},
    		{
    
    			name:    "/readyz",
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    			request: apiEndpoint + "/readyz",
    			want:    &http.Response{StatusCode: http.StatusOK},
    			wantErr: false,
    		},
    
    		{
    			name:    "/metrics",
    			request: apiEndpoint + "/metrics",
    			want:    &http.Response{StatusCode: http.StatusOK},
    			wantErr: false,
    		},
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	}
    
    	coreLock.Lock()
    
    	startHttpServer()
    
    	coreLock.Unlock()
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    	for _, tt := range tests {
    		t.Run(tt.name, func(t *testing.T) {
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    			got, err := http.Get(tt.request)
    			if (err != nil) != tt.wantErr {
    				t.Errorf("httpApi() error = %v, wantErr %v", err, tt.wantErr)
    				return
    			}
    			if got.StatusCode != tt.want.StatusCode {
    				t.Errorf("httpApi() got: %v, want %v", got.StatusCode, tt.want.StatusCode)
    			}
    
    Manuel Kieweg's avatar
    Manuel Kieweg committed
    		})
    	}
    }