client = &sshapi.Client{ SSHSessionFactory: mockSessionFactory, } mockSession = &mocks.FakeSSHSession{} mockSessionFactory.NewReturns(mockSession, nil) }) AfterEach(func() { os.Setenv("TERM", originalTerm) }) It("should open a new session", func() { os.Setenv("TERM", "some term") client.Stdin = bytes.NewBufferString("some client in data") client.Stdout = &bytes.Buffer{} client.Stderr = &bytes.Buffer{} mockSessionStdinBuffer := &bytes.Buffer{} mockSessionStdin := &mockConn{Writer: mockSessionStdinBuffer} mockSessionStdout := bytes.NewBufferString("some session out data") mockSessionStderr := bytes.NewBufferString("some session err data") mockSession.StdinPipeReturns(mockSessionStdin, nil) mockSession.StdoutPipeReturns(mockSessionStdout, nil) mockSession.StderrPipeReturns(mockSessionStderr, nil) _, err := client.Open(100, 200, true) Expect(err).NotTo(HaveOccurred()) Expect(mockSession.RequestPtyCallCount()).To(Equal(1)) termType, height, width, modes := mockSession.RequestPtyArgsForCall(0) Expect(termType).To(Equal("some term"))