diff --git a/event/event_cache_test.go b/event/event_cache_test.go index 73e79d95ece836ebf67d6d8dd8d874ce94b8fd6c..38f57a0484e455f562a76696d87e8e93d8acc3b0 100644 --- a/event/event_cache_test.go +++ b/event/event_cache_test.go @@ -9,7 +9,7 @@ import ( "github.com/eris-ltd/eris-db/txs" "github.com/stretchr/testify/assert" - "github.com/tendermint/go-events" + evts "github.com/tendermint/go-events" ) var mockInterval = 10 * time.Millisecond @@ -17,13 +17,13 @@ var mockInterval = 10 * time.Millisecond type mockSub struct { subId string eventId string - f func(events.EventData) + f func(evts.EventData) shutdown bool sdChan chan struct{} } // A mock event -func newMockSub(subId, eventId string, f func(events.EventData)) mockSub { +func newMockSub(subId, eventId string, f func(evts.EventData)) mockSub { return mockSub{subId, eventId, f, false, make(chan struct{})} } @@ -35,7 +35,7 @@ func newMockEventEmitter() *mockEventEmitter { return &mockEventEmitter{make(map[string]mockSub)} } -func (this *mockEventEmitter) Subscribe(subId, eventId string, callback func(events.EventData)) (bool, error) { +func (this *mockEventEmitter) Subscribe(subId, eventId string, callback func(evts.EventData)) (bool, error) { if _, ok := this.subs[subId]; ok { return false, nil } diff --git a/server/config.go b/server/config.go index ac5734fe0499b9331cea9035b0cb4c53fb7673b1..c665073de4e5fc25029f9fb6ccd5f5d9285d1b40 100644 --- a/server/config.go +++ b/server/config.go @@ -158,3 +158,33 @@ func ReadServerConfig(viper *viper.Viper) (*ServerConfig, error) { }, }, nil } + +// NOTE: [ben] only preserved for /test/server tests; but should not be used and +// will be deprecated. +func DefaultServerConfig() *ServerConfig { + cp := "" + kp := "" + return &ServerConfig{ + Bind: Bind{ + Address: "", + Port: 1337, + }, + TLS: TLS{TLS: false, + CertPath: cp, + KeyPath: kp, + }, + CORS: CORS{}, + HTTP: HTTP{JsonRpcEndpoint: "/rpc"}, + WebSocket: WebSocket{ + WebSocketEndpoint: "/socketrpc", + MaxWebSocketSessions: 50, + ReadBufferSize: 4096, + WriteBufferSize: 4096, + }, + Logging: Logging{ + ConsoleLogLevel: "info", + FileLogLevel: "warn", + LogFile: "", + }, + } +} diff --git a/test/filters/filter_test.go b/test/filters/filter_test.go index 98404ca9ad4f6e233090bfdb60d2a5d2e68666ee..ff57650149d36642806ae17c447c1fb0b594d572 100644 --- a/test/filters/filter_test.go +++ b/test/filters/filter_test.go @@ -5,7 +5,6 @@ import ( "sync" "testing" - . "github.com/eris-ltd/eris-db/manager/eris-mint" event "github.com/eris-ltd/eris-db/event" "github.com/stretchr/testify/suite" ) @@ -25,12 +24,12 @@ type IntegerFilter struct { match func(int64, int64) bool } -func (this *IntegerFilter) Configure(fd *FilterData) error { - val, err := ParseNumberValue(fd.Value) +func (this *IntegerFilter) Configure(fd *event.FilterData) error { + val, err := event.ParseNumberValue(fd.Value) if err != nil { return err } - match, err2 := GetRangeFilter(fd.Op, "integer") + match, err2 := event.GetRangeFilter(fd.Op, "integer") if err2 != nil { return err2 } @@ -56,8 +55,8 @@ type StringFilter struct { match func(string, string) bool } -func (this *StringFilter) Configure(fd *FilterData) error { - match, err := GetStringFilter(fd.Op, "string") +func (this *StringFilter) Configure(fd *event.FilterData) error { + match, err := event.GetStringFilter(fd.Op, "string") if err != nil { return err } @@ -78,7 +77,7 @@ func (this *StringFilter) Match(v interface{}) bool { // Test suite type FilterSuite struct { suite.Suite - objects []event.FilterableObject + objects []FilterableObject filterFactory *event.FilterFactory } @@ -89,7 +88,7 @@ func (this *FilterSuite) SetupSuite() { objects[i] = FilterableObject{i, fmt.Sprintf("string%d", i)} } - ff := NewFilterFactory() + ff := event.NewFilterFactory() ff.RegisterFilterPool("integer", &sync.Pool{ New: func() interface{} { @@ -114,8 +113,8 @@ func (this *FilterSuite) TearDownSuite() { // ********************************************* Tests ********************************************* func (this *FilterSuite) Test_FilterIntegersEquals() { - fd := &FilterData{"integer", "==", "5"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"integer", "==", "5"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -128,8 +127,8 @@ func (this *FilterSuite) Test_FilterIntegersEquals() { } func (this *FilterSuite) Test_FilterIntegersLT() { - fd := &FilterData{"integer", "<", "5"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"integer", "<", "5"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -141,8 +140,8 @@ func (this *FilterSuite) Test_FilterIntegersLT() { } func (this *FilterSuite) Test_FilterIntegersLTEQ() { - fd := &FilterData{"integer", "<=", "10"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"integer", "<=", "10"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -154,8 +153,8 @@ func (this *FilterSuite) Test_FilterIntegersLTEQ() { } func (this *FilterSuite) Test_FilterIntegersGT() { - fd := &FilterData{"integer", ">", "50"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"integer", ">", "50"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -167,9 +166,9 @@ func (this *FilterSuite) Test_FilterIntegersGT() { } func (this *FilterSuite) Test_FilterIntegersRange() { - fd0 := &FilterData{"integer", ">", "5"} - fd1 := &FilterData{"integer", "<", "38"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd0, fd1}) + fd0 := &event.FilterData{"integer", ">", "5"} + fd1 := &event.FilterData{"integer", "<", "38"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd0, fd1}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -181,8 +180,8 @@ func (this *FilterSuite) Test_FilterIntegersRange() { } func (this *FilterSuite) Test_FilterIntegersGTEQ() { - fd := &FilterData{"integer", ">=", "77"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"integer", ">=", "77"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -194,8 +193,8 @@ func (this *FilterSuite) Test_FilterIntegersGTEQ() { } func (this *FilterSuite) Test_FilterIntegersNEQ() { - fd := &FilterData{"integer", "!=", "50"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"integer", "!=", "50"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -210,8 +209,8 @@ func (this *FilterSuite) Test_FilterIntegersNEQ() { } func (this *FilterSuite) Test_FilterStringEquals() { - fd := &FilterData{"string", "==", "string7"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"string", "==", "string7"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} for _, o := range this.objects { @@ -223,8 +222,8 @@ func (this *FilterSuite) Test_FilterStringEquals() { } func (this *FilterSuite) Test_FilterStringNEQ() { - fd := &FilterData{"string", "!=", "string50"} - filter, err := this.filterFactory.NewFilter([]*FilterData{fd}) + fd := &event.FilterData{"string", "!=", "string50"} + filter, err := this.filterFactory.NewFilter([]*event.FilterData{fd}) this.NoError(err) arr := []FilterableObject{} diff --git a/test/mock/mock_web_api_test.go b/test/mock/mock_web_api_test.go index 9b1aad9b5aac0e083a410077be3428eca1fc5448..fc4d9c69b15bc7e35b8d56b6397b5e99f53677b9 100644 --- a/test/mock/mock_web_api_test.go +++ b/test/mock/mock_web_api_test.go @@ -10,7 +10,6 @@ import ( "testing" "github.com/eris-ltd/eris-db/account" - "github.com/eris-ltd/eris-db/config" core "github.com/eris-ltd/eris-db/core" core_types "github.com/eris-ltd/eris-db/core/types" "github.com/eris-ltd/eris-db/rpc" @@ -50,10 +49,10 @@ func (this *MockSuite) SetupSuite() { evtSubs := core.NewEventSubscriptions(pipe.Events()) // The server restServer := core.NewRestServer(codec, pipe, evtSubs) - sConf := config.DefaultServerConfig() + sConf := server.DefaultServerConfig() sConf.Bind.Port = 31402 // Create a server process. - proc := server.NewServeProcess(&sConf, restServer) + proc := server.NewServeProcess(sConf, restServer) err := proc.Start() if err != nil { panic(err) diff --git a/test/server/http_burst_test.go b/test/server/http_burst_test.go index 2ac5dbcc09a8201c2bde87e2f2114587205408ff..c2a1e89d501c6c0f5bfeb7fc3f03597d2f07330d 100644 --- a/test/server/http_burst_test.go +++ b/test/server/http_burst_test.go @@ -14,7 +14,8 @@ const ( // Send a burst of GET messages to the server. func TestHttpFlooding(t *testing.T) { - serveProcess := NewServeScumbag() + serveProcess, err := NewServeScumbag() + assert.NoError(t, err, "Error creating new Server") errSS := serveProcess.Start() assert.NoError(t, errSS, "Scumbag-ed!") t.Logf("Flooding http requests.") diff --git a/test/server/scumbag.go b/test/server/scumbag.go index 85851099ae83c99de111f71df8fc8fe3452a4e5a..907e198fa00c81bb0f822f60ecca75548695f656 100644 --- a/test/server/scumbag.go +++ b/test/server/scumbag.go @@ -5,8 +5,7 @@ import ( "os" "runtime" - "github.com/eris-ltd/eris-db/config" - "github.com/eris-ltd/eris-db/rpc" + rpc_tendermint "github.com/eris-ltd/eris-db/rpc/tendermint" "github.com/eris-ltd/eris-db/server" "github.com/gin-gonic/gin" "github.com/tendermint/log15" @@ -29,7 +28,7 @@ func NewScumbagServer() server.Server { return &ScumbagServer{} } -func (this *ScumbagServer) Start(sc *config.ServerConfig, g *gin.Engine) { +func (this *ScumbagServer) Start(sc *server.ServerConfig, g *gin.Engine) { g.GET("/scumbag", func(c *gin.Context) { c.String(200, "Scumbag") }) @@ -47,25 +46,26 @@ func (this *ScumbagServer) ShutDown() { type ScumSocketService struct{} func (this *ScumSocketService) Process(data []byte, session *server.WSSession) { - resp := rpc.NewRPCResponse("1", "Scumbag") + resp := rpc_tendermint.NewRPCResponse("1", "Scumbag") bts, _ := json.Marshal(resp) session.Write(bts) } -func NewScumsocketServer(maxConnections uint) *server.WebSocketServer { +func NewScumsocketServer(maxConnections uint16) *server.WebSocketServer { sss := &ScumSocketService{} return server.NewWebSocketServer(maxConnections, sss) } -func NewServeScumbag() *server.ServeProcess { - cfg := config.DefaultServerConfig() +func NewServeScumbag() (*server.ServeProcess, error) { + cfg := server.DefaultServerConfig() cfg.Bind.Port = uint16(31400) - return server.NewServeProcess(&cfg, NewScumbagServer()) + return server.NewServeProcess(cfg, NewScumbagServer()) } -func NewServeScumSocket(wsServer *server.WebSocketServer) *server.ServeProcess { - cfg := config.DefaultServerConfig() +func NewServeScumSocket(wsServer *server.WebSocketServer) (*server.ServeProcess, + error) { + cfg := server.DefaultServerConfig() cfg.WebSocket.WebSocketEndpoint = "/scumsocket" cfg.Bind.Port = uint16(31401) - return server.NewServeProcess(&cfg, wsServer) + return server.NewServeProcess(cfg, wsServer) } diff --git a/test/server/ws_burst_test.go b/test/server/ws_burst_test.go index 455f3d47de7d9ce61424f5df1066cdf44f7b4dff..d7d656c9c2261fa6d23c2da4182101bb33456d20 100644 --- a/test/server/ws_burst_test.go +++ b/test/server/ws_burst_test.go @@ -8,7 +8,7 @@ import ( "time" ) -const CONNS = 100 +const CONNS uint16 = 100 const MESSAGES = 1000 // To keep track of new websocket sessions on the server. @@ -52,7 +52,8 @@ func TestWsFlooding(t *testing.T) { sc.Run(oChan, cChan) - serveProcess := NewServeScumSocket(wsServer) + serveProcess, err := NewServeScumSocket(wsServer) + assert.NoError(t, err, "Failed to serve new websocket.") errServe := serveProcess.Start() assert.NoError(t, errServe, "ScumSocketed!") t.Logf("Flooding...") @@ -72,10 +73,10 @@ func TestWsFlooding(t *testing.T) { func runWs() error { doneChan := make(chan bool) errChan := make(chan error) - for i := 0; i < CONNS; i++ { + for i := uint16(0); i < CONNS; i++ { go wsClient(doneChan, errChan) } - runners := 0 + runners := uint16(0) for runners < CONNS { select { case _ = <-doneChan: diff --git a/test/testdata/testdata/testdata.go b/test/testdata/testdata/testdata.go index 29e906130850c2096e3cdc06341d7dab99661b30..39d24603173723ddb307eb4c008a486dbf6744ff 100644 --- a/test/testdata/testdata/testdata.go +++ b/test/testdata/testdata/testdata.go @@ -1,11 +1,12 @@ package testdata import ( - "github.com/eris-ltd/eris-db/account" - core "github.com/eris-ltd/eris-db/core" + account "github.com/eris-ltd/eris-db/account" core_types "github.com/eris-ltd/eris-db/core/types" - stypes "github.com/eris-ltd/eris-db/manager/eris-mint/state/types" - types "github.com/eris-ltd/eris-db/txs" + event "github.com/eris-ltd/eris-db/event" + rpc_v0 "github.com/eris-ltd/eris-db/rpc/v0" + stypes "github.com/eris-ltd/eris-db/manager/eris-mint/state/types" + types "github.com/eris-ltd/eris-db/txs" mintTypes "github.com/tendermint/tendermint/types" ) @@ -510,23 +511,23 @@ type ( } GetAccountData struct { - Input *core.AddressParam `json:"input"` - Output *account.Account `json:"output"` + Input *rpc_v0.AddressParam `json:"input"` + Output *account.Account `json:"output"` } GetAccountsData struct { - Input *core.AccountsParam `json:"input"` - Output *core_types.AccountList `json:"output"` + Input *rpc_v0.AccountsParam `json:"input"` + Output *core_types.AccountList `json:"output"` } GetStorageData struct { - Input *core.AddressParam `json:"input"` - Output *core_types.Storage `json:"output"` + Input *rpc_v0.AddressParam `json:"input"` + Output *core_types.Storage `json:"output"` } GetStorageAtData struct { - Input *core.StorageAtParam `json:"input"` - Output *core_types.StorageItem `json:"output"` + Input *rpc_v0.StorageAtParam `json:"input"` + Output *core_types.StorageItem `json:"output"` } GenPrivAccountData struct { @@ -554,12 +555,12 @@ type ( } GetBlockData struct { - Input *core.HeightParam `json:"input"` + Input *rpc_v0.HeightParam `json:"input"` Output *mintTypes.Block `json:"output"` } GetBlocksData struct { - Input *core.BlocksParam `json:"input"` + Input *rpc_v0.BlocksParam `json:"input"` Output *core_types.Blocks `json:"output"` } @@ -596,17 +597,17 @@ type ( } GetPeerData struct { - Input *core.PeerParam `json:"input"` + Input *rpc_v0.PeerParam `json:"input"` Output *core_types.Peer `json:"output"` } TransactData struct { - Input *core.TransactParam `json:"input"` + Input *rpc_v0.TransactParam `json:"input"` Output *core_types.Receipt `json:"output"` } TransactCreateData struct { - Input *core.TransactParam `json:"input"` + Input *rpc_v0.TransactParam `json:"input"` Output *core_types.Receipt `json:"output"` } @@ -615,43 +616,43 @@ type ( } CallCodeData struct { - Input *core.CallCodeParam `json:"input"` + Input *rpc_v0.CallCodeParam `json:"input"` Output *core_types.Call `json:"output"` } CallData struct { - Input *core.CallParam `json:"input"` + Input *rpc_v0.CallParam `json:"input"` Output *core_types.Call `json:"output"` } EventSubscribeData struct { - Input *core.EventIdParam `json:"input"` + Input *rpc_v0.EventIdParam `json:"input"` Output *event.EventSub `json:"output"` } EventUnsubscribeData struct { - Input *core.SubIdParam `json:"input"` + Input *rpc_v0.SubIdParam `json:"input"` Output *event.EventUnsub `json:"output"` } TransactNameRegData struct { - Input *core.TransactNameRegParam `json:"input"` + Input *rpc_v0.TransactNameRegParam `json:"input"` Output *core_types.Receipt `json:"output"` } GetNameRegEntryData struct { - Input *core.NameRegEntryParam `json:"input"` + Input *rpc_v0.NameRegEntryParam `json:"input"` Output *types.NameRegEntry `json:"output"` } GetNameRegEntriesData struct { - Input *core.FilterListParam `json:"input"` + Input *rpc_v0.FilterListParam `json:"input"` Output *core_types.ResultListNames `json:"output"` } /* EventPollData struct { - Input *core.SubIdParam `json:"input"` + Input *rpc_v0.SubIdParam `json:"input"` Output *event.PollResponse `json:"output"` } */