@@ -33,6 +33,10 @@ import (
3333)
3434
3535func TestReloader (t * testing.T ) {
36+ oldRegistry := reload .RegisterV2
37+ defer func () { reload .RegisterV2 = oldRegistry }()
38+ reload .RegisterV2 = reload .NewRegistry ()
39+
3640 type runner struct {
3741 running chan struct {}
3842 stopped chan struct {}
@@ -55,9 +59,7 @@ func TestReloader(t *testing.T) {
5559 panic ("unreachable" )
5660 }
5761
58- registry := reload .NewRegistry ()
59-
60- reloader , err := NewReloader (beat.Info {}, registry , func (args RunnerParams ) (Runner , error ) {
62+ reloader , err := NewReloader (beat.Info {}, func (args RunnerParams ) (Runner , error ) {
6163 if shouldError , _ := args .Config .Bool ("error" , - 1 ); shouldError {
6264 return nil , errors .New ("no runner for you" )
6365 }
@@ -84,29 +86,29 @@ func TestReloader(t *testing.T) {
8486 // No reload until there's input, output, apm tracing configuration.
8587 assertNoReload ()
8688
87- err = registry .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
89+ err = reload . RegisterV2 .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
8890 Config : config .MustNewConfigFrom (`{}` ),
8991 }})
9092 assert .EqualError (t , err , "failed to extract input config revision: missing field accessing 'revision'" )
9193 assertNoReload ()
9294
93- err = registry .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
95+ err = reload . RegisterV2 .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
9496 Config : config .MustNewConfigFrom (`{"revision": 1}` ),
9597 }})
9698 assert .NoError (t , err )
9799 assertNoReload ()
98100
99- err = registry .GetReloadableOutput ().Reload (& reload.ConfigWithMeta {
101+ err = reload . RegisterV2 .GetReloadableOutput ().Reload (& reload.ConfigWithMeta {
100102 Config : config .MustNewConfigFrom (`{}` ),
101103 })
102104 assert .NoError (t , err )
103105 assertNoReload () // an output must be set
104106
105- err = registry .GetReloadableAPM ().Reload (nil )
107+ err = reload . RegisterV2 .GetReloadableAPM ().Reload (nil )
106108 assert .NoError (t , err )
107109 assertNoReload ()
108110
109- err = registry .GetReloadableOutput ().Reload (& reload.ConfigWithMeta {
111+ err = reload . RegisterV2 .GetReloadableOutput ().Reload (& reload.ConfigWithMeta {
110112 Config : config .MustNewConfigFrom (`{"console.enabled": true}` ),
111113 })
112114 assert .NoError (t , err )
@@ -116,14 +118,14 @@ func TestReloader(t *testing.T) {
116118 expectEvent (t , r1 .running , "runner should have been started" )
117119 expectNoEvent (t , r1 .stopped , "runner should not have been stopped" )
118120
119- err = registry .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
121+ err = reload . RegisterV2 .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
120122 Config : config .MustNewConfigFrom (`{"revision": 2, "error": true}` ),
121123 }})
122124 assert .EqualError (t , err , "failed to load input config: no runner for you" )
123125 assertNoReload () // error occurred during reload, nothing changes
124126 expectNoEvent (t , r1 .stopped , "runner should not have been stopped" )
125127
126- err = registry .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
128+ err = reload . RegisterV2 .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
127129 Config : config .MustNewConfigFrom (`{"revision": 3}` ),
128130 }})
129131 assert .NoError (t , err )
@@ -132,7 +134,7 @@ func TestReloader(t *testing.T) {
132134 expectEvent (t , r2 .running , "new runner should have been started" )
133135 expectNoEvent (t , r2 .stopped , "new runner should not have been stopped" )
134136
135- err = registry .GetReloadableAPM ().Reload (& reload.ConfigWithMeta {
137+ err = reload . RegisterV2 .GetReloadableAPM ().Reload (& reload.ConfigWithMeta {
136138 Config : config .MustNewConfigFrom (`{"elastic.enabled": true, "elastic.api_key": "boo"}` ),
137139 })
138140 assert .NoError (t , err )
@@ -146,11 +148,13 @@ func TestReloader(t *testing.T) {
146148}
147149
148150func TestReloaderNewRunnerParams (t * testing.T ) {
149- registry := reload .NewRegistry ()
151+ oldRegistry := reload .RegisterV2
152+ defer func () { reload .RegisterV2 = oldRegistry }()
153+ reload .RegisterV2 = reload .NewRegistry ()
150154
151155 calls := make (chan RunnerParams , 1 )
152156 info := beat.Info {Beat : "not-apm-server" , Version : "0.0.1" }
153- reloader , err := NewReloader (info , registry , func (args RunnerParams ) (Runner , error ) {
157+ reloader , err := NewReloader (info , func (args RunnerParams ) (Runner , error ) {
154158 calls <- args
155159 return runnerFunc (func (ctx context.Context ) error {
156160 <- ctx .Done ()
@@ -165,18 +169,18 @@ func TestReloaderNewRunnerParams(t *testing.T) {
165169 defer func () { assert .NoError (t , g .Wait ()) }()
166170 defer cancel ()
167171
168- registry .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
172+ reload . RegisterV2 .GetInputList ().Reload ([]* reload.ConfigWithMeta {{
169173 Config : config .MustNewConfigFrom (`{"revision": 1, "input": 123}` ),
170174 }})
171175
172176 // reloader will wait until input and output are available.
173177 // triggering APM reload before output reload will let the params to contain
174178 // the apm tracing config too in this test setup
175- registry .GetReloadableAPM ().Reload (& reload.ConfigWithMeta {
179+ reload . RegisterV2 .GetReloadableAPM ().Reload (& reload.ConfigWithMeta {
176180 Config : config .MustNewConfigFrom (`{"elastic.environment": "test"}` ),
177181 })
178182
179- registry .GetReloadableOutput ().Reload (& reload.ConfigWithMeta {
183+ reload . RegisterV2 .GetReloadableOutput ().Reload (& reload.ConfigWithMeta {
180184 Config : config .MustNewConfigFrom (`{"console.enabled": true}` ),
181185 })
182186 args := <- calls
0 commit comments