Common Lisp Package: RPC4CL-TEST

README:

FUNCTION

Public

RUN-TEST-CLIENT

Run lisp-unit tests

Undocumented

START-TEST-SERVER

STOP-TEST-SERVER

Private

CALL (METHOD &REST METHOD-PARAMETERS)

Shorthand to call our test service started with (rpc4cl-test:star-test-server)

MAKE-EXTERNAL-FORMAT (NAME &REST ARGS &KEY (LITTLE-ENDIAN *DEFAULT-LITTLE-ENDIAN*) ID EOL-STYLE)

Creates and returns an external format object as specified. NAME is a keyword like :LATIN1 or :UTF-8, LITTLE-ENDIAN specifies the `endianess' of the external format and is ignored for 8-bit encodings, EOL-STYLE is one of the keywords :CR, :LF, or :CRLF which denote the end-of-line character (sequence), ID is the ID of a Windows code page (and ignored for other encodings).

Undocumented

VALIDATION-TEST-SUITE (&KEY)

VALIDATOR1.ARRAY-OF-STRUCTS-TEST (ARRAY &REST NO-SUCH-PARAMETERS)

VALIDATOR1.COUNT-THE-ENTITIES (STRING &REST NO-SUCH-PARAMETERS)

VALIDATOR1.EASY-STRUCT-TEST (STRUCT &REST NO-SUCH-PARAMETERS)

VALIDATOR1.ECHO-STRUCT-TEST (STRUCT &REST NO-SUCH-PARAMETERS)

VALIDATOR1.MANY-TYPES-TEST (NUMBER BOOLEAN STRING DOUBLE DATE-TIME BASE64 &REST NO-SUCH-PARAMETERS)

VALIDATOR1.MODERATE-SIZE-ARRAY-CHECK (ARRAY &REST NO-SUCH-PARAMETERS)

VALIDATOR1.NESTED-STRUCT-TEST (STRUCT &REST NO-SUCH-PARAMETERS)

VALIDATOR1.SIMPLE-STRUCT-RETURN-TEST (NUMBER &REST NO-SUCH-PARAMETERS)

VALIDATOR1.STRING-LENGTH (STRING &REST NO-SUCH-PARAMETERS)

VALIDATOR1.TIMEOUT-TEST (&REST NO-SUCH-PARAMETERS)

MACRO

Private

DEFINE-RPC-CALL (API-NAME (CALL-NAME &REST PARAMETERS) &BODY BODY)

Usage: (define-rpc-call :my-api (plus :int a :int b) (+ a b)) Defines a function, call-name which when called verifies its parameters and number of parameters and throws appropriate xml-rpc faults before executing it's body. For 'sloppy' code the :any type may be used but then you better make sure yourself that you've got the expected type.

DEFINE-RPC-CALL-HELP (API-NAME (CALL-NAME) DOCUMENTATION)

Define documentation that will be returned through system.methodHelp

WITH-API ((API-NAME) &BODY BODY)

Bind *current-api* to api-name for future reference.