. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("SSH", func() { var ( fakeTerminalHelper *terminal_helper_fakes.FakeTerminalHelper fakeListenerFactory *fakes.FakeListenerFactory fakeConnection *fake_ssh.FakeConn fakeSecureClient *fakes.FakeSecureClient fakeSecureDialer *fakes.FakeSecureDialer fakeSecureSession *fakes.FakeSecureSession terminalHelper terminal.TerminalHelper keepAliveDuration time.Duration secureShell sshCmd.SecureShell stdinPipe *fake_io.FakeWriteCloser currentApp models.Application sshEndpointFingerprint string sshEndpoint string token string ) BeforeEach(func() { fakeTerminalHelper = &terminal_helper_fakes.FakeTerminalHelper{} terminalHelper = terminal.DefaultHelper() fakeListenerFactory = &fakes.FakeListenerFactory{}
Context("when a wait group is provided", func() { BeforeEach(func() { wg = &sync.WaitGroup{} wg.Add(1) }) It("calls done before returning", func() { wg.Wait() }) }) }) Describe("CopyAndClose", func() { var reader io.Reader var fakeWriteCloser *fake_io.FakeWriteCloser var wg *sync.WaitGroup BeforeEach(func() { reader = strings.NewReader("message") fakeWriteCloser = &fake_io.FakeWriteCloser{} wg = nil }) JustBeforeEach(func() { helpers.CopyAndClose(logger, wg, fakeWriteCloser, reader) }) It("copies from source to target", func() { Expect(fakeWriteCloser.WriteCallCount()).To(Equal(1)) Expect(string(fakeWriteCloser.WriteArgsForCall(0))).To(Equal("message"))