X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/00d1ef67636df59460bd4e060f6da4b0c9bcb24c..93df4153a2028e7c6ffee0d005f58db8cec9917a:/hotline/server_blackbox_test.go?ds=sidebyside diff --git a/hotline/server_blackbox_test.go b/hotline/server_blackbox_test.go index 64d56ab..4e7ea8e 100644 --- a/hotline/server_blackbox_test.go +++ b/hotline/server_blackbox_test.go @@ -66,6 +66,8 @@ func NewTestLogger() *zap.SugaredLogger { func StartTestServer() (*Server, context.Context, context.CancelFunc) { ctx, cancelRoot := context.WithCancel(context.Background()) + FS = &OSFileStore{} + srv, err := NewServer("test/config/", "localhost", 0, NewTestLogger()) if err != nil { panic(err) @@ -82,6 +84,14 @@ func StartTestServer() (*Server, context.Context, context.CancelFunc) { } func TestHandshake(t *testing.T) { + mfs := &MockFileStore{} + fh, _ := os.Open("./test/config/Agreement.txt") + mfs.On("Open", "/test/config/Agreement.txt").Return(fh, nil) + fh, _ = os.Open("./test/config/config.yaml") + mfs.On("Open", "/test/config/config.yaml").Return(fh, nil) + FS = mfs + spew.Dump(mfs) + srv, _, cancelFunc := StartTestServer() defer cancelFunc() @@ -93,7 +103,7 @@ func TestHandshake(t *testing.T) { } defer conn.Close() - conn.Write([]byte{0x54, 0x52, 0x54, 0x50, 0x00, 0x01, 0x00, 0x00}) + conn.Write([]byte{0x54, 0x52, 0x54, 0x50, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02}) replyBuf := make([]byte, 8) _, _ = conn.Read(replyBuf) @@ -105,7 +115,7 @@ func TestHandshake(t *testing.T) { } -//func TestLogin(t *testing.T) { +// func TestLogin(t *testing.T) { // // tests := []struct { // name string @@ -121,13 +131,13 @@ func TestHandshake(t *testing.T) { // // }) // } -//} +// } func TestNewUser(t *testing.T) { srv, _, _ := StartTestServer() tests := []testCase{ - //{ + // { // name: "a valid new account", // mockHandler: func() mockClientHandler { // mh := mockClientHandler{} @@ -170,8 +180,8 @@ func TestNewUser(t *testing.T) { // want: &Transaction{ // Fields: []Field{}, // }, - //}, - //{ + // }, + // { // name: "a newUser request from a user without the required access", // mockHandler: func() *mockClientHandler { // mh := mockClientHandler{} @@ -201,8 +211,8 @@ func TestNewUser(t *testing.T) { // NewField(fieldUserPassword, []byte(NegatedUserString([]byte("testPw")))), // NewField(fieldUserAccess, []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}), // ), - //}, - //{ + // }, + // { // name: "when user does not have required permission", // mockHandler: func() map[int]*mockClientHandler { // mockHandlers := make(map[int]*mockClientHandler) @@ -241,9 +251,9 @@ func TestNewUser(t *testing.T) { // NewField(fieldUserPassword, []byte(NegatedUserString([]byte("testPw")))), // NewField(fieldUserAccess, []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}), // ), - //}, + // }, - //{ + // { // name: "a request to create a user that already exists", // setup: func() { // @@ -269,7 +279,7 @@ func TestNewUser(t *testing.T) { // NewField(fieldError, []byte("Cannot create account guest because there is already an account with that login.")), // }, // }, - //}, + // }, } for _, test := range tests { @@ -291,7 +301,7 @@ func TestNewUser(t *testing.T) { // send test case request _ = c.Send(*test.request) - //time.Sleep(1 * time.Second) + // time.Sleep(1 * time.Second) // === transactions, _ := readN(c.Connection, 1) @@ -310,21 +320,20 @@ func TestNewUser(t *testing.T) { } } +// tranAssertEqual compares equality of transactions slices after stripping out the random ID func tranAssertEqual(t *testing.T, tran1, tran2 []Transaction) bool { var newT1 []Transaction var newT2 []Transaction - for _, trans := range tran1{ - trans.ID = []byte{0,0,0,0} + for _, trans := range tran1 { + trans.ID = []byte{0, 0, 0, 0} newT1 = append(newT1, trans) } - for _, trans := range tran2{ - trans.ID = []byte{0,0,0,0} + for _, trans := range tran2 { + trans.ID = []byte{0, 0, 0, 0} newT2 = append(newT2, trans) } - spew.Dump(newT1, newT2) - return assert.Equal(t, newT1, newT2) -} \ No newline at end of file +}