quarkus-wiremock icon indicating copy to clipboard operation
quarkus-wiremock copied to clipboard

Make WireMock extension for Quarkus an official Dev Service

Open oleg-nenashev opened this issue 1 year ago • 20 comments

Congrats with the 1.0.0 release @chberger !

This extension looks like a Dev Service, smells like a DevService, and also behaves and gets configured as a Dev Service. But formally it is not one at the moment. It would be great to make it more official and have it listed on https://quarkus.io/guides/dev-services and within the Quarkus app.

I'd be happy to help with documentation and whatever needed for it

Proposal

  • [x] Add extension to https://quarkus.io/guides/dev-services - https://github.com/quarkusio/quarkus/pull/39913
  • [ ] Reference the extension tutorial from proper Dev Services locations, e.g. in https://quarkus.io/guides/getting-started-testing
  • [x] Add the extension to the Dev Services list in Dev UI

Quarkus Dev UI

Right now the extension is not listed as a dev service

image

image

oleg-nenashev avatar Nov 24 '23 10:11 oleg-nenashev

Hi @oleg-nenashev, many thanks! 🚀

I really like your proposal! 👍 However, I'm not sure whether the Quarkus team will actually list external Dev Services in their guides. I have the impression that all Dev Services currently mentioned are part of the core platform.

Anyway, feel free to get in touch with the Quarkus team. Maybe it is actually conceivable ... 🤞

Regarding your last point I've created a PR which addresses this issue: https://github.com/quarkiverse/quarkus-wiremock/pull/72. I would be delighted if you would review it.

chberger avatar Nov 25 '23 14:11 chberger

Cc @maxandersen @aloubyansky for the dev service criteria. On behalf of the WireMock community, would be happy to cooperate on that

oleg-nenashev avatar Nov 25 '23 14:11 oleg-nenashev

We already have neo4j listed.

If gets to be issue we'll fix it and make it work.

maxandersen avatar Nov 25 '23 15:11 maxandersen

I've raised https://github.com/quarkusio/quarkusio.github.io/issues/1869 for a discussion of listing more dev services on https://quarkus.io/guides/dev-services.

holly-cummins avatar Jan 09 '24 17:01 holly-cummins

Hi @chberger could you please send me your contact email address (my one is public in the profile - o.v.nenashev at gmail dot com)? I would like to add you directly to the email conversation with @holly-cummins that we started on this subject

oleg-nenashev avatar Jan 17 '24 08:01 oleg-nenashev

@chberger This is being labeled as stale.

github-actions[bot] avatar Mar 17 '24 12:03 github-actions[bot]

@chberger This is being closed due to inactivity.

github-actions[bot] avatar Mar 24 '24 12:03 github-actions[bot]

@chberger could you please reopen it?

oleg-nenashev avatar Mar 25 '24 17:03 oleg-nenashev

@oleg-nenashev thanks for the hint

chberger avatar Mar 25 '24 20:03 chberger

  • I've raised https://github.com/quarkusio/quarkus/pull/39913 to list the WireMock extension in the list of dev services
  • For https://quarkus.io/guides/getting-started-testing, it looks like the page mentions WireMock a few times, and should be updated to refer to the extension instead. Perhaps @oleg-nenashev or @chberger could do a PR?
  • For the Dev UI, this information is automagically pulled from what's in the extension. @phillip-kruger, is the dev services information supposed to be automatically populated if an extension has a dev service, or do the WireMock team need to work through some of the steps in https://quarkus.io/guides/dev-ui?

holly-cummins avatar Apr 05 '24 15:04 holly-cummins

Oh, and I thought I already commented, but I can't find it, so maybe not. As a general terminology clarification, a dev service is just the ability to start a zero-configuration container; some extensions do, and some don't. It's not a description of extension status or something extensions get nominated to be.

holly-cummins avatar Apr 05 '24 15:04 holly-cummins

@holly-cummins yes that should happen automatically. As long as they produce io.quarkus.deployment.dev.devservices.DevServiceDescriptionBuildItem. See https://github.com/quarkusio/quarkus/blob/c24cfd708ba71c285b0b7459ee2e5956124e3b7b/extensions/vertx-http/deployment/src/main/java/io/quarkus/devui/deployment/menu/DevServicesProcessor.java#L27

phillip-kruger avatar Apr 05 '24 20:04 phillip-kruger

Thanks, @phillip-kruger! I can see the dev services description build item in the code, so I guess the next thing is to confirm if the dev service is still missing from the UI.

I've just checked (sorry, I should have done that before asking you, @phillip-kruger!), and I can see it in my dev UI:

image

@oleg-nenashev, is it still missing for you?

holly-cummins avatar Apr 06 '24 07:04 holly-cummins

@holly-cummins it was added by @chberger in 1.1.0 - https://github.com/quarkiverse/quarkus-wiremock/pull/72 . Sorry, this ticket is a bit dated, will update

oleg-nenashev avatar Apr 06 '24 08:04 oleg-nenashev

See https://quarkus.io/version/main/guides/dev-services for the new guide content. So I think it's just mentioning the extension in https://quarkus.io/guides/getting-started-testing which is outstanding.

holly-cummins avatar Apr 08 '24 21:04 holly-cummins

@chberger This is being labeled as stale.

github-actions[bot] avatar Jun 26 '24 12:06 github-actions[bot]

Not stale but still needs a few steps

oleg-nenashev avatar Jun 26 '24 12:06 oleg-nenashev

@chberger This is being labeled as stale.

github-actions[bot] avatar Aug 26 '24 12:08 github-actions[bot]

The one outstanding item for this item is adding something to https://quarkus.io/guides/getting-started-testing. I never know exactly how much the guides should be about the core/platform, and how much they should include the whole Quarkiverse, but independently of that question, this bit in the guide seems definitely wrong:

Common cases include starting docker containers using Testcontainers (an example of which can be found here), or starting a mock HTTP server using Wiremock (an example of which can be found here).

We wouldn't expect people to use a test resource for WireMock, because there's an extension. So the text wants changing, maybe to find a different example of user-managed resources. And @geoand, I wonder if the code example should be updated?

holly-cummins avatar Aug 27 '24 16:08 holly-cummins

Yeah, we can definitely update that

geoand avatar Aug 27 '24 16:08 geoand