[Subversion] / PEAK / src / peak / api / tests.py |
No default branch
Bookmark a link to HEAD:
(view)
(download)
(as text)
The templates have landed! We can parse and render templates, and use them as web methods on locations. There's even a (yes, just one) unit test. Big TODO lists both in the package and its test suite, but at least it's working. Made minor adjustments to publishing algorithms so that locations know their parent locations, and methods know the location that they were found in. Bumped package version to 0.5a3, since we've been in the alpha 3 cycle for a while now.
Initial draft of security system for 'peak.web', et al. You can declare abstract permission types, then declare application-specific rules for checking those permissions, for a given subject type. Rules can delegate to other rules, and user objects can also have global permission grants or denials.
Added [Load on demand] rules section, and made running.clusters use it. Also added basic unit tests for peak.running.clusters.
Reorgs and and misc. cleanups; updated TODO for 0.5a1 vs 0.5final Moved ActiveDescriptor(s) classes from binding.meta to binding.once and the rest of binding.meta to model.method_exporter. Moved the method-exporter tests that lived in metamodels.tests.General to model.tests, where they really belonged, and added model.tests to the install and API test suite.
Removed OpaqueURL and refactored ParsedURL for simpler creation of URL classes. This may need another pass or two to get everything completely cleaned up. Added a test suite for peak.naming to do parse tests on a variety of the built-in URL classes, which really needs a lot more test examples. The URL classes also need better parse error messages. Last, but not least, we may need a way to map from URLs back to their strings, if they are created from arguments instead of a string. But that's probably lower priority.
Re-org/refactoring of many items from the TODO list for 0.5, including: * moved peak.binding.imports -> peak.util.imports, added importSuite() * Decided not to do binding.Acquire, it should just be a documented idiom * Moved LDAP and lockfile URLs to peak.storage.LDAP and peak.running.lockfiles, respectively * Moved factories.getObjectInstance -> spi, updated peak.ini to load naming.spi as the provider. * Consolidated naming.references into naming.names * Made ParsedURLs compile their pattern strings, and automatically make their 'fromX()' methods classmethods (and the same is true for other 'struct' types. * Refactored cursors and connections out into distinct SQLCursor/LDAPCursor types, based on a common AbstractCursor. * Added TooManyResults/TooFewResults errors to peak.exceptions
Added unit tests for transactions, covering just about everything but the 'info' mapping, and error handler processing.
Created a peak.api.tests module, which just runs tests on API packages (like binding, config, naming, etc.) and skips the old tests (metamodels) and the utils tests. Changed the "setup.py test" default to use this shorter and MUCH faster subset of tests. You can still run the full suite with "setup.py test -m peak.tests", but on my Windows machines the extra tests can add up to 20 seconds to my test times, and I rarely change anything that affects the utils or metamodel tests. I'll save those for checkin testing, and use the API-only tests for running as I change things.
cvs-admin@eby-sarna.com Powered by ViewCVS 1.0-dev |
ViewCVS and CVS Help |