github.com/Benchkram/bob@v0.0.0-20220321080157-7c8f3876e225/test/e2e/export/export_test.go (about)

     1  package exporttest
     2  
     3  import (
     4  	"context"
     5  	"os"
     6  	"path/filepath"
     7  
     8  	"github.com/Benchkram/bob/bob"
     9  
    10  	. "github.com/onsi/ginkgo"
    11  	. "github.com/onsi/gomega"
    12  )
    13  
    14  var _ = Describe("Test bob's file export validation", func() {
    15  	Context("in a fresh environment", func() {
    16  		It("initializes bob playground", func() {
    17  			Expect(bob.CreatePlayground(dir)).NotTo(HaveOccurred())
    18  		})
    19  
    20  		It("run verify", func() {
    21  			err := b.Verify(context.Background())
    22  			Expect(err).NotTo(HaveOccurred())
    23  		})
    24  
    25  		It("check that env vars are correctly set", func() {
    26  			bobfile, err := b.Aggregate()
    27  			Expect(err).NotTo(HaveOccurred())
    28  			task, ok := bobfile.BTasks["generate"]
    29  			Expect(ok).To(BeTrue())
    30  
    31  			env := task.Env()
    32  			Expect(env).To(ContainElement(ContainSubstring("OPENAPI_PROVIDER_PROJECT_OPENAPI_OPENAPI")))
    33  			Expect(env).To(ContainElement(ContainSubstring("OPENAPI_PROVIDER_PROJECT_OPENAPI_OPENAPI2")))
    34  			Expect(env).To(ContainElement(ContainSubstring("openapi-provider-project/openapi.yaml")))
    35  			Expect(env).To(ContainElement(ContainSubstring("openapi-provider-project/openapi2.yaml")))
    36  		})
    37  
    38  		It("invalidate openapi provider export by deleting openapi.yaml file", func() {
    39  			err := os.RemoveAll(filepath.Join(bob.SecondLevelOpenapiProviderDir, "openapi.yaml"))
    40  			Expect(err).NotTo(HaveOccurred())
    41  		})
    42  
    43  		It("run verify and expect it to fail", func() {
    44  			err := b.Verify(context.Background())
    45  			Expect(err).To(HaveOccurred())
    46  		})
    47  	})
    48  })