func main() { runner.Run(os.Args[1:], func() { plugin.RegisterMultiBackendAdapterFactory("handle-things", adapter.HandleThingsFactory) plugin.RegisterWrapperFactory("SessionId", session.NewSessionWrapper) plugin.RegisterWrapperFactory("Timing", timing.NewTimingWrapper) plugin.RegisterWrapperFactory("Recovery", recovery.NewRecoveryWrapper) }) }
func registerPlugins() { log.Info("Register plugins") log.Info("Registering logging wrapper plugin factory") err := plugin.RegisterWrapperFactory("Logging", logging.NewLoggingWrapper) if err != nil { log.Warn("Error registering logging wrapper plugin factory") } log.Info("logging wrapper plugin registered") plugin.RegisterWrapperFactory("Timing", timing.NewTimingWrapper) plugin.RegisterWrapperFactory("Recovery", recovery.NewRecoveryWrapper) log.Info("Plugins registered") }
func testMakeListPlugins(faultyStore bool, withPlugin bool) (*bytes.Buffer, *PluginList) { var kvs, _ = kvstore.NewHashKVStore("") if faultyStore { kvs.InjectFaults() } var writer = new(bytes.Buffer) var ui = &cli.BasicUi{Writer: writer, ErrorWriter: writer} var listPlugins = &PluginList{ UI: ui, KVStore: kvs, } if withPlugin { plugin.RegisterWrapperFactory("AWrapper", NewAWrapper) } return writer, listPlugins }
func TestServerFactory(t *testing.T) { plugin.RegisterWrapperFactory("Logging", logging.NewLoggingWrapper) var testKVS = initKVStore(t) service, err := BuildServiceForListener("listener", "0.0.0.0:8000", testKVS) assert.Nil(t, err) s := fmt.Sprintf("%s", service) println(s) assert.True(t, strings.Contains(s, "route1")) assert.True(t, strings.Contains(s, "hello-backend")) assert.True(t, strings.Contains(s, "listener")) assert.True(t, strings.Contains(s, "0.0.0.0:8000")) ms, ok := service.(*managedService) assert.True(t, ok) hch := ms.HealthCheckContext.HealthHandler() assert.NotNil(t, hch) ts := httptest.NewServer(hch) defer ts.Close() res, err := http.Get(ts.URL) assert.Nil(t, err) respbytes, _ := ioutil.ReadAll(res.Body) res.Body.Close() var health HealthResponse err = json.Unmarshal(respbytes, &health) assert.Nil(t, err) assert.Equal(t, "listener", health.ListenerName) assert.Equal(t, 1, len(health.Routes)) assert.Equal(t, "route1", health.Routes[0].Name) assert.True(t, health.Routes[0].Up) assert.Equal(t, 1, len(health.Routes[0].Backends)) assert.Equal(t, "hello-backend", health.Routes[0].Backends[0].Name) assert.Equal(t, 2, len(health.Routes[0].Backends[0].HealthyDependencies)) assert.Equal(t, "localhost:3000", health.Routes[0].Backends[0].HealthyDependencies[0]) assert.Equal(t, "localhost:3100", health.Routes[0].Backends[0].HealthyDependencies[1]) assert.Equal(t, true, health.Routes[0].Backends[0].Up) assert.Equal(t, 0, len(health.Routes[0].Backends[0].UnhealthyDependencies)) }
func loadRouteWithNoBackends(kvs kvstore.KVStore, t *testing.T) { plugin.RegisterWrapperFactory("Logging", logging.NewLoggingWrapper) ln := &ListenerConfig{"l2", []string{"r2"}} err := ln.Store(kvs) if err != nil { t.Fatal(err) } r := &RouteConfig{ Name: "r3", URIRoot: "/hello", Backends: []string{}, Plugins: []string{"Logging"}, MsgProps: "", MultiBackendAdapter: "test-plugin", } err = r.Store(kvs) if err != nil { t.Fatal(err) } }
func registerLoggingPlugin() { plugin.RegisterWrapperFactory("Logging", logging.NewLoggingWrapper) }