github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/providers/agent/mcorpc/ruby/provider_test.go (about) 1 // Copyright (c) 2020-2021, R.I. Pienaar and the Choria Project contributors 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 5 package ruby 6 7 import ( 8 "context" 9 "io" 10 11 "github.com/choria-io/go-choria/build" 12 "github.com/choria-io/go-choria/config" 13 imock "github.com/choria-io/go-choria/inter/imocks" 14 "github.com/choria-io/go-choria/providers/agent/mcorpc" 15 16 "github.com/choria-io/go-choria/choria" 17 18 "github.com/golang/mock/gomock" 19 . "github.com/onsi/ginkgo/v2" 20 . "github.com/onsi/gomega" 21 "github.com/sirupsen/logrus" 22 ) 23 24 var _ = Describe("McoRPC/Ruby", func() { 25 var ( 26 mockctl *gomock.Controller 27 agentMgr *MockAgentManager 28 connector *imock.MockConnector 29 cfg *config.Config 30 fw *choria.Framework 31 err error 32 logger *logrus.Entry 33 agent *mcorpc.Agent 34 ) 35 36 BeforeEach(func() { 37 build.TLS = "false" 38 39 l := logrus.New() 40 l.Out = io.Discard 41 logger = l.WithFields(logrus.Fields{}) 42 43 mockctl = gomock.NewController(GinkgoT()) 44 agentMgr = NewMockAgentManager(mockctl) 45 connector = imock.NewMockConnector(mockctl) 46 47 cfg = config.NewConfigForTests() 48 cfg.DisableSecurityProviderVerify = true 49 Expect(err).ToNot(HaveOccurred()) 50 fw, err = choria.NewWithConfig(cfg) 51 Expect(err).ToNot(HaveOccurred()) 52 53 agentMgr.EXPECT().Choria().Return(fw).AnyTimes() 54 agentMgr.EXPECT().Logger().Return(logger).AnyTimes() 55 }) 56 57 AfterEach(func() { 58 mockctl.Finish() 59 }) 60 61 var _ = Describe("RegisterAgents", func() { 62 var p Provider 63 var ctx context.Context 64 65 BeforeEach(func() { 66 p = Provider{ 67 cfg: fw.Config, 68 log: logger, 69 } 70 71 p.loadAgents([]string{"testdata/lib1", "testdata/lib2"}) 72 Expect(p.Agents()).To(HaveLen(2)) 73 74 ctx = context.Background() 75 }) 76 77 It("Should register all agents", func() { 78 agentMgr.EXPECT().RegisterAgent(ctx, "one", gomock.AssignableToTypeOf(agent), connector).Times(1) 79 agentMgr.EXPECT().RegisterAgent(ctx, "two", gomock.AssignableToTypeOf(agent), connector).Times(1) 80 81 err := p.RegisterAgents(ctx, agentMgr, connector, logrus.WithFields(logrus.Fields{})) 82 Expect(err).ToNot(HaveOccurred()) 83 }) 84 }) 85 })