Skip to content
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

Add tests for sheet2linkml #8

Open
gaurav opened this issue May 10, 2021 · 2 comments
Open

Add tests for sheet2linkml #8

gaurav opened this issue May 10, 2021 · 2 comments

Comments

@gaurav
Copy link
Collaborator

gaurav commented May 10, 2021

The easiest way to test this would be to see if it can convert the CRDC-H model in Google Sheets into valid LinkML, but this is a bad idea since the CRDC-H model in Google Sheets will probably be changing soon. Instead, we should probably come up with a dummy spreadsheet whose sole purpose is to test this generator.

@gaurav
Copy link
Collaborator Author

gaurav commented Aug 19, 2021

Might be a good idea to do this for the data in https://harmonization.datacommons.cancer.gov/additional-resources

@gaurav
Copy link
Collaborator Author

gaurav commented Aug 22, 2021

@gaurav gaurav changed the title Add tests Add tests for sheet2linkml Sep 9, 2021
@gaurav gaurav transferred this issue from cancerDHC/ccdhmodel Oct 1, 2021
gaurav added a commit that referenced this issue Dec 10, 2021
This PR adds a "dummy sheet test" (#8) -- it runs sheet2linkml with a Google Sheet I've created solely for testing at https://docs.google.com/spreadsheets/d/1HpsF12vl_CeIzV2TEtANeysnh7cy6YOUDdv6fMXT00I/edit#gid=1810442705, and ensures that the output is identical to the schema generated on previous runs, which is included in this PR.

In addition to this, this PR also fixes some minor bugs found along with the way:
- The CCDH Terminology Service enumeration endpoint changed its format, so we have to modify our API to match it.
- The CCDH Terminology Service now returns 404s if the field doesn't exist or is not an enumeration, so we modify our code to catch that possibility.
- Fixes #10 by allowing the use of [Google API Service Accounts in an environmental variable](https://pygsheets.readthedocs.io/en/stable/authorization.html#service-account), allowing testing on GitHub Actions.
- Added `pytest` to support testing.
- Added a command line option to set the Google Sheet ID.
- Added checks to ensure that the `logging_config` and `google_sheet_id` command line arguments are set before using them.
- Made sheet2linkml explicitly set the error code to `0` in case of successful execution.
- Replaced a stray `print()` with `logging.debug()`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant