github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/pkg/controller/handler/suite_test.go (about) 1 /* 2 Copyright (C) 2022-2023 ApeCloud Co., Ltd 3 4 This file is part of KubeBlocks project 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU Affero General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU Affero General Public License for more details. 15 16 You should have received a copy of the GNU Affero General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 package handler 21 22 import ( 23 "context" 24 "testing" 25 26 . "github.com/onsi/ginkgo/v2" 27 . "github.com/onsi/gomega" 28 29 "github.com/golang/mock/gomock" 30 31 workloads "github.com/1aal/kubeblocks/apis/workloads/v1alpha1" 32 "github.com/1aal/kubeblocks/pkg/controller/model" 33 testutil "github.com/1aal/kubeblocks/pkg/testutil/k8s" 34 "github.com/1aal/kubeblocks/pkg/testutil/k8s/mocks" 35 ) 36 37 var ( 38 controller *gomock.Controller 39 k8sMock *mocks.MockClient 40 graphCli model.GraphClient 41 ctx context.Context 42 ) 43 44 // These tests use Ginkgo (BDD-style Go testing framework). Refer to 45 // http://onsi.github.io/ginkgo/ to learn more about Ginkgo. 46 47 func init() { 48 model.AddScheme(workloads.AddToScheme) 49 } 50 51 func TestAPIs(t *testing.T) { 52 RegisterFailHandler(Fail) 53 54 RunSpecs(t, "Handler Suite") 55 } 56 57 var _ = BeforeSuite(func() { 58 controller, k8sMock = testutil.SetupK8sMock() 59 graphCli = model.NewGraphClient(k8sMock) 60 ctx = context.Background() 61 62 go func() { 63 defer GinkgoRecover() 64 }() 65 }) 66 67 var _ = AfterSuite(func() { 68 controller.Finish() 69 })