Skip to content

Instantly share code, notes, and snippets.

@LakiG
Last active September 1, 2023 23:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LakiG/35fd41c6eedc68363cf6d06105446c12 to your computer and use it in GitHub Desktop.
Save LakiG/35fd41c6eedc68363cf6d06105446c12 to your computer and use it in GitHub Desktop.
Google Summer of Code '23 Final Report - Common compliance testing framework for every OpenAPI specification

Google Summer of Code 2023 Final Report

In the preceding year, as a Google Summer of Code (GSoC) contributor in 2022, I had the privilege of developing a Compliance testing framework for the Task Execution Service API. This year, I am grateful to have the distinct opportunity to build upon and further refine this project. This report serves as a comprehensive summary of my contributions in the GSoC 2023 program.

Project Summary

An interoperable automated framework for compliance testing has been developed, equipped with the capability to execute customizable test files. The framework's architecture is meticulously designed to support every OpenAPI specification. The compliance suite serves the crucial purpose of assessing the conformance of API services to their defined API specifications. Functioning as a GitHub Action, the compliance suite seamlessly integrates with diverse repositories, thereby fostering streamlined CI/CD processes. Comprehensive tests have been tailored for the Task Execution Service (TES) and the Workflow Execution Service (WES), integral components of the GA4GH API standard.

Background

The Global Alliance for Genomics and Health (GA4GH) is a "policy-framing and technical standards-setting organization, seeking to enable responsible genomic data sharing within a human rights framework."

ELIXIR is a multinational Europe-based initiative that unites life science laboratories and organizations to establish a common infrastructure that supports and integrates scalable, sustainable bioinformatics and data analysis services for member states and beyond.

ELIXIR Cloud & AAI is a Driver Project of the Global Alliance for Genomics and Health (GA4GH), led by the ELIXIR Compute Platform. Their commitment lies in actively contributing to the development, promotion, and adoption of GA4GH standards and policies. Simultaneously, they represent the interests and utilize cases of ELIXIR within the framework of GA4GH.

What did I achieve?

The following milestones were achieved during the development of this project::

  • Separation of the Test runner and the API Tests
  • Published the Test runner as a PyPI package
  • Implementation of GitHub Action, enabling its seamless integration into CI pipelines for conducting compliance tests.
  • Implementation of template referencing to help eliminate the redundancy of creating the same tasks in multiple test files.
  • Addition of new CLI args
    • --include-tags and --exclude-tags to run selective tests
    • --test-path to run individual test files or all test files within a specific directory.
  • Development of tests for Workflow Execution Service (WES) API standard

Outlook

The OpenAPI compliance suite has advanced to the Beta stage and is ready for real-world feedback to make fine-grained refinements and improvements. Some of the upcoming objectives outlined in the project's roadmap include:

  • Integrating the suite with the CI pipelines of existing API services.
  • Supporting advanced features required by API specifications, such as expression-based filtering, multiple input/output formats, etc
  • Publicizing the compliance suite to external APIs.

Acknowledgement

I would like to express my gratitude to my mentors for giving me this fantastic opportunity to extend my project again this year. They have been incredibly supportive and encouraging, always pushing me to do my best. Despite their busy schedules, they have always been available to share their insights and feedback, which has helped me to make the project a better version of itself.

Although this marks my last year as a GSOC contributor, I hold a deep desire to contribute once more should I meet the eligibility criteria. This experience has been invaluable to me, and I have learned so much about open-source development, code ownership, and more. I am grateful for the opportunity to have been a part of this program, and I look forward to more such experiences in the future.

Lakshya Garg

Logo_Banner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment