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  })