Commit Graph
20 Commits
Author SHA1 Message Date
Rob Crittenden c69d8084c1 Add API version and have server reject incompatible clients.
This patch contains 2 parts.

The first part is a small utility to create and validate the current
API. To do this it needs to load ipalib which on a fresh system
introduces a few problems, namely that it relies on a python plugin
to set the default encoding to utf8. For our purposes we can skip that.
It is also important that any optional plugins be loadable so the
API can be examined.

The second part is a version exchange between the client and server.
The version has a major and a minor version. The major verion is
updated whenever existing API changes. The minor version is updated when
new API is added. A request will be rejected if either the major versions
don't match or if the client major version is higher than then server
major version (though by implication new API would return a command not
found if allowed to proceed).

To determine the API version of the server from a client use the ping
command.

ticket 584
2011-01-14 14:26:22 -05:00
Jakub Hrozek 7493d781df Change FreeIPA license to GPLv3+
The changes include:
 * Change license blobs in source files to mention GPLv3+ not GPLv2 only
 * Add GPLv3+ license text
 * Package COPYING not LICENSE as the license blobs (even the old ones)
   mention COPYING specifically, it is also more common, I think

 https://fedorahosted.org/freeipa/ticket/239
2010-12-20 17:19:53 -05:00
Jason Gerard DeRose 47f2e618f9 Fix non XML-RPC tests 2010-02-19 18:10:37 -05:00
Jason Gerard DeRose c43b69e77c Add support for the 'no_create', 'no_update', and 'no_search' Param flags 2010-02-05 14:32:04 -05:00
Jason Gerard DeRose b6e4972e7f Take 2: Extensible return values and validation; steps toward a single output_for_cli(); enable more webUI stuff 2009-12-10 08:29:15 -07:00
Pavel Zuna e01b1b8f99 Fix unit tests for plugins using baseldap classes. 2009-10-05 15:59:09 -04:00
Jason Gerard DeRose 7e58b29a92 Completed Param.use_in_context() functionality, which is now used by Command and Object 2009-05-21 14:32:45 -04:00
Rob Crittenden f18c84444d Partially revert back change. Del shouldn't provide default options.
It can provide custom ones though, if defined with takes_params() in the class.
2008-11-03 13:14:46 -05:00
Jason Gerard DeRose a360b6479c Fixed test_Del.test_get_options() 2008-10-30 17:47:56 -06:00
Jason Gerard DeRose d76202fea3 API.env is now an Env instance rather than an Environment instance 2008-10-27 01:35:40 -06:00
Jason Gerard DeRose 1be301821e Fixed unit test for CrudBacked.retrieve() 2008-10-17 16:47:09 -06:00
Martin Nagy 3a80297b04 Reworking Environment, moved it to config.py 2008-10-17 23:11:51 +02:00
Jason Gerard DeRose 225e2b0c93 Added CrudBackend abstract class defining generic CRUD API 2008-10-13 09:50:29 -06:00
Jason Gerard DeRose 87390665f6 crud.Add.get_args() and get_options() now yield static values in takes_args, takes_options after the automagic ones 2008-10-09 11:33:35 -06:00
Jason Gerard DeRose 7599beb693 Restructured test_crud.py around new CrudChecker base class 2008-10-08 00:17:32 -06:00
Jason Gerard DeRose f5ea3b1bb9 Made docstrings in test_crud.py contistent with rest 2008-10-07 23:36:58 -06:00
Jason Gerard DeRose deb8e3dfc8 Renamed tests/tstutil.py to tests/util.py 2008-10-07 22:30:53 -06:00
Jason Gerard DeRose f6ac2df6bd Moved tstutil.py into base of tests so it can be used by all test subpackages more easily 2008-10-07 21:59:47 -06:00
Jason Gerard DeRose af56c71d50 Cleaned up package and module level docstrings for everything in tests/ 2008-10-07 21:25:23 -06:00
Jason Gerard DeRose 7721443a62 Moved ipalib/tests/ into tests/test_ipalib/ 2008-10-07 20:41:15 -06:00