authenticatorTwo = &fake_authenticators.FakePasswordAuthenticator{} authenticatorMap["one"] = authenticatorOne authenticatorMap["two"] = authenticatorOne }) Context("and the users realm matches the first authenticator", func() { BeforeEach(func() { metadata.UserReturns("one:garbage") }) Context("and the authenticator successfully authenticates", func() { var permissions *ssh.Permissions BeforeEach(func() { permissions = &ssh.Permissions{} authenticatorOne.AuthenticateReturns(permissions, nil) }) It("succeeds to authenticate", func() { perms, err := authenticator.Authenticate(metadata, password) Expect(err).NotTo(HaveOccurred()) Expect(perms).To(Equal(permissions)) }) It("should provide the metadata to the authenticator", func() { _, err := authenticator.Authenticate(metadata, password) Expect(err).NotTo(HaveOccurred()) m, p := authenticatorOne.AuthenticateArgsForCall(0) Expect(m).To(Equal(metadata))
proxyServer *server.Server sshdServer *server.Server ) BeforeEach(func() { fakeLogSender = fake_logs.NewFakeLogSender() logs.Initialize(fakeLogSender) proxyAuthenticator = &fake_authenticators.FakePasswordAuthenticator{} proxySSHConfig = &ssh.ServerConfig{} proxySSHConfig.PasswordCallback = proxyAuthenticator.Authenticate proxySSHConfig.AddHostKey(TestHostKey) daemonAuthenticator = &fake_authenticators.FakePasswordAuthenticator{} daemonAuthenticator.AuthenticateReturns(&ssh.Permissions{}, nil) daemonSSHConfig = &ssh.ServerConfig{} daemonSSHConfig.PasswordCallback = daemonAuthenticator.Authenticate daemonSSHConfig.AddHostKey(TestHostKey) daemonGlobalRequestHandlers = map[string]handlers.GlobalRequestHandler{} daemonNewChannelHandlers = map[string]handlers.NewChannelHandler{} var err error proxyListener, err = net.Listen("tcp", "127.0.0.1:0") Expect(err).NotTo(HaveOccurred()) proxyAddress = proxyListener.Addr().String() sshdListener, err = net.Listen("tcp", "127.0.0.1:0") Expect(err).NotTo(HaveOccurred()) daemonAddress = sshdListener.Addr().String()