@@ -17,52 +17,49 @@ limitations under the License.
1717package cmd
1818
1919import (
20- "os"
21- "os/signal"
22- "syscall"
23-
24- "github.com/linuxsuren/api-testing/pkg/mock"
25- "github.com/spf13/cobra"
20+ "github.com/linuxsuren/api-testing/pkg/mock"
21+ "github.com/spf13/cobra"
22+ "os"
23+ "os/signal"
24+ "syscall"
2625)
2726
2827func createMockComposeCmd () (c * cobra.Command ) {
29- c = & cobra.Command {
30- Use : "mock-compose" ,
31- Short : "Mock multiple servers" ,
32- Args : cobra .ExactArgs (1 ),
33- RunE : func (cmd * cobra.Command , args []string ) (err error ) {
34- reader := mock .NewLocalFileReader (args [0 ])
28+ c = & cobra.Command {
29+ Use : "mock-compose" ,
30+ Short : "Mock multiple servers" ,
31+ Args : cobra .ExactArgs (1 ),
32+ RunE : func (cmd * cobra.Command , args []string ) (err error ) {
33+ reader := mock .NewLocalFileReader (args [0 ])
3534
36- var server * mock.Server
37- if server , err = reader .Parse (); err != nil {
38- return
39- }
35+ var server * mock.Server
36+ if server , err = reader .Parse (); err != nil {
37+ return
38+ }
4039
41- var subServers []mock.DynamicServer
42- for _ , proxy := range server .Proxies {
43- subProxy := & mock.Server {
44- Proxies : []mock.Proxy {proxy },
45- }
40+ var subServers []mock.DynamicServer
41+ for _ , proxy := range server .Proxies {
42+ subProxy := & mock.Server {
43+ Proxies : []mock.Proxy {proxy },
44+ }
4645
47- subReader := mock .NewObjectReader (subProxy )
48- subServer := mock .NewInMemoryServer (c .Context (), proxy .Port )
49- if err = subServer .Start (subReader , proxy .Prefix ); err != nil {
50- return
51- }
52- subServers = append (subServers , subServer )
53- }
46+ subReader := mock .NewObjectReader (subProxy )
47+ subServer := mock .NewInMemoryServer (c .Context (), proxy .Port )
48+ go subServer .Start (subReader , proxy .Prefix )
49+ subServers = append (subServers , subServer )
50+ }
5451
55- clean := make (chan os.Signal , 1 )
56- signal .Notify (clean , syscall .SIGINT , syscall .SIGTERM , syscall .SIGHUP , syscall .SIGQUIT )
57- select {
58- case <- c .Context ().Done ():
59- case <- clean :
60- }
61- for _ , server := range subServers {
62- server .Stop ()
63- }
64- return
65- },
66- }
67- return
52+ clean := make (chan os.Signal , 1 )
53+ signal .Notify (clean , syscall .SIGINT , syscall .SIGTERM , syscall .SIGHUP , syscall .SIGQUIT )
54+ select {
55+ case <- c .Context ().Done ():
56+ case <- clean :
57+ }
58+ for _ , server := range subServers {
59+ server .Stop ()
60+ }
61+ return
62+ },
63+ }
64+ return
6865}
0 commit comments