func TestService(t *testing.T) { s := rpc.NewServer() s.RegisterCodec(NewCodec(), "application/json") s.RegisterService(new(Service1), "") if !s.HasMethod("Service1.Multiply") { t.Errorf("Expected to be registered: Service1.Multiply") return } buf, _ := EncodeClientRequest("Service1.Multiply", &Service1Request{4, 2}) body := bytes.NewBuffer(buf) r, _ := http.NewRequest("POST", "http://localhost:8080/", body) r.Header.Set("Content-Type", "application/json") w := NewRecorder() s.ServeHTTP(w, r) var res Service1Response DecodeClientResponse(w.Body, &res) if res.Result != 8 { t.Errorf("Wrong response: %v.", res.Result) } }
func init() { s := rpc.NewServer() s.RegisterCodec(json.NewCodec(), "application/json") s.RegisterService(new(user.Service), "User") s.RegisterService(new(password.Service), "Password") s.RegisterService(new(profile.Service), "AuthProfile") http.Handle(API_URL, s) }
func TestService(t *testing.T) { s := rpc.NewServer() s.RegisterCodec(NewCodec(), "application/json") s.RegisterService(new(Service1), "") var res Service1Response if err := execute(t, s, "Service1.Multiply", &Service1Request{4, 2}, &res); err != nil { t.Error("Expected err to be nil, but got:", err) } if res.Result != 8 { t.Errorf("Wrong response: %v.", res.Result) } if err := execute(t, s, "Service1.ResponseError", &Service1Request{4, 2}, &res); err == nil { t.Errorf("Expected to get %q, but got nil", ErrResponseError) } else if err.Error() != ErrResponseError.Error() { t.Errorf("Expected to get %q, but got %q", ErrResponseError, err) } }