Changeset 15222 in project


Ignore:
Timestamp:
07/15/09 21:26:05 (10 years ago)
Author:
sjamaan
Message:

Import basic server code - no real infrastructure for handling POSTS yet. The code now assumes we have everything in SXML form

Location:
release/4/xml-rpc/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/xml-rpc/trunk/tests/run.scm

    r15215 r15222  
    33
    44(load "../xml-rpc-lolevel")
     5(load "../xml-rpc-client")
     6(load "../xml-rpc-server")
    57(import xml-rpc-lolevel)
     8(import xml-rpc-client)
     9(import xml-rpc-server)
    610
    711(test-group "Marshaling"
     
    262266         `(dateTime.iso8601 "19980717T14:08:55"))))
    263267
    264 (load "../xml-rpc-client")
    265 (import xml-rpc-client)
    266 
    267268(test-group "response handling"
    268269  (test "simple response"
     
    304305                              (value (string "there was an error")))))))))
    305306                params)))
     307
     308(test-group "request handling"
     309  (test "simple request"
     310        '(1 2 3)
     311        (call-xml-rpc-proc
     312         `(*TOP*
     313           (*PI* xml "version=\"1.0\"")
     314           (methodCall
     315            (methodName "scheme.List")
     316            (params
     317             (param (value (int "1")))
     318             (param (value (int "2")))
     319             (param (value (int "3"))))))
     320         `((scheme.List . ,list))))
     321  (test "empty params"
     322        '1
     323        (call-xml-rpc-proc
     324         `(*TOP*
     325           (*PI* xml "version=\"1.0\"")
     326           (methodCall
     327            (methodName "always-one")
     328            (params)))
     329         `((always-one . ,(constantly 1)))))
     330  (test-error "unknown method"
     331              (call-xml-rpc-proc
     332               `(*TOP*
     333                 (*PI* xml "version=\"1.0\"")
     334                 (methodCall
     335                  (methodName "scheme.unknown")
     336                  (params
     337                   (param (value (int "1")))
     338                   (param (value (int "2")))
     339                   (param (value (int "3"))))))
     340               `((scheme.List . ,list))))
     341  (test-error "malformed request error"
     342              (call-xml-rpc-proc
     343               `(*TOP*
     344                 (*PI* xml "version=\"1.0\"")
     345                 (methodCall
     346                  (params
     347                   (param (value (int "1")))
     348                   (param (value (int "2")))
     349                   (param (value (int "3"))))))
     350               `((scheme.List . ,list)))))
     351
     352(test-group "request to xml conversion"
     353  (test "simple request"
     354        `(methodResponse
     355          (params
     356           (param (value (array (data (value (i4 "1"))
     357                                      (value (i4 "2"))
     358                                      (value (i4 "3"))))))))
     359        (xml-rpc-call->xml-rpc-response
     360         `(*TOP*
     361           (*PI* xml "version=\"1.0\"")
     362           (methodCall
     363            (methodName "scheme.List")
     364            (params
     365             (param (value (int "1")))
     366             (param (value (int "2")))
     367             (param (value (int "3"))))))
     368         `((scheme.List . ,list))))
     369  (test "unknown procedure"
     370        `(methodResponse
     371          (fault
     372           (value (struct
     373                   (member
     374                    (name "faultCode")
     375                    (value (i4 "1")))
     376                   (member
     377                    (name "faultString")
     378                    (value (string "Unknown procedure \"doesnotexist\"")))))))
     379        (xml-rpc-call->xml-rpc-response
     380         `(*TOP*
     381           (*PI* xml "version=\"1.0\"")
     382           (methodCall
     383            (methodName "doesnotexist")
     384            (params
     385             (param (value (int "1")))
     386             (param (value (int "2")))
     387             (param (value (int "3"))))))
     388         `((scheme.List . ,list))))
     389  (test "malformed request"
     390        `(methodResponse
     391          (fault
     392           (value (struct
     393                   (member
     394                    (name "faultCode")
     395                    (value (i4 "2")))
     396                   (member
     397                    (name "faultString")
     398                    (value (string "Bad request XML")))))))
     399        (xml-rpc-call->xml-rpc-response
     400         `(*TOP*
     401           (*PI* xml "version=\"1.0\"")
     402           (somethingFubar
     403            (methodName "scheme.List")
     404            (params
     405             (param (value (int "1")))
     406             (param (value (int "2")))
     407             (param (value (int "3"))))))
     408         `((scheme.List . ,list))))
     409  (test "procedure error"
     410        `(methodResponse
     411          (fault
     412           (value (struct
     413                   (member
     414                    (name "faultCode")
     415                    (value (i4 "-1")))
     416                   (member
     417                    (name "faultString")
     418                    (value (string "Error in procedure")))))))
     419        (xml-rpc-call->xml-rpc-response
     420         `(*TOP*
     421           (*PI* xml "version=\"1.0\"")
     422           (methodCall
     423            (methodName "scheme.List")
     424            (params
     425             (param (value (int "1")))
     426             (param (value (int "2")))
     427             (param (value (int "3"))))))
     428         `((scheme.List . ,(lambda _ (error "Error in procedure")))))))
  • release/4/xml-rpc/trunk/xml-rpc-client.scm

    r15215 r15222  
    7373                  sxml:content)
    7474                 params)))))
    75      (else (signal-xml-rpc-error 0 "Malformed response data" resp)))))
     75     (else (signal-xml-rpc-error 0 "Malformed response data" response-sxml)))))
    7676
    7777;; Unfortunately, we need this; spec says "Content-Length" header is required
Note: See TracChangeset for help on using the changeset viewer.