sshCodeGetter *commandsfakes.FakeSSHCodeGetter originalSSHCodeGetter commandregistry.Command requirementsFactory *requirementsfakes.FakeFactory configRepo coreconfig.Repository deps commandregistry.Dependency ccGateway net.Gateway fakeSecureShell *sshfakes.FakeSecureShell ) BeforeEach(func() { ui = &testterm.FakeUI{} configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = new(requirementsfakes.FakeFactory) deps.Gateways = make(map[string]net.Gateway) //save original command and restore later originalSSHCodeGetter = commandregistry.Commands.FindCommand("ssh-code") sshCodeGetter = new(commandsfakes.FakeSSHCodeGetter) //setup fakes to correctly interact with commandregistry sshCodeGetter.SetDependencyStub = func(_ commandregistry.Dependency, _ bool) commandregistry.Command { return sshCodeGetter } sshCodeGetter.MetaDataReturns(commandregistry.CommandMetadata{Name: "ssh-code"}) }) AfterEach(func() { //restore original command