Added basic unit tests for this function, together with some new cleanup todo
items related to the function's current implementation and test code details.
Now XSD import does not attempt to refetch XSD schemas already constructed
during the same XSD load operation.
Updated todo list.
Updated project release notes.
Suds now correctly handles twisted use-cases as seen in some M$ web services,
and whose one possible structure has been illustrated by the
test_recursive_WSDL_import() test in the test_client.py test module.
Note that this has nothing to do with recursive XSD schema imports which still
have known issues.
Updated todo list.
When one WSDL imports another, this does not mean that the components from the
imported WSDL become part of the importing WSDL, but only means that importing
WSDL's components may now reference components from the imported WSDL.
The fact that suds currently imports actual components into the importing WSDL
is in fact a possible bug (unless it is just a part of some internal
implementation detail with no publicly visible side-effects, but even then such
a kludge should be made clearer in code).
A reference XSD element's 'form' value is now correctly read from its referenced
element.
This fix:
* fixes all tests in test_xsd_element.py previously marked as xfail,
* corrects buggy test data in test_request_construction.py and
* resolves project issue #49 on BitBucket.
Updated release notes.
Updated todo list.
New tests marked as expected to fail demonstrate a bug in the original suds
implementation's XSD element `form` attribute value handling. It seems that suds
uses incorrectly detects a referencing element's `form` attribute value - it
should but does not pick up the attribute value from the referenced element
instead of the referencing one (whether it is set directly or using their
schema's `elementFormDefault` attribute).
Updated todo list.
For now just tests:
- basic Element construction,
- construction name parameter handling
- childAtPath() method
Updated todo list, including adding many new todo items related to adding new
tests.
Now uses the same list of Python environments as used by
'tools/setup_base_environments.py' stored inside the project's main
configuration file 'setup.cfg'.
Updated todo list.
Duplicate code extracted to new modules under the suds_devel package:
- specifying the project's requirements - requirements.py
- specifying the used setuptool install script - ez_setup_versioned.py
Updated todo list.
suds.transport.Request now allows specifying its URL input as either a byte or
a unicode string with any Python version. Internally that URL information is
always converted to the used Python interpreter's native str data type (byte
string for Python versions prior to 3.0, or unicode string for later ones).
Given URLs must not contain any non-ASCII characters and any attempt to create
a suds.transport.Request with such an invalid URL is reported as a UnicodeError
(either UnicodeDecodeError or UnicodeEncodeError depending on the exact Python
version and the given URL data type used).
suds.transport.Reply & suds.transport.Request string representation cleaned up
and no longer raise an error when their message data contains non-ASCII
characters.
Updated related class & method doctrings.
Updated related unit tests.
Updated todo list.
All the tests in this module now test HttpTransport behaviour directly instead
of going through the higher level suds.client.Client interface. Removed related
infrastructure, e.g package imports & utility functions. Several of the tests
renamed and their comments updated. Updated todo list.
Accessing one expired FileCache item should not affect other existing FileCache
items and their underlying files should not be removed independent of whether
they themselves have already expired or not.
Such values now modeled using Python's decimal.Decimal class. Original suds
implementation represented them using Python's float type which could result in
both precision loss and incorrectly constructed SOAP request XML documents.