aboutsummaryrefslogtreecommitdiffstats
path: root/actionwebservice/test
Commit message (Collapse)AuthorAgeFilesLines
* Fix that XML-RPC date/time values did not have well-defined behaviour ↵Leon Breedt2005-11-091-0/+7
| | | | | | (#2516, #2534). This fix has one caveat, in that we can't support pre-1970 dates from XML-RPC clients. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2945 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* special-case non-existent target method handling for 'system.multicall' ↵Leon Breedt2005-08-161-2/+6
| | | | | | | | | calls when the method does not exist, to conform to the RFC and return the error inline in the multicall response. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2023 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add 'system.multicall' support to XML-RPC. boxcarred methods must still existLeon Breedt2005-08-162-2/+44
| | | | | | | | on the target service(s), value casting will still be performed, and recursive 'system.multicall' calls are not allowed. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2021 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* make sure that we get back a SOAPString when $KCODE is UTF-8Leon Breedt2005-07-131-0/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1823 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* always send back SOAP responses as UTF-8, we can't guarantee that SOAP4RLeon Breedt2005-07-132-17/+23
| | | | | | | | | | | supports any encoding sent by caller. add documentation describing how to ensure :string types don't get converted into :base64 by SOAP4R when containing non-ASCII chars and $KCODE is not set to a value. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1822 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* fix bug in unit test causing spurious failures, and make sure theLeon Breedt2005-07-062-4/+8
| | | | | | | | unit test requires the Rails libraries from *Source Control* first, or we'll get false positives. add ActiveRecord require to abstract_unit.rb. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1742 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* fix WSDL generation, change the way protocols are instantiated, and add Leon Breedt2005-06-253-22/+40
| | | | | | | | the ability to override the namespace used in WSDL instead of always forcing 'urn:ActionWebService' git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1501 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fix moduled controller URLs in WSDL, and add unit test to verify the ↵Leon Breedt2005-06-131-4/+10
| | | | | | | | | generated URL. See ticket #1428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1408 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add test to ensure the bug fixed by [1295] can't occur again.Leon Breedt2005-05-081-9/+11
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1296 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* support using invocation filters in :direct controllers as well, forLeon Breedt2005-05-071-1/+1
| | | | | | | | | consistency. action pack filters don't necessarily include enough information about the request since they occur before AWS actually sees the request and unpacks it. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1294 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add base64 signature type (thanks, Shugo Maeda!)Leon Breedt2005-05-073-2/+18
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1293 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* remove usages of @request, @response, @params, and replace with #request, ↵Leon Breedt2005-05-051-0/+1
| | | | | | | | | #response, #params, except for test_invoke (values come from the test case) and one scaffold RHTML template. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1287 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add support for structured types as input parameters to scaffolding,Leon Breedt2005-05-011-1/+1
| | | | | | | | fixes scaffolding for APIs like metaWeblog that require an input struct (by dropping structs in nested <ul> lists). git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1265 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* default to using UTF-8 as response encoding for SOAP if none isLeon Breedt2005-04-282-0/+17
| | | | | | | | supplied, but if an encoding is supplied by caller, use that for the response instead (NAKAMURA Hiroshi) git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1245 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fix regression where nil values were incorrectly being cast into theLeon Breedt2005-04-191-2/+2
| | | | | | | default values for their base types. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1234 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add backwards compatibility for the public API change made to #api_methods, ↵Leon Breedt2005-04-171-0/+5
| | | | | | | | | as it is being used in some apps. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1197 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Remove a cause of casting failure for XML-RPC by ignoring structure members notLeon Breedt2005-04-161-0/+9
| | | | | | | | | defined in the target type, and perform more sanity checks to make more obvious what the resolution should be when neglecting to provide a valid signature or failing to attach an API to a service implementation class. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1171 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* initial go at making :layered dispatching generate WSDL for SOAP, and haveLeon Breedt2005-04-052-1/+19
| | | | | | | :layered process SOAP method calls correctly as well, may be unstable git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1097 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add API::Method#expects_to_hash convenience as wellLeon Breedt2005-04-051-0/+6
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1092 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add API::Method#expects_index_of helper to get the index ofLeon Breedt2005-04-051-0/+11
| | | | | | | a named parameter git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1091 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* * Fix casting of nested members in structured types if we have a signatureLeon Breedt2005-04-041-5/+3
| | | | | | | | | | | | | type available for it even if they are already of the desired type as SOAP/XML-RPC unmarshaling may have gotten it wrong: SOAP likes to always use DateTime no matter what, for example, whereas we allow a distinction between Date, DateTime and Time in the signature for convenience casting * Fix raising of exceptions by test_invoke so functional tests fail properly on exception instead of returning the exception object * Fix Struct#each_pair to yield the value and not the member type git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* * collapse 'ws' back into protocols, it just added complexity and ↵Leon Breedt2005-04-0219-399/+247
| | | | | | | | | | | | | indirection, and was hard to extend. * extract casting into seperate support file * ensure casting always does the right thing for return values, should fix interoperability issues with Ecto and possibly other XML-RPC clients * add functional unit tests for scaffolding * represent signature items with classes instead of symbols/Class objects, much more flexible * tweak logging to always show casted versions of parameters and return values, if possible. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1072 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* first pass of web service scaffolding. add ability to quickly generate anLeon Breedt2005-03-294-22/+13
| | | | | | | | action pack request for a protocol, add missing log_error when we fail to parse protocol messages. add RDoc for scaffolding and functional testing. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1037 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* generalize casting code to be used by both SOAP and XML-RPC (previously only ↵Leon Breedt2005-03-286-21/+74
| | | | | | | | | | XML-RPC). switch to better model for API methods, and improve the ability to generate protocol requests/response, will be required by upcoming scaffolding. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1030 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* allow direct dispatching methods to declare their parameters as well, for ↵Leon Breedt2005-03-262-1/+21
| | | | | | | | | | brevity's sake, it seems to be counter-intuitive not to do so (closes #939). update gem require versions. fix unit tests for exception de-shallowing changes. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@992 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* allow 0, 1, '0' or '1' to be cast to the appropriate values for booleanLeon Breedt2005-03-101-0/+2
| | | | | | | | | values. update XML-RPC example to work in :layered mode. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@883 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add action_web_service/test_invoke, will be used by for testing APIs inLeon Breedt2005-03-043-2/+79
| | | | | | | a Rails project instance. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@830 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add allow_active_record_expects option to ActionWebService::API::Base,Leon Breedt2005-02-281-0/+4
| | | | | | | | but set the default to false so people don't use it without thinking about the consequences. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@815 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Make all custom types and method calls are declared in the ↵Leon Breedt2005-02-276-15/+112
| | | | | | | | | | | | | | | | | | | | | | | 'urn:ActionWebService' namespace as a default, fixes SOAP marshaling for .NET, a regression since the merge. Make array annotation be recursive in WS::Marshaling::SoapMarshaling, this makes typed arrays buried in nested structures still be annotated correctly. Support :layered dispatching mode for XML-RPC namespaced method names. Change WS::ParamInfo.create signature to require type_binding, and update all uses of this. Restore #default_api_method functionality, fixes a regression since the merge. Fix marshalling of ActiveRecord::Base derivatives, fixes a regression since the merge. This changeset closes #676, #677, and #678. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@811 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* merged the changes for the upcoming 0.6.0:Leon Breedt2005-02-2527-731/+857
| | | | | | | | | | | | | | | | | | | | | seperate out protocol marshaling into a small 'ws' library in vendor, so that AWS itself only does integration with ActionPack, and so we can keep protocol specific code in AWS proper to a minimum. refactor unit tests to get 95% code coverage (for a baseline). be far more relaxed about the types given to us by the remote side, don't do any poor man's type checking, just try to cast and marshal to the correct types if possible, and if not, return what they gave us anyway. this should make interoperating with fuzzy XML-RPC clients easier. if exception reporting is turned on, do best-effort error responses, so that we can avoid "Internal protocol error" with no details if there is a bug in AWS itself. also perform extensive cleanups on AWS proper. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@800 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* add code coverage testing scripts, remove dead codeLeon Breedt2005-02-202-0/+8
| | | | | | | detected by said scripts git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@708 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* ensure clients can handle APIs with named parameter signatures,Leon Breedt2005-02-193-0/+19
| | | | | | | and test for this git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@680 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* refactoring:Leon Breedt2005-02-196-162/+116
| | | | | | | | | | | | | | | | | | | | | * move dispatching out of the Container into Dispatcher, it makes more sense for Container to only contain the list of web services defined in it. * collapse Wsdl and ActionController "routers" into an ActionController-specific module, no advantage to having them seperate as they were quite tightly coupled. rename to Dispatcher, to avoi confusion with Routing. * add a "_thing" suffix to concept-specific filenames. this is so that we don't end up with many soap.rb files, for example. * remove "virtual invocation" support. adds complexity, and it doesn't seem to add any value. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@679 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* rename entire package to Action Web ServiceLeon Breedt2005-02-1814-39/+39
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@672 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Renamed Action Service to Action Web ServiceDavid Heinemeier Hansson2005-02-1815-0/+1384
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@669 5ecf4fe2-1ee6-0310-87b1-e25e094e27de