Commit Graph

745 Commits

Author SHA1 Message Date
Jurko Gospodnetić 592af43d2f Final changes for the forked project's '0.4.1 jurko 1' release. 2011-12-24 22:10:53 +01:00
Jurko Gospodnetić 1b774a0c2c Added additional 'sequence inside a choice' tests. Updated todo list. 2011-12-24 22:00:06 +01:00
Jurko Gospodnetić 571424f78b Cleanup before the initial forked project release.
* Renamed internal HACKING, LICENSE, README & TODO documentation files to use
  the .txt extension and thus be easier to use on Windows.
* Renamed the forked project name to 'suds_jurko' to differentiate it from the
  original 'suds' project on PyPI.
* Added a MANIFEST.in project configuration file listing the forked project's
  source distribution content (needed since we are using the Mercurial version
  control system and our installation packager does not know how to
  automatically collect 'all files under Mercurial version control' the way it
  does for CVS or SVN).
* Improved project documentation.
    * More detailed 'setup.py' usage documentation notes (HACKING.txt).
    * Documented the forked project's release procedure (HACKING.txt).
    * Documented the forked project's release download locations (README.txt).
    * Documented the forked project's installation procedure (README.txt).
* Preparing source distributions ('setup.py sdist') now configured to be use the
  .tar.bz2 format by default as it takes the least space.
* Updated the forked project's meta data used when preparing distribution
  packages (description, long_description, keywords, url, download_url, ...).
* Project's built distribution no longer contains test.* subpackages.
* Updated todo list.
2011-12-24 12:35:41 +01:00
Jurko Gospodnetić 3d08084e0d Cleaned up the project's setup.cfg file - comments & minor stylistic changes. 2011-12-24 11:39:01 +01:00
Jurko Gospodnetić da3862e6be Typo corrections & other minor stylistic comment changes. Updated todo list. 2011-12-21 19:55:25 +01:00
Jurko Gospodnetić b533f784a2 Removed suds/xsd/__init__.py module docstring comment duplicated from schema.py. 2011-12-21 18:59:10 +01:00
Jurko Gospodnetić b512da49b5 Documented the forked project's source location. Updated todo list. 2011-12-21 18:53:14 +01:00
Jurko Gospodnetić f6604376b5 Added an initial TODO list for the forked project. 2011-12-21 18:40:50 +01:00
Jurko Gospodnetić a92fd3a4da Added development related documentation - HACKING. 2011-12-21 12:35:51 +01:00
Jurko Gospodnetić 34e625a602 Documented the upcoming initial forked project '0.4.1 jurko 1' release. 2011-12-21 00:15:34 +01:00
Jurko Gospodnetić 154ad5b0c1 Cleaned up the forked project's README file.
Noted the forked project's purpose. Standardized all documented release dates to
use the YYYY-MM-DD date formatting. Minor stylistic changes.
2011-12-21 00:10:48 +01:00
Jurko Gospodnetić 44a6c8247b Updated the forked project's version information. 2011-12-21 00:03:51 +01:00
Jurko Gospodnetić 7440bc65e2 Minor stylistic version.py module comment change. 2011-12-20 23:09:57 +01:00
Jurko Gospodnetić 8e99ced5cb Merge Python 3 support patches back to the trunk.
Python 3 support based on patches integrated from a Hg patch queue maintained by
Bernhard Leiner at 'https://bitbucket.org/bernh/suds-python-3-patches'. Last
collected patch series commit: '96ffba978d5c74df28846b4273252cf1f94f7c78'.
2011-12-20 16:54:49 +01:00
Jurko Gospodnetić aca9bb4cd3 Fix converting binary SOAP Request & Reply data to strings.
Request & Reply 'message' member contains binary & not unicode-string data. When
a string is needed (e.g. when logging SOAP request or reply content) we now use
Python's internal and non-ambiguous representation for this data.

Optionally, we could 'assume the data is actually an utf-8 encoded unicode
string', decode it and get a bit nicer string output, i.e. without the "b''"
wrapper and without having non-ASCII characters displayed as escaped hexadecimal
character codes, but that would require much more detailed usage research to
make sure our assumption holds.
2011-12-20 15:51:48 +01:00
Jurko Gospodnetić 9c27933e9d HTTPMessage class related changes needed for Python 3 support. 2011-12-20 15:51:37 +01:00
Jurko Gospodnetić 6c61aefc89 Encoding related changes needed for Python 3 support. 2011-12-20 15:49:35 +01:00
Jurko Gospodnetić 944176812e Use key instead of cmp function.
cmp functions for sorting are deprecated and have been dropped in Python 3.
Defining a key function is an alternative available since Python 2.4.
2011-12-20 15:49:35 +01:00
Jurko Gospodnetić 80e6e191e1 Split absolute and relative imports into separate import statements.
This is needed for the lib2to3 Python 2 to 3 conversion to correctly recognize
old-style relative imports and adjust their syntax for Python 3.
2011-12-20 15:49:35 +01:00
Jurko Gospodnetić fe2ccea6e8 Remove usage of the deprecated module 'new'.
The 'new' module has been deprecated since Python 2.6; the built-in function
'type' can be used instead of 'new.classobj'.
2011-12-20 15:49:35 +01:00
Jurko Gospodnetić dedc4d0de4 urllib/urllib2 library version data location changed between Python 2 & 3.
We teach Python's lib2to3 urllib fixer to correctly recognize the
'urllib2.__version__' data member usage and update it to
'urllib.request.__version__'.
2011-12-20 15:49:35 +01:00
Jurko Gospodnetić 8aabcf236e Fix urllib2 importing.
2to3 is able to convert urllib2 and urllib to the new unified urllib library
just fine but not if urllib is imported under a different name (u2).
2011-12-20 15:49:35 +01:00
Jurko Gospodnetić 4b63f7c9a7 Replace all __str__ methods by UnicodeMixin class. 2011-12-20 15:49:35 +01:00
Jurko Gospodnetić 7f0a0fe922 Use 2to3 fixers when building via 'setup.py'.
This adds a dependency on the Python 3 version of setuptools when running under
Python 3. This should not be a problem since the Python 2 version also depends
on setuptools.
2011-12-20 15:49:34 +01:00
Jurko Gospodnetić 1252142a11 Add py3testenv to makefile to prepare tests to be run with Python 3. 2011-12-20 15:44:19 +01:00
Jurko Gospodnetić 6e455626c3 Report an error if running setup.py from an unexpected folder.
Setup documentation incorrectly states that it will search for packages relative
to the setup script folder by default when in fact it will search for them
relative to the current working folder. It seems avoiding this problem cleanly
and making the setup script runnable with any current working folder would
require better setup() support.
2011-12-20 15:42:09 +01:00
Jurko Gospodnetić 18e5c9753e Extract suds version information into a separate module.
This change allows the setup.py script to work without having to import the
suds package, thus allowing us to:
  * Maintain our suds library sources in Python 2 compatible but possibly Python
    3 incompatible format (whatever gets imported by setup.py needs to be
    compatible with the Python version running that script).
  * Have setup.py install any missing suds library depencencies instead of
    depending on them itself and requiring them to be installed manually before
    hand.
2011-12-20 15:42:09 +01:00
Jurko Gospodnetić 7d96121e70 Cleanup - trimmed trailing spaces, removed unnecessary imports, etc.
Trimmed trailing spaces. Removed unnecessary imports. Standardized quote usage
in some modules.
2011-12-20 15:12:32 +01:00
Jurko Gospodnetić 105be72bd8 Added missing suds Python library release notes.
Release notes added for releases 0.3.7, 0.3.8, 0.3.9, 0.4 & 0.4.1 based on
release notes found specified in the file 'python-suds.spec' used for preparing
the suds RPM package.
2011-12-20 14:54:04 +01:00
Jurko Gospodnetić 236619dc88 Minor stylistic changes and typo corrections in the project's README file. 2011-12-20 14:46:11 +01:00
Jurko Gospodnetić 82f376cf44 Corrected a typo in the project's README file. 2011-12-20 14:06:56 +01:00
Jurko Gospodnetić d58d2730e4 Added a Mercurial file & folder ignore list for the project. 2011-12-20 12:57:29 +01:00
Jurko Gospodnetić 7bd263eeb0 Ported the test_date_time.py unit test script to the pytest unit test framework.
Running unit tests using the pytest unit testing framework:
    * Simplifies the test code a bit.
    * Provides the infrastructure for some more complex test setup and teardown
      code.
    * Avoids problems with incorrect modules getting imported when running the
      tests from an unexpected current working folder and/or when another set of
      suds library sources are already located on the Python module search path.

  Additional changes:
    * Cleaned up included module imports.
    * Trimmed trailing spaces.
2011-12-20 12:04:47 +01:00
Jurko Gospodnetić 9a070a3a32 Cleaned up the basic test_suds.py unit test module.
Removed a stale TODO comment. Minor stylistic header comment change.
2011-12-20 11:56:12 +01:00
Jurko Gospodnetić 14d3c38d92 Disabled pytest unit test lookup in build & version control system subfolders. 2011-12-20 11:54:27 +01:00
Jurko Gospodnetić fdb643fc53 Made suds work with operations taking choice parameters.
Based on a patch by michaelgruenewald & bennetb01 attached to ticket #342 on the
original suds project issue tracker ('http://fedorahosted.org/suds/ticket/342').
Comments listed related to that ticket seem to indicate that there may be
additional problems with this patch but so far we have not encountered any.

Added a test to make sure that such choice parameters are correctly listed in
the corresponding suds method object.
2011-12-19 15:10:57 +01:00
Jurko Gospodnetić 6410b9543a Added a test for resolving WSDL schema node types. 2011-12-19 14:39:26 +01:00
Jurko Gospodnetić 4efbdc534f Extracted WSDL schema content testing into a separate test case. 2011-12-19 14:02:30 +01:00
Jurko Gospodnetić 1edf274aa2 Added testing dynamic suds object class information with old-style classes.
Parts of previous dynamic suds object class information checking worked only for
new-style classes. Now we found out there is no need to skip those tests when
using old-style classes and instead we only need to find out the object's class
information using its __class__ member and not the global built-in type()
function.
2011-12-19 01:24:02 +01:00
Jurko Gospodnetić 989ec0f394 Added a test analysing an input sequence structure containing a choice. 2011-12-18 22:55:31 +01:00
Jurko Gospodnetić e0ea21a9d6 Minor stylistic test WSDL input data change to make it take up less space. 2011-12-18 22:53:18 +01:00
Jurko Gospodnetić 746fd757e1 Added a new test making sure missing parameter elements are reported correctly. 2011-12-17 12:01:32 +01:00
Jurko Gospodnetić 6f477b73b2 Updated tests to use old-style except statements.
This exception handling style used in the test code consistent with the one used
in the rest of the code base. Simple Python3 2to3 script can be used to easily
and consistently convert all such old-style except statements into new-style
ones.
2011-12-17 11:59:42 +01:00
Jurko Gospodnetić 6a3d0ebde4 Made tests more efficient by not loading WSDL content using temporary files. 2011-12-17 11:24:30 +01:00
Jurko Gospodnetić 64d514f868 Added a pytest based generic suds library unit test module.
Contains test code that has not yet been structured enough to be extracted to a
more specialized test module.
2011-12-16 23:06:42 +01:00
Jurko Gospodnetić f4a326f805 Test cleanup - DateTimeTest testSimple() & testSimpleWithMicrosecond() tests no
longer affected by the current global Timezone.LOCAL value setting and instead
set their own.
2011-12-16 14:20:31 +01:00
Jurko Gospodnetić a270c33782 Fixed the DateTimeTest.testOverflow test to work correctly in all timezones.
This test would fail if run directly when run on a computer with a positive
timezone time adjustment while it would not fail when run together with all the
other tests in this module since some other test would leave behind a
nonpositive timezone adjustment setting. Now the test explicitly sets its own
timezone time adjustment to a negative value.

Fixes a bug referenced in the original suds project issue tracker as ticket
#422 ('http://fedorahosted.org/suds/ticket/422').
2011-12-16 14:18:12 +01:00
Jurko Gospodnetić 2a40f3d2e8 Renamed the builtin.py test.
This makes the module's name indicate more directly that it only tests datetime
related functionality and the 'test_*' prefix makes the pytest unit testing
framework automatically recognize is as a test module.
2011-12-16 13:00:51 +01:00
Jurko Gospodnetić d3f156c4aa Moved tests requiring an externally running web service into a separate folder. 2011-12-16 12:00:04 +01:00
Jurko Gospodnetić 35f2571645 Corrected accessing suds.xsd.sxbase.SchemaObject subitems by index.
Fixes a bug referenced in the original suds project issue tracker as ticket
#420 ('http://fedorahosted.org/suds/ticket/420').
2011-12-16 10:45:51 +01:00