aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-26Refactor startup config for gunicorn and werkzeugPjotr Prins
2018-03-26FixPjotr Prins
2018-03-26Authentication: some mods around defaultsPjotr Prins
2018-03-26RELEASENOTESPjotr Prins
2018-03-26- Disabled PYTHONPATH injection - fix Guix instead, see ↵Pjotr Prins
https://github.com/pjotrp/genenetwork2/commit/63a5c8a42ad02e9126bb207465ff5eca98f6515d - Renamed WQFLASK_SETTINGS to GN2_SETTINGS
2018-03-26Initialise mapping testsMuriithi Frederick Muriuki
* Add mapping tests, and build the first of the tests.
2018-03-26Move import to the top of the page.Muriithi Frederick Muriuki
* Mainly to tell the dependencies easily.
2018-03-26Check that key exists before using itMuriithi Frederick Muriuki
* Ensure the key exists in the json object/dictionary, before trying to use it to retrieve a value.
2018-03-26Add tests for main web functionalityMuriithi Frederick Muriuki
2018-03-26Add tests to check links.Muriithi Frederick Muriuki
2018-03-26Add link_checker moduleMuriithi Frederick Muriuki
* Add the module that will hold the code to test the links on the system.
2018-03-26Use argparse to handle argumentsMuriithi Frederick Muriuki
* Use argparse to handle commandline arguments. * Create initial layout of how the code might end up - lots of the code is currently commented out.
2018-03-26Add tests to check that the UI is setup correctlyMuriithi Frederick Muriuki
* Check that the links for OAuth2 logins via ORCID and GitHub are setup correctly.
2018-03-26Provide connections to elasticsearchMuriithi Frederick Muriuki
* Provide connections to elasticsearch at various points in the code. These oversight was caught while running tests.
2018-03-26Add new tests for orcid loginsMuriithi Frederick Muriuki
2018-03-26Add new test for github loginsMuriithi Frederick Muriuki
2018-03-26Remove failing codeMuriithi Frederick Muriuki
* With the parameterized module, the testcase cannot be run independently at this time.
2018-03-26Simplify test. Check for content, rather than urlMuriithi Frederick Muriuki
* The test functions were very similar, so this commit refactors out the common test code to a single method, and passes in the data to the test using the parameterized package. * Check that the page content after a login attempt is the expected content, rather than checking the url.
2018-03-26Fix assumption of existing collectionMuriithi Frederick Muriuki
* When logging in, if a user selects "Import existing collections", the system would throw an exception, since Redis would return a NoneType, which would then be accessed by json.loads(), which doesn't seem to know how to process that. This fixes that, by providing a string representing an empty json array ("[]"), in place of the NoneType.
2018-03-26Add more login tests.Muriithi Frederick Muriuki
2018-03-26Add a runner for all integration tests.Muriithi Frederick Muriuki
2018-03-26Add test for local loginMuriithi Frederick Muriuki
* Add an integration test to test that the login process for users registered locally to genenetwork2 works as expected.
2018-03-26Create parametrized superclass for testsMuriithi Frederick Muriuki
* Since the tests require that some parameters be provided while running the tests, create a class that helps abstract away the details of retrieving and setting the expected parameters.
2018-03-26Rename file and move common codeMuriithi Frederick Muriuki
* Rename the file to make it an importable module * Refactor the test to move common code out to a super class.
2018-03-26Add registration testMuriithi Frederick Muriuki
* Add integration test to check the registration process.
2018-03-26Requests addedPjotr Prins
2018-03-26Added unittest examplePjotr Prins
2018-03-26Fixing authentication stuff so it uses parameters properly. Also no ↵Pjotr Prins
PYTHONPATH needed as it is now in the Guix build.
2018-03-26Add tests for Registration process.Muriithi Frederick Muriuki
2018-03-26Update module to make it more testableMuriithi Frederick Muriuki
* Update functions to make them more testable. * Update code using updated functions.
2018-03-26Check elasticsearch at point of useMuriithi Frederick Muriuki
* Instead of checking for the state of elasticsearch at startup, check the state at the moment the user requests a feature that depends on elasticsearch. This reduces the chances that the user is dropped onto an exception page when elasticsearch server goes down.
2018-03-26Add check for elasticsearchMuriithi Frederick Muriuki
* Add some extra checks to ensure that elasticsearch is running before presenting the UI to the user.
2018-03-26Add code to allow user to change passwordMuriithi Frederick Muriuki
* After the email is sent to the user, there is need to provide a way for the user to actually change their password, and have the results saved.
2018-03-26Refactor common items to more generic methods.Muriithi Frederick Muriuki
* Refactor code that can be used in more than one place to a more generic method/function that's called by other methods
2018-03-26Send emails for forgotten passwordsMuriithi Frederick Muriuki
* Update the code so that it sends out emails for the "forgot password" feature.
2018-03-26Add SMTP configuration variablesMuriithi Frederick Muriuki
* Add configuration variables to enable the system connect to the configured SMTP server to send out emails.
2018-03-26Fix conflictPjotr Prins
2018-03-26Fail safely if elasticsearch is down or unconfiguredMuriithi Frederick Muriuki
* If elasticsearch server is down, or the configuration variables are not provided at startup or in a configuration file, then do not allow the system to simply crash, but instead, inform the user that they cannot use the services that depend on elasticsearch to be running.
2018-03-26Set to None if no value providedMuriithi Frederick Muriuki
* Add a method to set the configuration variables to None if the configuration values are not provided at startup or in the configuration files. The system already checks for these values, and if they are absent, it simply fails to display the OAuth service as available for use to login.
2018-03-26Use elasticsearch rather than mysql for local accountsMuriithi Frederick Muriuki
* Register local accounts onto elasticsearch rather than mysql. * Login from the accounts on elasticsearch * Harmonise local and oauth2 logins to use the same code.
2018-03-26Add OAuth2 login code for ORCIDMuriithi Frederick Muriuki
* Add code to handle the login via ORCID
2018-03-26Update configurationsMuriithi Frederick Muriuki
* Have the authorisation URLs build up from the client id and client secret values.
2018-03-26Add code to enable OAuth2 loginMuriithi Frederick Muriuki
* Add some code to handle the login if the user chooses to login via GitHub or ORCID.
2018-03-26Delay after save for indexingMuriithi Frederick Muriuki
* Elasticsearch need a short delay after adding document for it to index the document for subsequent access.
2018-03-26Add more configuration variables.Muriithi Frederick Muriuki
* Add configurations for elasticsearch and github.
2018-03-26Add save_user() functionMuriithi Frederick Muriuki
* On successful login via OAuth2, save the details of the user in elasticsearch store, to avoid hitting the external provider for the basic details.
2018-03-26Add elasticsearch module to the pathMuriithi Frederick Muriuki
* Add some code to set up the path for the python-elasticsearch module.
2018-03-26Add functions to help handle github loginMuriithi Frederick Muriuki
* Add functions to help with the github OAuth2 login process
2018-03-26Add elasticsearch_tools moduleMuriithi Frederick Muriuki
* Collect variables and functions for using the elasticsearch system in a separate module.
2018-03-26Add client_id and client_secret configurationsMuriithi Frederick Muriuki
* Provide the OAuth2 client_id and client_secret values in configuration variables.