| Age | Commit message (Collapse) | Author | 
|---|
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | https://github.com/genenetwork/genenetwork2/issues/296 | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | https://github.com/pjotrp/genenetwork2/commit/63a5c8a42ad02e9126bb207465ff5eca98f6515d
- Renamed WQFLASK_SETTINGS to GN2_SETTINGS | 
|  | * Add mapping tests, and build the first of the tests. | 
|  | * Mainly to tell the dependencies easily. | 
|  | * Ensure the key exists in the json object/dictionary, before trying to
  use it to retrieve a value. | 
|  |  | 
|  |  | 
|  | * Add the module that will hold the code to test the links on the
  system. | 
|  | * Use argparse to handle commandline arguments.
* Create initial layout of how the code might end up - lots of the code
  is currently commented out. | 
|  | * Check that the links for OAuth2 logins via ORCID and GitHub are setup
  correctly. | 
|  | * Provide connections to elasticsearch at various points in the code.
  These oversight was caught while running tests. | 
|  |  | 
|  |  | 
|  | * With the parameterized module, the testcase cannot be run
  independently at this time. | 
|  | * 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. | 
|  | * 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. | 
|  |  | 
|  |  | 
|  | * Add an integration test to test that the login process for users
  registered locally to genenetwork2 works as expected. | 
|  | * 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. | 
|  | * Rename the file to make it an importable module
* Refactor the test to move common code out to a super class. | 
|  | * Add integration test to check the registration process. | 
|  |  | 
|  |  | 
|  | PYTHONPATH needed as
it is now in the Guix build. | 
|  |  | 
|  | * Update functions to make them more testable.
* Update code using updated functions. | 
|  | * 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. | 
|  | * Add some extra checks to ensure that elasticsearch is running before
  presenting the UI to the user. | 
|  | * 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. | 
|  | * Refactor code that can be used in more than one place to a more
  generic method/function that's called by other methods | 
|  | * Update the code so that it sends out emails for the "forgot password"
  feature. | 
|  | * Add configuration variables to enable the system connect to the
  configured SMTP server to send out emails. | 
|  |  | 
|  | * 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. | 
|  | * 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. | 
|  | * Register local accounts onto elasticsearch rather than mysql.
* Login from the accounts on elasticsearch
* Harmonise local and oauth2 logins to use the same code. | 
|  | * Add code to handle the login via ORCID | 
|  | * Have the authorisation URLs build up from the client id and client
  secret values. | 
|  | * Add some code to handle the login if the user chooses to login via
  GitHub or ORCID. | 
|  | * Elasticsearch need a short delay after adding document for it to index
  the document for subsequent access. |