github.com/choria-io/go-choria@v0.28.1-0.20240416190746-b3bf9c7d5a45/protocol/v1/request_test.go (about) 1 // Copyright (c) 2017-2022, R.I. Pienaar and the Choria Project contributors 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 5 package v1 6 7 import ( 8 "time" 9 10 "github.com/choria-io/go-choria/protocol" 11 . "github.com/onsi/ginkgo/v2" 12 . "github.com/onsi/gomega" 13 ) 14 15 var _ = Describe("Request", func() { 16 It("Should construct the correct request", func() { 17 request, _ := NewRequest("test", "go.tests", "choria=test", 120, "a2f0ca717c694f2086cfa81b6c494648", "mcollective") 18 filter, filtered := request.Filter() 19 20 request.SetMessage([]byte("hello world")) 21 22 j, _ := request.JSON() 23 24 Expect(protocol.VersionFromJSON(j)).To(Equal(protocol.RequestV1)) 25 Expect(request.Message()).To(Equal([]byte("hello world"))) 26 Expect(request.RequestID()).To(HaveLen(32)) 27 Expect(request.SenderID()).To(Equal("go.tests")) 28 Expect(request.CallerID()).To(Equal("choria=test")) 29 Expect(request.Collective()).To(Equal("mcollective")) 30 Expect(request.Agent()).To(Equal("test")) 31 Expect(request.TTL()).To(Equal(120)) 32 Expect(request.Time()).To(BeTemporally("~", time.Now(), time.Second)) 33 Expect(filtered).To(BeFalse()) 34 Expect(filter.Empty()).To(BeTrue()) 35 36 filter.AddAgentFilter("rpcutil") 37 filter, filtered = request.Filter() 38 Expect(filtered).To(BeTrue()) 39 Expect(filter).ToNot(BeNil()) 40 41 filter.AddAgentFilter("other") 42 filter, filtered = request.Filter() 43 Expect(filtered).To(BeTrue()) 44 Expect(filter).ToNot(BeNil()) 45 }) 46 })