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

Project Submission: weaver-test #112

Closed
2 of 3 tasks
Baccata opened this issue Jun 22, 2023 · 5 comments
Closed
2 of 3 tasks

Project Submission: weaver-test #112

Baccata opened this issue Jun 22, 2023 · 5 comments
Labels
projects Requests to join or leave the project

Comments

@Baccata
Copy link

Baccata commented Jun 22, 2023

Project Name

weaver-test

Project Short Description

Weaver-test is a test framework built on top of cats-effect/fs2. It currently lives under the disneystreaming org in github. The proposal here is to fork weaver-test under the typelevel organisation, and for the original repo's README to point to the new fork (I have the confirmation from Disney lawyers that this approach is okay from a legal standpoint, whereas a transfer of ownership is not).

Weaver's distinguishable features are :

  1. On JVM, all test suites are weaved in a single cats.effect.IO and run by a single IORuntime instance. A mechanism is provided to the users to share resources (http clients, database connections) across suites, which makes it well suited for integration/end-to-end tests that perform actual http calls to backend services (which is really why this framework was built)
  2. Weaver renders reports for failed tests at the very end of the test report (even across test suites), which makes it useful when there's thousands of tests, to avoid having to "scroll up" in CI forever to understand why a build is failing
  3. Weaver provides tests with a logger that can be used to store details as the test scenario's run. Logs are displayed alongside the failed tests reports, and not displayed when tests are successful
  4. Weaver provides integration with scalacheck's Gen, but doesn't use the scalacheck's Prop. The integration uses fs2, which enables a better parallelisation of properties than with scalacheck-effect, which is well suited for integration/end-to-end tests, once again.

Project Type

In accordance with the Typelevel Charter, I am proposing the project be a:

  • Organization Project

Project Management

Typelevel projects are required to have an appropriate Code of Conduct. The Scala Code of Conduct is a good option, but not specifically required. Before submitting a project for inclusion, please ensure that a pointer to its Code of Conduct is clearly linked from its README, CODE_OF_CONDUCT.md, or website.

  • This project's Code of Conduct can be found at : TODO

Similarly, Typelevel projects must have an appropriate license, as specified in the Typelevel Charter. Please make sure that the project's license is on the approved list.

Additional Notes

The proposal to fork weaver in typelevel comes from a lack of time on my end to maintain the project the way it should. The people who I counted on in my organisation to help with maintenance have left, and I'm having a hard time finding co-maintainers. I think that decoupling the project from the Disney company by means of fork would help.

@Baccata Baccata added the projects Requests to join or leave the project label Jun 22, 2023
@rossabaker
Copy link
Member

@typelevel/steering: please vote with reaction on the issue. 👍 for yes, 👎 for no, 👀 to abstain. Voting is open three business days (through Tuesday, June 27) and until quorum (7) is reached.

@rossabaker
Copy link
Member

Would the code of conduct be easier to add after a fork? I'd understand if that's the case and be satisfied with good intentions.

@Baccata
Copy link
Author

Baccata commented Jun 22, 2023

It would indeed, and that is my intention

@rossabaker
Copy link
Member

Bump /cc @typelevel/steering

@rossabaker
Copy link
Member

That's a quorum and a unanimous acceptance. The logistics are covered in #114.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
projects Requests to join or leave the project
Projects
None yet
Development

No branches or pull requests

2 participants