func aMockedService() (*Service, store.KVStore, store.MessageStore, *MockMessageSink, *MockPubSubSource) { kvStore := store.NewMemoryKVStore() messageStore := store.NewDummyMessageStore() messageSink := NewMockMessageSink(ctrl) pubSubSource := NewMockPubSubSource(ctrl) return NewService("localhost:0", kvStore, messageStore, messageSink, pubSubSource, NewAllowAllAccessManager(true)), kvStore, messageStore, messageSink, pubSubSource }
return store.NewMemoryKVStore() case "file": db := store.NewSqliteKVStore(path.Join(args.StoragePath, "kv-store.db"), true) if err := db.Open(); err != nil { panic(err) } return db default: panic(fmt.Errorf("unknown key value backend: %q", args.KVBackend)) } } var CreateMessageStoreBackend = func(args Args) store.MessageStore { switch args.MSBackend { case "none", "": return store.NewDummyMessageStore() case "file": guble.Info("using FileMessageStore in directory: %q", args.StoragePath) testfile := path.Join(args.StoragePath, "testfile") f, err := os.Create(testfile) if err != nil { panic(fmt.Errorf("directory for message store not present/writeable %q: %v", args.StoragePath, err)) } f.Close() os.Remove(testfile) return store.NewFileMessageStore(args.StoragePath) default: panic(fmt.Errorf("unknown message store backend: %q", args.MSBackend)) } }
return store.NewMemoryKVStore() case "file": db := store.NewSqliteKVStore(path.Join(*config.StoragePath, "kv-store.db"), true) if err := db.Open(); err != nil { logger.WithField("err", err).Panic("Could not open database connection") } return db default: panic(fmt.Errorf("Unknown key-value backend: %q", *config.KVS)) } } var CreateMessageStore = func() store.MessageStore { switch *config.MS { case "none", "": return store.NewDummyMessageStore(store.NewMemoryKVStore()) case "file": logger.WithField("storagePath", *config.StoragePath).Info("Using FileMessageStore in directory") return store.NewFileMessageStore(*config.StoragePath) default: panic(fmt.Errorf("Unknown message-store backend: %q", *config.MS)) } } var CreateModules = func(router server.Router) []interface{} { modules := make([]interface{}, 0, 3) if wsHandler, err := websocket.NewWSHandler(router, "/stream/"); err != nil { logger.WithField("err", err).Error("Error loading WSHandler module:") } else {