github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/topgun/runtime/ephemeral_worker_test.go (about)

     1  package topgun_test
     2  
     3  import (
     4  	. "github.com/pf-qiu/concourse/v6/topgun/common"
     5  	_ "github.com/lib/pq"
     6  	. "github.com/onsi/ginkgo"
     7  	. "github.com/onsi/gomega"
     8  )
     9  
    10  var _ = Describe("Ephemeral Workers", func() {
    11  	Context("with an ephemeral worker available", func() {
    12  		BeforeEach(func() {
    13  			Deploy(
    14  				"deployments/concourse.yml",
    15  				"-o", "operations/worker-instances.yml",
    16  				"-v", "worker_instances=2",
    17  				"-o", "operations/ephemeral-worker.yml",
    18  			)
    19  		})
    20  
    21  		Context("when the worker goes away", func() {
    22  			BeforeEach(func() {
    23  				Bosh("ssh", "worker/0", "-c", "sudo /var/vcap/bosh/bin/monit stop worker")
    24  			})
    25  
    26  			AfterEach(func() {
    27  				Bosh("ssh", "worker/0", "-c", "sudo /var/vcap/bosh/bin/monit start worker")
    28  			})
    29  
    30  			It("disappears without stalling", func() {
    31  				Eventually(func() int {
    32  					workers := FlyTable("workers")
    33  					return len(workers)
    34  				}).Should(Equal(1))
    35  			})
    36  		})
    37  	})
    38  })