Age | Commit message (Collapse) | Author |
|
|
|
Closes #504: design generic error handling solution.
* app-wide logging config.
* --logfile command line argument.
* created basic exception hierarchy
* conductor pushes exceptions to error queue
* in Qt, error dialogs are created from exception attributes
|
|
documentation of the Exception Hierarchy and attributes.
also a bit of general cleanup around error handling in conductor.
Hopefully to be polished an abstracted to leap.base with time.
not all errors are converted (and the old with_errors/ignoring
errors) are still there, but we should be using this style of handlers
from now on.
wrapping up with this pseudo-feature for now. as we work on individual
features we can mimick the exceptions that are working.
|
|
idea is that we define user messages in the exceptions,
and queue them during (conductor) checks.
user facing dialogs get constucted from exception attrs.
if critical, log as such and exit.
|
|
so we can get them to file / stdout even if
our log viewer is not launched.
|
|
app.py --debug --logfile /tmp/foo.log
|
|
|
|
closes #474: refactor Qt Code
|
|
|
|
closes #331
|
|
|
|
to their base classes.
plus a bit of juggling with order.
|
|
still a bit rough, but makes everything a bit more
readable.
|
|
war on spaguetti! :D
|
|
It is really dangerous to mess with expanduser paths in tests
without deriving testcases from LeapTestCase.
It'd be good to devise a way of checking for that :(
|
|
For #501: write base.checks.ProviderCertChecks
(in eip.checks, though.) Basic functionality is there, merging to
tip. Might have to reopen to implement actual cert ts check.
|
|
stubbing out the timestamp validity check (waiting for #507)
also some more deep tests are missing, wrote todo in tests.
|
|
|
|
implementing a https server with its own base testcase
for convenience. https is delicate, and I think it's better
checking against a real implementation than mocking everything
here.
|
|
|
|
closes #447
deprecates the use of config files; all options are passed
to openvpn as command line arguments.
|
|
|
|
|
|
|
|
|
|
|
|
it was not updating config dict
|
|
now callables are allowed in specs *only at one level depth*
to allow for last-minute evaluation on context-sensitive data,
like paths affected by os.environ
also some minor modifications to make check tests pass after
putting the new jsonconfig-based eipconfig in place.
aaaaaall green again :)
|
|
|
|
|
|
now we expect spec to be a dict for all the JSONLeapConfig instances.
|
|
also:
- changed name EIPChecker -> EipConfigChecker
- Added class documentation
|
|
removed "configuration" object. checks are called from conductor.
|
|
|
|
|
|
completed first version of EIPChecks
|
|
deprecated base:test_config.test_complete_file (dup functionality)
|
|
plus a little bit of cleaning around (created constants file).
added some notes about inminent deprecation *work in progress*
|
|
will handle pre-init sanity checks for eip connection.
some of this will actually end in more general leap-checks,
but let's keep it alltogether by now.
|
|
|
|
fix tests by introducing a (dirtish) workaround for
check for openvpn keys during vpn connection initialization.
noted that eipconnection constructor should be better not
having that class of side-effects.
|
|
|
|
|
|
test provider-definition dump functions.
refactored the set-temp-to-home methods to setUpClass
separate provider-fetch tests on different testcases (so they actually
call to requests).
|
|
adjusted some loose ends to make tests pass again.
this merge is still half-baked regarding functionality:
I've left in place old Configuration class used by
some tests antialias did on his branch. I plan to merge
that functionality with the more recent JSONConfig
and Spec classes.
Conflicts:
src/leap/base/configuration.py
src/leap/eip/config.py
src/leap/eip/tests/test_config.py
|
|
we still have to move most of those tests to test_baseconfig
|
|
|
|
|
|
(cherry picked from get-definition.json branch)
solve merge conflict since antialias was working in
a version in which baseconfig was still at `configuration` file.
Conflicts:
src/leap/base/configuration.py
|
|
|