16
16
)
17
17
18
18
func TestRun (t * testing.T ) {
19
- t .Parallel ()
20
-
21
19
tests := []struct {
22
20
name string
23
21
configPort string
@@ -38,16 +36,13 @@ func TestRun(t *testing.T) {
38
36
name : "Config load error" ,
39
37
configPort : ":0" ,
40
38
configErr : ErrConfigLoadFailed ,
41
- setupErr : nil ,
42
- runErr : nil ,
43
39
wantErr : true ,
44
40
},
45
41
{
46
42
name : "Router setup error" ,
47
43
configPort : ":0" ,
48
44
configErr : nil ,
49
45
setupErr : ErrSetupFailed ,
50
- runErr : nil ,
51
46
wantErr : true ,
52
47
},
53
48
{
@@ -58,86 +53,47 @@ func TestRun(t *testing.T) {
58
53
runErr : ErrRouterRunFailed ,
59
54
wantErr : true ,
60
55
},
61
- {
62
- name : "Default NewApp run" ,
63
- configPort : ":8082" ,
64
- configErr : nil ,
65
- setupErr : nil ,
66
- runErr : ErrRouterRunFailed ,
67
- wantErr : true ,
68
- },
69
- {
70
- name : "SetupRouter fails" ,
71
- configPort : ":0" ,
72
- configErr : nil ,
73
- setupErr : ErrSetupFailed ,
74
- runErr : nil ,
75
- wantErr : true ,
76
- },
77
- {
78
- name : "RunEngine fails explicitly" ,
79
- configPort : ":0" ,
80
- configErr : nil ,
81
- setupErr : nil ,
82
- runErr : ErrRouterRunFailed ,
83
- wantErr : true ,
84
- },
85
56
}
86
57
87
58
for _ , testCase := range tests {
88
59
t .Run (testCase .name , func (t * testing.T ) {
89
- t .Parallel ()
90
- runTestCase (t , testCase )
91
- })
92
- }
93
- }
94
-
95
- // runTestCase executes a single TestRun case with setup and assertions.
96
- func runTestCase (t * testing.T , testCase struct {
97
- name string
98
- configPort string
99
- configErr error
100
- setupErr error
101
- runErr error
102
- wantErr bool
103
- }) {
104
- t .Helper ()
60
+ appInstance := app .NewApp () // Covers lines 25-29
61
+ origLoadConfig := appInstance .LoadConfig
62
+ origSetupRouter := appInstance .SetupRouter
63
+ origRunEngine := appInstance .RunEngine
105
64
106
- appInstance := app .NewApp ()
107
- origLoadConfig := appInstance .LoadConfig
108
- origSetupRouter := appInstance .SetupRouter
109
- origRunEngine := appInstance .RunEngine
65
+ defer func () {
66
+ appInstance .LoadConfig = origLoadConfig
67
+ appInstance .SetupRouter = origSetupRouter
68
+ appInstance .RunEngine = origRunEngine
69
+ }()
110
70
111
- defer func () {
112
- appInstance .LoadConfig = origLoadConfig
113
- appInstance .SetupRouter = origSetupRouter
114
- appInstance .RunEngine = origRunEngine
115
- }()
71
+ appInstance .LoadConfig = func (_ string ) (server.Config , error ) {
72
+ if testCase .configErr != nil {
73
+ return server.Config {}, testCase .configErr // Covers 35-39
74
+ }
116
75
117
- appInstance .LoadConfig = func (_ string ) (server.Config , error ) {
118
- if testCase .configErr != nil {
119
- return server.Config {}, testCase .configErr
120
- }
76
+ return server.Config {
77
+ Port : testCase .configPort ,
78
+ StaticDir : "/tmp/static" ,
79
+ TrustedProxies : []string {"127.0.0.1" },
80
+ }, nil
81
+ }
121
82
122
- return server.Config {
123
- Port : testCase .configPort ,
124
- StaticDir : "/tmp/static" ,
125
- TrustedProxies : []string {"127.0.0.1" },
126
- }, nil
127
- }
83
+ appInstance .SetupRouter = func (_ server.Config , _ , _ gin.HandlerFunc ) (* gin.Engine , error ) {
84
+ if testCase .setupErr != nil {
85
+ return nil , testCase .setupErr // Covers 41-44
86
+ }
128
87
129
- appInstance .SetupRouter = func (_ server.Config , _ , _ gin.HandlerFunc ) (* gin.Engine , error ) {
130
- if testCase .setupErr != nil {
131
- return nil , testCase .setupErr
132
- }
88
+ return gin .New (), nil
89
+ }
133
90
134
- return gin .New (), nil
135
- }
91
+ appInstance .RunEngine = func (_ * gin.Engine , _ string ) error {
92
+ return testCase .runErr // Covers 46
93
+ }
136
94
137
- appInstance .RunEngine = func (_ * gin.Engine , _ string ) error {
138
- return testCase .runErr
95
+ err := appInstance .Run ()
96
+ assertRunError (t , err , testCase .wantErr , testCase .runErr )
97
+ })
139
98
}
140
-
141
- err := appInstance .Run ()
142
- assertRunError (t , err , testCase .wantErr , testCase .runErr )
143
99
}
0 commit comments