sigs.k8s.io/kubebuilder/v3@v3.14.0/pkg/plugin/util/util_test.go (about) 1 /* 2 Copyright 2022 The Kubernetes Authors. 3 Licensed under the Apache License, Version 2.0 (the "License"); 4 you may not use this file except in compliance with the License. 5 You may obtain a copy of the License at 6 http://www.apache.org/licenses/LICENSE-2.0 7 Unless required by applicable law or agreed to in writing, software 8 distributed under the License is distributed on an "AS IS" BASIS, 9 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 See the License for the specific language governing permissions and 11 limitations under the License. 12 */ 13 14 package util 15 16 import ( 17 "os" 18 "path/filepath" 19 20 . "github.com/onsi/ginkgo/v2" 21 . "github.com/onsi/gomega" 22 ) 23 24 var _ = Describe("InsertCode", Ordered, func() { 25 path := filepath.Join("testdata", "exampleFile.txt") 26 var originalContent []byte 27 28 BeforeAll(func() { 29 var err error 30 originalContent, err = os.ReadFile(path) 31 Expect(err).NotTo(HaveOccurred()) 32 }) 33 34 AfterAll(func() { 35 err := os.WriteFile(path, originalContent, 0644) 36 Expect(err).NotTo(HaveOccurred()) 37 }) 38 39 DescribeTable("should not succeed", 40 func(target string) { 41 Expect(InsertCode(path, target, "exampleCode")).ShouldNot(Succeed()) 42 }, 43 Entry("target given is not present in file", "randomTarget"), 44 ) 45 46 DescribeTable("should succeed", 47 func(target string) { 48 Expect(InsertCode(path, target, "exampleCode")).Should(Succeed()) 49 }, 50 Entry("target given is present in file", "exampleTarget"), 51 ) 52 })