-
Notifications
You must be signed in to change notification settings - Fork 330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue #293: HTTP proxy support #355
Open
mwilck
wants to merge
24
commits into
vitalyrodnenko:master
Choose a base branch
from
mwilck:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This patch adds support for a HTTP proxy to the geeknote oauth authorization code. The proxy is read from system settings, usually the environment variable https_proxy. Basic proxy authorization is supported. Note that for geeknote to work through a proxy, proxy support for thrift needs to be enabled, too. See https://issues.apache.org/jira/browse/THRIFT-3798
The previous code wouldn't see the changed sys.stdout in printLine(). This way it works better.
The conversion has been broken since be00692. That patch divided the timestamp effectively by 1000 twice.
Take account of the fact that evernote measures time in milliseconds since 1.1.1970. Together with the previous commit, this fixes the test failure in test_print_date().
printList() and searchResult() use 18-character wide date fields. outTest hasn't been adapted to this until now.
This must be an assertRaises test.
The output was wrong by one \n.
Open
thread.join has the advantage to return immediately when the editor quit, while time.sleep will sleep unconditionally.
Avoid spoiing users's APP_DIR in developer mode. DEV_MODE is likely to be used from a source directory, so use just TOPDIR/config.
The credentials are read from the APP_DIR/credentials, which shoul have the following format (parsed with python's exec() function): credentials="username:password:two-factor-auth-code"
This will be used by the unit tests instead of a real editor. Its current behavior is to delete all lines containing the word "delete", and leave all else untouched.
In sandbox mode (DEV_MODE=True), test_print_list_with_urls_success() makes wrong assumptions about the URLs printed.
The storage "hack" would modify the Storage class and thus affect other unit tests relying on working Storage(). Use a derived class instead.
Create a real test case with AssertEqual statements for test_editWithEditorInThread(). Also, use the pseudoedit editor to avoid user interaction in the test cases.
A unit test that connects to the evernote sandbox server and performs various tests. These tests will only be done in DEV_MODE (sandbox server). It is recommended to put the sandbox server credentials into $TOPDIR/config/credentials to avoid user interaction during the test. NOTE: the notebook deletion is forbidden by evernote by design.
This patch adds a proxy test. The sandbox test is repeated with a squid proxy created with the proxyenv package (https://pypi.python.org/pypi/proxyenv). This unit test covers both proxy support for thrift ("normal" evernote requests) and for oauth in geeknote (login/logout calls). This change requires some changes in the setUpClass() procedure of sandboxTest: geeknote needs to be forced to forget the credentials for the login/logout test. Note again that proxy support requires patches for both geeknote and thrift. See https://issues.apache.org/jira/browse/THRIFT-3798. Note also that this test, as the sandbox test in general, is only active with config.DEV_MODE=True. Valid Evernote sandbox credentials are expected in APP_DIR/credentials for this test to run without user interaction.
ba47972 had mistakenly set DEV_MODE=True
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi Vitaiy,
here is a patch for HTTP proxy support (issue #293), plus instructions how to make it work (it requires separate patches for thrift). Please review and apply at your leisure. I tested this through a company proxy, it worked nicely for me.
Regards
Martin