Skip to content

Project Submission: weaver-test #112

@Baccata

Description

@Baccata

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    projectsRequests to join or leave the project

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions