@@ -8,13 +8,11 @@ import (
88 "testing"
99 "time"
1010
11- "bou.ke/monkey"
12-
13- "github.com/stretchr/testify/assert"
14-
11+ "github.com/agiledragon/gomonkey/v2"
1512 "github.com/gol4ng/logger"
1613 "github.com/gol4ng/logger/handler"
1714 "github.com/gol4ng/logger/writer"
15+ "github.com/stretchr/testify/assert"
1816)
1917
2018func TestGelf (t * testing.T ) {
@@ -35,13 +33,14 @@ func TestGelf(t *testing.T) {
3533 }
3634 for _ , tt := range tests {
3735 t .Run (tt .name , func (t * testing.T ) {
38- monkey .Patch (tt .method , func (network , address string ) logger.HandlerInterface {
36+ patch := gomonkey .NewPatches ()
37+ patch .ApplyFunc (tt .method , func (network , address string ) logger.HandlerInterface {
3938 assert .Equal (t , network , tt .network )
4039 assert .Equal (t , address , tt .address )
4140 return logger .NopHandler
4241 })
42+ defer patch .Reset ()
4343 assert .IsType (t , logger .NopHandler , handler .Gelf (tt .network , tt .address ))
44- monkey .UnpatchAll ()
4544 })
4645 }
4746}
@@ -58,29 +57,31 @@ func (w *WrongConn) Read(_ []byte) (n int, err error) { return 0, nil }
5857func (w * WrongConn ) Write (_ []byte ) (n int , err error ) { return 0 , nil }
5958func (w * WrongConn ) Close () error { return nil }
6059func (w * WrongConn ) LocalAddr () net.Addr { return nil }
61- func (w * WrongConn ) RemoteAddr () net.Addr { return nil }
62- func (w * WrongConn ) SetDeadline (_ time.Time ) error { return nil }
63- func (w * WrongConn ) SetReadDeadline (_ time.Time ) error { return nil }
60+ func (w * WrongConn ) RemoteAddr () net.Addr { return nil }
61+ func (w * WrongConn ) SetDeadline (_ time.Time ) error { return nil }
62+ func (w * WrongConn ) SetReadDeadline (_ time.Time ) error { return nil }
6463func (w * WrongConn ) SetWriteDeadline (_ time.Time ) error { return nil }
6564
6665func TestGelfFromConnection (t * testing.T ) {
6766
6867 t .Run ("TestGelfFromConnection for TCPConn" , func (t * testing.T ) {
69- monkey .Patch (handler .GelfTCPFromConnection , func (c * net.TCPConn ) logger.HandlerInterface {
68+ patch := gomonkey .NewPatches ()
69+ patch .ApplyFunc (handler .GelfTCPFromConnection , func (c * net.TCPConn ) logger.HandlerInterface {
7070 //assert.Equal(t, conn, c)
7171 return logger .NopHandler
7272 })
73+ defer patch .Reset ()
7374 assert .IsType (t , logger .NopHandler , handler .GelfFromConnection (& net.TCPConn {}))
74- monkey .UnpatchAll ()
7575 })
7676
7777 t .Run ("TestGelfFromConnection for UDPConn" , func (t * testing.T ) {
78- monkey .Patch (handler .GelfUDPFromConnection , func (c * net.UDPConn ) logger.HandlerInterface {
78+ patch := gomonkey .NewPatches ()
79+ patch .ApplyFunc (handler .GelfUDPFromConnection , func (c * net.UDPConn ) logger.HandlerInterface {
7980 //assert.Equal(t, conn, c)
8081 return logger .NopHandler
8182 })
83+ defer patch .Reset ()
8284 assert .IsType (t , logger .NopHandler , handler .GelfFromConnection (& net.UDPConn {}))
83- monkey .UnpatchAll ()
8485 })
8586}
8687
@@ -93,24 +94,25 @@ func TestGelfFromConnection_withWrongConnection(t *testing.T) {
9394func TestGelfTCP_Handle (t * testing.T ) {
9495 var TCPAddr * net.TCPAddr
9596 var TCPConn * net.TCPConn
96- monkey .Patch (net .ResolveTCPAddr , func (network , address string ) (* net.TCPAddr , error ) {
97+ patch := gomonkey .NewPatches ()
98+ patch .ApplyFunc (net .ResolveTCPAddr , func (network , address string ) (* net.TCPAddr , error ) {
9799 assert .Equal (t , "fake_network" , network )
98100 assert .Equal (t , "fake_address" , address )
99101 return TCPAddr , nil
100102 })
101- monkey . Patch (net .DialTCP , func (network string , laddr , raddr * net.TCPAddr ) (* net.TCPConn , error ) {
103+ patch . ApplyFunc (net .DialTCP , func (network string , laddr , raddr * net.TCPAddr ) (* net.TCPConn , error ) {
102104 assert .Equal (t , "fake_network" , network )
103105 assert .Nil (t , laddr )
104106 assert .Equal (t , TCPAddr , raddr )
105107 return TCPConn , nil
106108 })
107- monkey . PatchInstanceMethod (reflect .TypeOf (TCPConn ), "Write" , func (conn * net.TCPConn , b []byte ) (n int , err error ) {
109+ patch . ApplyMethod (reflect .TypeOf (TCPConn ), "Write" , func (conn * net.TCPConn , b []byte ) (n int , err error ) {
108110 assert .Equal (t , []byte (`{"version":"1.1","host":"my_fake_hostname","level":4,"timestamp":513216000.000,"short_message":"test message","full_message":"<warning> test message"}` + "\x00 " ), b )
109111 return 99 , nil
110112 })
111- monkey . Patch (time .Now , func () time.Time { return time .Unix (513216000 , 0 ) })
112- monkey . Patch (os .Hostname , func () (string , error ) { return "my_fake_hostname" , nil })
113- defer monkey . UnpatchAll ()
113+ patch . ApplyFunc (time .Now , func () time.Time { return time .Unix (513216000 , 0 ) })
114+ patch . ApplyFunc (os .Hostname , func () (string , error ) { return "my_fake_hostname" , nil })
115+ defer patch . Reset ()
114116
115117 h := handler .GelfTCP ("fake_network" , "fake_address" )
116118
@@ -122,33 +124,33 @@ func TestGelfUDP_Handle(t *testing.T) {
122124 var UDPAddr * net.UDPAddr
123125 var UDPConn * net.UDPConn
124126 var CompressWriter * writer.CompressWriter
125-
126- monkey . Patch (net .ResolveUDPAddr , func (network , address string ) (* net.UDPAddr , error ) {
127+ patch := gomonkey . NewPatches ()
128+ patch . ApplyFunc (net .ResolveUDPAddr , func (network , address string ) (* net.UDPAddr , error ) {
127129 assert .Equal (t , "fake_network" , network )
128130 assert .Equal (t , "fake_address" , address )
129131 return UDPAddr , nil
130132 })
131- monkey . Patch (net .DialUDP , func (network string , laddr , raddr * net.UDPAddr ) (* net.UDPConn , error ) {
133+ patch . ApplyFunc (net .DialUDP , func (network string , laddr , raddr * net.UDPAddr ) (* net.UDPConn , error ) {
132134 assert .Equal (t , "fake_network" , network )
133135 assert .Nil (t , laddr )
134136 assert .Equal (t , UDPAddr , raddr )
135137 return UDPConn , nil
136138 })
137- monkey . Patch (writer .NewCompressWriter , func (w io.Writer , options ... writer.CompressOption ) * writer.CompressWriter {
139+ patch . ApplyFunc (writer .NewCompressWriter , func (w io.Writer , options ... writer.CompressOption ) * writer.CompressWriter {
138140 assert .IsType (t , & writer.GelfChunkWriter {}, w , "writer passed to CompressWriter must be a GelfCompressWriter" )
139141 assert .Len (t , options , 2 )
140142 return CompressWriter
141143 })
142- monkey . PatchInstanceMethod (reflect .TypeOf (CompressWriter ), "Write" , func (w * writer.CompressWriter , p []byte ) (int , error ) {
144+ patch . ApplyMethod (reflect .TypeOf (CompressWriter ), "Write" , func (w * writer.CompressWriter , p []byte ) (int , error ) {
143145 assert .Equal (t , []byte (`{"version":"1.1","host":"` + osHostname + `","level":4,"timestamp":513216000.000,"short_message":"test message","full_message":"<warning> test message"}` + "\n " ), p )
144146 return 99 , nil
145147 })
146- monkey . PatchInstanceMethod (reflect .TypeOf (UDPConn ), "Write" , func (conn * net.UDPConn , b []byte ) (n int , err error ) {
148+ patch . ApplyMethod (reflect .TypeOf (UDPConn ), "Write" , func (conn * net.UDPConn , b []byte ) (n int , err error ) {
147149 assert .Equal (t , []byte (`{"version":"1.1","host":"` + osHostname + `","level":4,"timestamp":513216000.000,"short_message":"test message","full_message":"<warning> test message"}` + "\n " ), b )
148150 return 99 , nil
149151 })
150- monkey . Patch (time .Now , func () time.Time { return time .Unix (513216000 , 0 ) })
151- defer monkey . UnpatchAll ()
152+ patch . ApplyFunc (time .Now , func () time.Time { return time .Unix (513216000 , 0 ) })
153+ defer patch . Reset ()
152154
153155 h := handler .GelfUDP ("fake_network" , "fake_address" )
154156 assert .Nil (t , h (logger.Entry {Message : "test message" , Level : logger .WarningLevel , Context : nil }))
0 commit comments