github.com/kubeshop/testkube@v1.17.23/internal/app/api/v1/tests_test.go (about) 1 package v1 2 3 import ( 4 "net/http/httptest" 5 "testing" 6 7 testsv3 "github.com/kubeshop/testkube-operator/api/tests/v3" 8 testsclientv3 "github.com/kubeshop/testkube-operator/pkg/client/tests/v3" 9 "github.com/kubeshop/testkube/pkg/log" 10 "github.com/kubeshop/testkube/pkg/server" 11 12 "github.com/gofiber/fiber/v2" 13 "github.com/stretchr/testify/assert" 14 corev1 "k8s.io/api/core/v1" 15 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 16 "k8s.io/apimachinery/pkg/runtime" 17 k8sclient "sigs.k8s.io/controller-runtime/pkg/client" 18 "sigs.k8s.io/controller-runtime/pkg/client/fake" 19 ) 20 21 func TestTestkubeAPI_DeleteTest(t *testing.T) { 22 app := fiber.New() 23 24 s := &TestkubeAPI{ 25 HTTPServer: server.HTTPServer{ 26 Mux: app, 27 Log: log.DefaultLogger, 28 }, 29 TestsClient: getMockTestClient(), 30 } 31 32 app.Delete("/tests/:id", s.DeleteTestHandler()) 33 34 req := httptest.NewRequest("DELETE", "http://localhost/tests/k6?skipDeleteExecutions=true", nil) 35 resp, err := app.Test(req, -1) 36 37 assert.NoError(t, err) 38 defer resp.Body.Close() 39 40 } 41 42 func getMockTestClient() *testsclientv3.TestsClient { 43 scheme := runtime.NewScheme() 44 testsv3.AddToScheme(scheme) 45 corev1.AddToScheme(scheme) 46 initObjects := []k8sclient.Object{ 47 &testsv3.Test{ 48 TypeMeta: metav1.TypeMeta{ 49 Kind: "Test", 50 APIVersion: "tests.testkube.io/v3", 51 }, 52 ObjectMeta: metav1.ObjectMeta{ 53 Name: "k6", 54 Namespace: "", 55 }, 56 Spec: testsv3.TestSpec{}, 57 }, 58 } 59 60 fakeClient := fake.NewClientBuilder(). 61 WithScheme(scheme). 62 WithObjects(initObjects...). 63 Build() 64 65 return testsclientv3.NewClient(fakeClient, "") 66 }