Example #1
0
						if err == nil {
							conn.Close()
						}

						return err
					}).Should(HaveOccurred())

					workerAddr = fmt.Sprintf("0.0.0.0:%d", 7777+GinkgoParallelNode())

					workerServer = server.New("tcp", workerAddr, 0, worker, logger)
					err = workerServer.Start()
					Expect(err).NotTo(HaveOccurred())
				})

				It("can continue to connect after the worker address changes", func() {
					fakeDB.GetWorkerReturns(db.WorkerInfo{GardenAddr: workerAddr}, true, nil)

					container, err := workers[0].CreateContainer(logger, id, spec)
					Expect(err).NotTo(HaveOccurred())

					err = container.Destroy()
					Expect(err).NotTo(HaveOccurred())
				})

				It("throws an error if the worker cannot be found", func() {
					fakeDB.GetWorkerReturns(db.WorkerInfo{}, false, nil)

					_, err := workers[0].CreateContainer(logger, id, spec)
					Expect(err).To(HaveOccurred())
					Expect(err).To(Equal(ErrMissingWorker))
				})