JustBeforeEach(func() { args := testrunner.Args{ Address: address, HostKey: string(hostKey), AuthorizedKey: string(authorizedKey), AllowedCiphers: string(allowedCiphers), AllowedMACs: string(allowedMACs), AllowedKeyExchanges: string(allowedKeyExchanges), AllowUnauthenticatedClients: allowUnauthenticatedClients, InheritDaemonEnv: inheritDaemonEnv, } runner = testrunner.New(sshdPath, args) process = ifrit.Invoke(runner) }) AfterEach(func() { ginkgomon.Kill(process, 3*time.Second) }) Describe("argument validation", func() { Context("when an ill-formed host key is provided", func() { BeforeEach(func() { hostKey = "host-key" }) It("reports and dies", func() { Expect(runner).To(gbytes.Say("failed-to-parse-host-key"))
hostKeyPem = context["host-key"] privateKeyPem = context["private-key"] publicAuthorizedKey = context["authorized-key"] sshdPort = 7000 + GinkgoParallelNode() sshdPath = context["sshd"] sshProxyPort = 7100 + GinkgoParallelNode() sshProxyPath = context["ssh-proxy"] }) var _ = BeforeEach(func() { sshdArgs := testrunner.Args{ Address: fmt.Sprintf("127.0.0.1:%d", sshdPort), HostKey: hostKeyPem, AuthorizedKey: publicAuthorizedKey, } runner := testrunner.New(sshdPath, sshdArgs) sshdProcess = ifrit.Invoke(runner) }) var _ = AfterEach(func() { ginkgomon.Kill(sshdProcess, 5*time.Second) }) var _ = SynchronizedAfterSuite(func() { }, func() { gexec.CleanupBuildArtifacts() })