} fakeDialer.DialReturns(fakeSession, nil) oldTerm = os.Getenv("TERM") os.Setenv("TERM", "defaultterm") }) AfterEach(func() { os.Setenv("TERM", oldTerm) }) Describe("#ConnectToShell", func() { It("connects to the correct server given app name, instance and config", func() { fakeDialer.DialReturns(fakeSession, nil) fakeSession.StdinPipeReturns(fakeStdin, nil) fakeSession.StdoutPipeReturns(fakeStdout, nil) fakeSession.StderrPipeReturns(fakeStderr, nil) fakeTerm.GetWinsizeReturns(1000, 2000) termState := &term.State{} fakeTerm.SetRawTerminalReturns(termState, nil) err := secureShell.ConnectToShell("app-name", 2, "", config) Expect(err).NotTo(HaveOccurred()) Expect(fakeDialer.DialCallCount()).To(Equal(1)) user, authUser, authPass, address := fakeDialer.DialArgsForCall(0) Expect(user).To(Equal("diego:app-name/2")) Expect(authUser).To(Equal("user")) Expect(authPass).To(Equal("past")) Expect(address).To(Equal("10.0.12.34:2222"))