7
7
"github.com/chapsuk/mserv"
8
8
"github.com/im-kulikov/helium/logger"
9
9
"github.com/im-kulikov/helium/module"
10
- . "github.com/smartystreets/goconvey/convey"
11
10
"github.com/spf13/viper"
11
+ "github.com/stretchr/testify/assert"
12
12
"go.uber.org/dig"
13
13
"go.uber.org/zap"
14
14
)
@@ -18,78 +18,100 @@ func testHTTPHandler() http.Handler {
18
18
}
19
19
20
20
func TestServers (t * testing.T ) {
21
- Convey ("Servers test suite" , t , func (c C ) {
22
- v := viper .New ()
23
- z := zap .L ()
24
- l := logger .NewStdLogger (z )
25
- di := dig .New ()
21
+ var (
22
+ z = zap .L ()
23
+ di = dig .New ()
24
+ v = viper .New ()
25
+ l = logger .NewStdLogger (z )
26
+ )
26
27
27
- c .Convey ("check pprof server" , func (c C ) {
28
- c .Convey ("without config" , func (c C ) {
29
- serve := NewPprofServer (v , l )
30
- c .So (serve .Server , ShouldBeNil )
31
- })
32
-
33
- c .Convey ("with config" , func (c C ) {
34
- v .SetDefault ("pprof.address" , ":6090" )
35
- serve := NewPprofServer (v , l )
36
- c .So (serve .Server , ShouldNotBeNil )
37
- })
28
+ t .Run ("check pprof server" , func (t * testing.T ) {
29
+ t .Run ("without config" , func (t * testing.T ) {
30
+ params := pprofParams {
31
+ Viper : v ,
32
+ Logger : l ,
33
+ Handler : newProfileHandler ().Handler ,
34
+ }
35
+ serve := newProfileServer (params )
36
+ assert .Nil (t , serve .Server )
38
37
})
39
38
40
- c .Convey ("check metrics server" , func (c C ) {
41
- c .Convey ("without config" , func (c C ) {
42
- serve := NewMetricsServer (v , l )
43
- c .So (serve .Server , ShouldBeNil )
44
- })
39
+ t .Run ("with config" , func (t * testing.T ) {
40
+ v .SetDefault ("pprof.address" , ":6090" )
41
+ params := pprofParams {
42
+ Viper : v ,
43
+ Logger : l ,
44
+ Handler : newProfileHandler ().Handler ,
45
+ }
46
+ serve := newProfileServer (params )
47
+ assert .NotNil (t , serve .Server )
48
+ })
49
+ })
45
50
46
- c .Convey ("with config" , func (c C ) {
47
- v .SetDefault ("metrics.address" , ":8090" )
48
- serve := NewMetricsServer (v , l )
49
- c .So (serve .Server , ShouldNotBeNil )
50
- })
51
+ t .Run ("check metrics server" , func (t * testing.T ) {
52
+ t .Run ("without config" , func (t * testing.T ) {
53
+ params := metricParams {
54
+ Viper : v ,
55
+ Logger : l ,
56
+ Handler : newMetricHandler ().Handler ,
57
+ }
58
+ serve := newMetricServer (params )
59
+ assert .Nil (t , serve .Server )
51
60
})
52
61
53
- c .Convey ("check api server" , func (c C ) {
54
- c .Convey ("without config" , func (c C ) {
55
- serve := NewAPIServer (v , l , nil )
56
- c .So (serve .Server , ShouldBeNil )
57
- })
62
+ t .Run ("with config" , func (t * testing.T ) {
63
+ v .SetDefault ("metrics.address" , ":8090" )
64
+ params := metricParams {
65
+ Viper : v ,
66
+ Logger : l ,
67
+ Handler : newMetricHandler ().Handler ,
68
+ }
69
+ serve := newMetricServer (params )
70
+ assert .NotNil (t , serve .Server )
71
+ })
72
+ })
58
73
59
- c . Convey ( "without handler " , func (c C ) {
60
- v . SetDefault ( "api.address " , ":8090" )
61
- serve := NewAPIServer (v , l , nil )
62
- c . So ( serve .Server , ShouldBeNil )
63
- })
74
+ t . Run ( "check api server " , func (t * testing. T ) {
75
+ t . Run ( "without config " , func ( t * testing. T ) {
76
+ serve := NewAPIServer (v , l , nil )
77
+ assert . Nil ( t , serve .Server )
78
+ })
64
79
65
- c .Convey ("should be ok" , func (c C ) {
66
- v .SetDefault ("api.address" , ":8090" )
67
- serve := NewAPIServer (v , l , testHTTPHandler ())
68
- c .So (serve .Server , ShouldNotBeNil )
69
- })
80
+ t .Run ("without handler" , func (t * testing.T ) {
81
+ v .SetDefault ("api.address" , ":8090" )
82
+ serve := NewAPIServer (v , l , nil )
83
+ assert .Nil (t , serve .Server )
70
84
})
71
85
72
- c .Convey ("check multi server" , func (c C ) {
73
- v .SetDefault ("pprof.address" , ":6090" )
74
- v .SetDefault ("metrics.address" , ":8090" )
86
+ t .Run ("should be ok" , func (t * testing.T ) {
75
87
v .SetDefault ("api.address" , ":8090" )
88
+ serve := NewAPIServer (v , l , testHTTPHandler ())
89
+ assert .NotNil (t , serve .Server )
90
+ })
91
+ })
76
92
77
- mod := module.Module {
78
- {Constructor : NewPprofServer },
79
- {Constructor : NewMetricsServer },
80
- {Constructor : NewAPIServer },
81
- {Constructor : NewMultiServer },
82
- {Constructor : func () * viper.Viper { return v }},
83
- {Constructor : func () logger.StdLogger { return l }},
84
- {Constructor : func () http.Handler { return testHTTPHandler () }},
85
- }
93
+ t .Run ("check multi server" , func (t * testing.T ) {
94
+ v .SetDefault ("pprof.address" , ":6090" )
95
+ v .SetDefault ("metrics.address" , ":8090" )
96
+ v .SetDefault ("api.address" , ":8090" )
97
+
98
+ mod := module.Module {
99
+ {Constructor : newProfileHandler },
100
+ {Constructor : newProfileServer },
101
+ {Constructor : newMetricHandler },
102
+ {Constructor : newMetricServer },
103
+ {Constructor : NewAPIServer },
104
+ {Constructor : NewMultiServer },
105
+ {Constructor : func () * viper.Viper { return v }},
106
+ {Constructor : func () logger.StdLogger { return l }},
107
+ {Constructor : func () http.Handler { return testHTTPHandler () }},
108
+ }
86
109
87
- err := module .Provide (di , mod )
88
- c .So (err , ShouldBeNil )
89
- err = di .Invoke (func (serve mserv.Server ) {
90
- c .So (serve , ShouldHaveSameTypeAs , & mserv.MultiServer {})
91
- })
92
- c .So (err , ShouldBeNil )
110
+ err := module .Provide (di , mod )
111
+ assert .NoError (t , err )
112
+ err = di .Invoke (func (serve mserv.Server ) {
113
+ assert .IsType (t , & mserv.MultiServer {}, serve )
93
114
})
115
+ assert .NoError (t , err )
94
116
})
95
117
}
0 commit comments