mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-07-31 09:18:46 +02:00
How to use WiremockContainerBuilder for grpc using http2 #662
Closed
opened 2025-12-29 15:30:07 +01:00 by adam
·
16 comments
No Branch/Tag Specified
master
1341-mapping-json
stef-aspire-tests-updates
bug/973-TinyMapper
bug/1149-AppendGuidToSavedMappingFile
feature/1150-DockerImageVersion
61
stef-1108
stef-1097
stef-1083-MessageOptions_Type_Conflict
stef-1062-logger
stef-IgnoreOpenApiErrors
stef-928-TypeLoadException-FluentAssertions-net472
nunit
stef-849
stef-847-regex-questionmark
http_verb
WireMockServerContext
webapp
ai
CommandLineArgumentsParser
2.13.0
2.12.0
2.11.0
2.10.0
2.9.0
2.8.0
2.7.0
2.6.0
2.5.0
2.4.0
2.3.0
2.2.0
2.1.0
2.0.0
1.25.0
1.24.0
1.23.0
1.22.0
1.21.0
1.20.0
1.19.0
1.18.0
1.17.0
1.16.0
1.15.0
1.14.0
1.13.0
1.12.0
1.11.2
1.11.0
1.10.1
1.10.0
1.9.1
1.9.0
1.8.18
1.8.17
1.8.16
1.8.15
1.8.14
1.8.13
1.8.12
1.8.11
1.8.10
1.8.9
1.8.8
1.8.7
1.8.6
1.8.5
1.8.3
1.8.2
1.8.1
1.8.0
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.62
1.5.61
1.5.60
1.5.59
1.5.58
1.5.57
1.5.56
1.5.55
1.5.54
1.5.53
1.5.52
1.5.51
1.5.50
1.5.49
1.5.48
1.5.47
1.5.46
1.5.45
1.5.44
1.5.43
1.5.42
1.5.41
1.5.40
1.5.39
1.5.38
1.5.37
1.5.36
1.5.35
1.5.34
1.5.33
1.5.32
1.5.31
1.5.30
1.5.29
1.5.28
1.5.27
1.5.26
1.5.25
1.5.24
1.5.23
1.5.22
1.5.21
1.5.20
1.5.19
1.5.18
1.5.17
1.5.16
1.5.15
1.5.14
1.5.13
1.5.12
1.5.11
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.43
1.4.42
1.4.41
1.4.40
1.4.39
1.4.38
1.4.37
1.4.36
1.4.35
1.4.34
1.4.33
1.4.32
1.4.31
1.4.30
1.4.29
1.4.28
1.4.27
1.4.26
1.4.25
1.4.24
1.4.23
1.4.22
1.4.21
1.4.20
1.4.19
1.4.18
1.4.17
1.4.16
1.4.15
1.4.14
1.4.13
1.4.12
1.4.11
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.10
1.3.9
1.3.8
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.18
1.2.17
1.2.16
1.2.15
1.2.14
1.2.13
1.2.12
1.2.11.0
1.2.10
1.2.9.0
1.2.8.0
1.2.7.0
1.2.6.0
1.2.5.0
1.2.4.0
1.2.3.0
1.2.2.0
1.2.1.0
1.2.0.0
1.1.10
1.1.9.0
1.1.8.0
1.1.7.0
1.1.6.0
1.1.5.0
1.1.3.0
1.1.2.0
1.1.1.0
1.1.0.0
1.0.43.0
1.0.42.0
1.0.41.0
1.0.40.0
1.0.39.0
1.0.38.0
1.0.37.0
1.0.36.0
1.0.35.0
1.0.34.0
1.0.33.0
1.0.32.0
1.0.31.0
1.0.29.0
1.0.28.0
1.0.25.0
1.0.24.0
1.0.23.0
1.0.22.0
1.0.21.0
1.0.20.0
1.0.19.0
1.0.18.0
1.0.17.0
1.0.16.0
1.0.15.0
1.0.14.0
1.0.13.0
1.0.12.0
1.0.11.0
1.0.10.0
1.0.9.0
1.0.8.0
1.0.7.0
1.0.6.1
1.0.6
1.0.5
1.0.4.21
1.0.4.20
1.0.4.19
1.0.4.18
1.0.4.17
1.0.4.16
1.0.4.15
1.0.4.14
1.0.4.13
1.0.4.12
1.0.4.11
1.0.4.10
1.0.4.9
1.0.4.8
1.0.4.7
1.0.4.6
1.0.4.5
1.0.4.4
1.0.4.3
1.0.4.2
1.0.4.1
1.0.4.0
1.0.3.20
1.0.3.19
1.0.3.18
1.0.3.17
1.0.3.16
1.0.3.15
1.0.3.14
1.0.3.13
1.0.3.12
1.0.3.11
1.0.3.10
1.0.3.9
1.0.3.8
1.0.3.7
1.0.3.6
1.0.3.5
1.0.3.4
1.0.3.3
1.0.3.2
1.0.3.1
1.0.3.0
1.0.2.13
1.0.2.12
1.0.2.11
1.0.2.10
1.0.2.9
1.0.2.8
1.0.2.7
1.0.2.6
1.0.2.5
1.0.2.4
1.0.2.1
1.0.2.0
1.0.1.5
1.0.1.3
1.0.1.2
1.0.1.1
1.0.0.0
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/WireMock.Net-wiremock#662
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @GomesNayagam on GitHub (Jan 18, 2025).
Originally assigned to: @StefH on GitHub.
container should spin up and ready for testing.
timeout exception
@StefH commented on GitHub (Jan 18, 2025):
@GomesNayagam : for better readability, you can use markdown syntax highlighting.
json
And C#
https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks
@StefH commented on GitHub (Jan 18, 2025):
To answer your question:
The code you provided is starting WireMock (www.wiremock.org) and not this project.
See this page on how to use it:
https://github.com/WireMock-Net/WireMock.Net/wiki/Using-WireMock.Net.Testcontainers
@GomesNayagam commented on GitHub (Jan 21, 2025):
Hi @StefH I tried with new image and container able to up and running but when i query for mapping http://127.0.0.1:49160/app/__admin/mappings
it is throwing. "No matching mapping found"
@StefH commented on GitHub (Jan 21, 2025):
1] I think the URL you need to use is
http://127.0.0.1:49160/__admin/mappings(no app)2]
.withhttpversion("2")For this to work, you need to provide different urls to TestContainers
Can you try
Where
http://x.x.x.x:8080is the admin url + port to get / post the mappings.And
grpc://x.x.x.x:9090is the url + port for GRPC.(Note that you need to provide the correct values for x.x.x.x)
@GomesNayagam commented on GitHub (Jan 21, 2025):
@StefH I tried the above with this code coz i dont want to use any static ip not sure how that works, i am okey to have localhost.
POST: grpc://127.0.0.1:53296/grpc
Method: SayHello
Expected: work similar like this article says https://mstack.nl/blogs/wiremock-net-grpc/
Note i tried this preview as well 1.6.12-ci-19580, looks grpc server is not running in this container? correct me if i am wrong.
@StefH commented on GitHub (Jan 27, 2025):
@GomesNayagam
This is indeed not supported yet, I'll take a look if this can be added.
@StefH commented on GitHub (Jan 27, 2025):
Can you try this:
This will make sure that WireMock.Net inside the container will internally listen to 80 and 9090 and externally will use random ports.
You get get the random ports using:
Getting the mappings on the httpPort should work.
And calling GRPC method on the grpcPort should also work.
@GomesNayagam commented on GitHub (Jan 27, 2025):
@StefH below error
Error outpu:
@StefH commented on GitHub (Jan 27, 2025):
And this?
@StefH commented on GitHub (Jan 27, 2025):
https://github.com/WireMock-Net/WireMock.Net/pull/1246
@StefH commented on GitHub (Jan 27, 2025):
Or try preview NuGet version 1.7.1-ci-19645
Which can be used like this:
@GomesNayagam commented on GitHub (Jan 27, 2025):
@StefH port were running but grpc is not working.
files were in ..\mocks\greet\hellorequest.json
80 port works and able to get mapping details.
9090 grpc is nto working with grpc or http protocol. (used postman)
code
error log:
@StefH commented on GitHub (Jan 28, 2025):
It should be fixed.
Get latest preview and see this code:
https://github.com/WireMock-Net/WireMock.Net/blob/stef-1239-testcontainers-grpc/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.Grpc.cs#L130
@GomesNayagam commented on GitHub (Jan 29, 2025):
@StefH this works, also luv to see the container works like static server, to add protodefinition and refer it from mappings. like
Another request, can you remove this file and related code base as i provided this for e.g and i don't want to be in trouble from my company or atleast remove the line# 27 to 37 and update with some dummy value.
https://github.com/WireMock-Net/WireMock.Net/blob/master/test/WireMock.Net.Tests/Grpc/policy.proto#L27C2-L37C24
@StefH commented on GitHub (Jan 29, 2025):
@GomesNayagam
@GomesNayagam commented on GitHub (Jan 30, 2025):
@StefH appreciate it here is the feature request https://github.com/WireMock-Net/WireMock.Net/issues/1249 and let me know when the above tested pre release will be in main release.