github.com/pivotal-cf/go-pivnet/v6@v6.0.2/integration/dependency_specifiers_test.go (about)

     1  package integration_test
     2  
     3  import (
     4  	. "github.com/onsi/ginkgo"
     5  	. "github.com/onsi/gomega"
     6  	pivnet "github.com/pivotal-cf/go-pivnet/v6"
     7  )
     8  
     9  const (
    10  	dependentProductSlug = "stemcells"
    11  	dependencySpecifier  = "3312.*"
    12  )
    13  
    14  var _ = Describe("Dependency Specifier Integration", func() {
    15  	var (
    16  		newRelease pivnet.Release
    17  	)
    18  
    19  	BeforeEach(func() {
    20  		var err error
    21  		newRelease, err = client.Releases.Create(pivnet.CreateReleaseConfig{
    22  			ProductSlug: testProductSlug,
    23  			Version:     "some-test-version",
    24  			ReleaseType: "Beta Release",
    25  			EULASlug:    "pivotal_beta_eula",
    26  		})
    27  		Expect(err).NotTo(HaveOccurred())
    28  	})
    29  
    30  	AfterEach(func() {
    31  		err := client.Releases.Delete(testProductSlug, newRelease)
    32  		Expect(err).NotTo(HaveOccurred())
    33  	})
    34  
    35  	It("creates, lists, and deletes dependency specifiers", func() {
    36  		By("Listing dependency specifiers")
    37  		dependencySpecifiers, err := client.DependencySpecifiers.List(testProductSlug, newRelease.ID)
    38  		Expect(err).NotTo(HaveOccurred())
    39  
    40  		By("Creating new dependency specifier")
    41  		dependencySpecifier, err := client.DependencySpecifiers.Create(
    42  			testProductSlug,
    43  			newRelease.ID,
    44  			dependentProductSlug,
    45  			dependencySpecifier,
    46  		)
    47  		Expect(err).NotTo(HaveOccurred())
    48  
    49  		Expect(dependencySpecifiers).ShouldNot(ContainElement(dependencySpecifier))
    50  
    51  		By("Re-listing dependency specifiers")
    52  		updatedDependencySpecifiers, err := client.DependencySpecifiers.List(testProductSlug, newRelease.ID)
    53  		Expect(err).NotTo(HaveOccurred())
    54  
    55  		Expect(updatedDependencySpecifiers).Should(ContainElement(dependencySpecifier))
    56  
    57  		By("Getting individual dependency specifier")
    58  		individualDependencySpecifier, err := client.DependencySpecifiers.Get(
    59  			testProductSlug,
    60  			newRelease.ID,
    61  			dependencySpecifier.ID,
    62  		)
    63  		Expect(err).NotTo(HaveOccurred())
    64  
    65  		Expect(individualDependencySpecifier).To(Equal(dependencySpecifier))
    66  
    67  		By("Deleting dependency specifier")
    68  		err = client.DependencySpecifiers.Delete(
    69  			testProductSlug,
    70  			newRelease.ID,
    71  			dependencySpecifier.ID,
    72  		)
    73  		Expect(err).NotTo(HaveOccurred())
    74  
    75  		newlyUpdatedDependencySpecifiers, err := client.DependencySpecifiers.List(testProductSlug, newRelease.ID)
    76  		Expect(err).NotTo(HaveOccurred())
    77  
    78  		Expect(newlyUpdatedDependencySpecifiers).ShouldNot(ContainElement(dependencySpecifier))
    79  	})
    80  })