Ctrl K
ComunidadGuías…

api/controller/agent_kubernetes_bootstrap_test.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package controller

import (
	"errors"
	"net/http"
	"net/http/httptest"
	"testing"

	httputil "github.com/goodrain/rainbond/util/http"
)

func TestReturnAgentKubeconfigBootstrapError(t *testing.T) {
	tests := []struct {
		name       string
		err        error
		wantStatus int
	}{
		{
			name:       "parameter error",
			err:        httputil.NewErrBadRequest(errors.New("unsupported credential_profile")),
			wantStatus: http.StatusBadRequest,
		},
		{
			name:       "runtime error",
			err:        errors.New("create service account token"),
			wantStatus: http.StatusInternalServerError,
		},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			request := httptest.NewRequest(http.MethodPost, "/v2/cluster/agent-kubernetes/bootstrap-credential", nil)
			response := httptest.NewRecorder()

			returnAgentKubeconfigBootstrapError(request, response, tt.err)

			if response.Code != tt.wantStatus {
				t.Fatalf("expected status %d, got %d: %s", tt.wantStatus, response.Code, response.Body.String())
			}
		})
	}
}