Open
Conversation
Resolve "Improve testing" Closes #3 See merge request ispyb/py-ispyb!3
Co-authored-by: Maël Gaonach <mael.gaonach@esrf.fr>
Co-authored-by: Maël Gaonach <mael.gaonach@esrf.fr>
* Sync proposal, persons and laboratories * Added sync of proteins * Added sync of sessions * Added sync of proteins, ProposalHasPerson and Session_has_Person * Person session_options not taken into account when Person is related to Proposal * Added some automatic testing for ProposalHasPerson and SessionHasPerson * Fixed lint * Added Pydantic PersonSessionLaboratory class * Added sync of LabContacts * Added option to sync Proposal by using externalId field * Added option to sync Person by using externalId field * Added sync of session only via externalId field * Added sync of Protein only via externalId field * siteId removed from Person sync logic in favor of login/externalID * Minor fix when adding session persons * Sync of session using either externalId or expSessionPk * Sync of protein using externalId or acronym * Check list of persons are unique before processing them * Removed usage of sqlalchemy or_ in queries * Optional laboratory eager loading for get_persons * Added a case to update laboratory values * Added some UserPortalSync automatic testings for updating entities * docs: Initial documentation for User Portal Sync #127 * Changed references to the new ispyb models external package * Remove usage of sqlcodegen generated relationships * Add queries with relations for proposals (proposalHasPerson) and sessions (sessionHasPerson) according to ispyb-models 1.0.2 * Add permission uportal_sync to restrict the User Sync Portal endpoint * Do not sync session comments (they are written by user or admin) * Add uportal_sync mock permission * Remove own_proposals and own_sessions from documentation * Minor fix on get_sessions function * Ignoring Protein _global field * Separate Laboratory schema for GET and LaboratoryCreate for POST * Person.Laboratory is now optional * Updated laboratory schemas * Reuse encode/decode of externalId fields * Missed adding encode_external_id and decode_external_id util functions * Fix query total issue when using proposalHasPerson or sessionHasPerson * Add with_db_session pytest fixture * Add method and payload in ApiTestInput * Add default values for method and payload in ApiTestInput * Move userportalsync route and add db option to disable it * Missed removing some default payload * Removed all_sessions * sync_proposal returns the time it took to run as float * Change route for sync_proposal json schema * Change userportalsync routes to use webservice base * Document sync_proposal responses * Remove up_sync json schema endpoint
… (#220) * Pin version 8.0.29 of mysql-connector-python and remove mysql-connector in setup.cfg * Remove mysqlclient and mysql-connector from requirements.txt
+ some basic resources
* dockerfile and doc * CI
This file contains hidden or 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
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.
No description provided.