github.com/mongodb/grip@v0.0.0-20240213223901-f906268d82b9/injector_test.go (about)

     1  package grip
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/mongodb/grip/send"
     7  )
     8  
     9  func (s *GripSuite) TestSenderGetterReturnsExpectedJournaler() {
    10  	grip := NewJournaler("sender_swap")
    11  	s.Equal(grip.Name(), "sender_swap")
    12  
    13  	sender, err := send.NewNativeLogger(grip.Name(), grip.GetSender().Level())
    14  	s.NoError(err)
    15  	s.NoError(grip.SetSender(sender))
    16  
    17  	s.Equal(grip.Name(), "sender_swap")
    18  	ns, _ := send.NewNativeLogger("native_sender", s.grip.GetSender().Level())
    19  	defer ns.Close()
    20  	s.IsType(grip.GetSender(), ns)
    21  
    22  	sender, err = send.NewFileLogger(grip.Name(), "foo", grip.GetSender().Level())
    23  	s.NoError(grip.SetSender(sender))
    24  	s.NoError(err)
    25  
    26  	defer func() { std.Error(os.Remove("foo")) }()
    27  
    28  	s.Equal(grip.Name(), "sender_swap")
    29  	s.NotEqual(grip.GetSender(), ns)
    30  	fs, _ := send.NewFileLogger("file_sender", "foo", s.grip.GetSender().Level())
    31  	defer fs.Close()
    32  	s.IsType(grip.GetSender(), fs)
    33  
    34  	s.Error(grip.SetSender(nil))
    35  
    36  }