diff --git a/Directory.Build.props b/Directory.Build.props index dc8cf39b..b8d411df 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -12,6 +12,7 @@ git https://github.com/WireMock-Net/WireMock.Net ../../resources/WireMock.Net-Logo.ico + PackageReadme.md Latest enable @@ -29,7 +30,7 @@ - + diff --git a/PackageReadme.md b/PackageReadme.md new file mode 100644 index 00000000..ecf777f3 --- /dev/null +++ b/PackageReadme.md @@ -0,0 +1,55 @@ +## WireMock.Net +Lightweight Http Mocking Server for .NET, inspired by [WireMock(http://WireMock.org) from the Java landscape. + +### :star: Key Features +* HTTP response stubbing, matchable on URL/Path, headers, cookies and body content patterns +* Library can be used in unit tests and integration tests +* Runs as a standalone process, as windows service, as Azure/IIS or as docker +* Configurable via a fluent C# .NET API, JSON files and JSON over HTTP +* Record/playback of stubs (proxying) +* Per-request conditional proxying +* Stateful behaviour simulation +* Response templating / transformation using Handlebars and extensions +* Can be used locally or in CI/CD scenarios + +### :star: Stubbing +A core feature of WireMock.Net is the ability to return predefined HTTP responses for requests matching criteria. +See [Wiki : Stubbing](https://github.com/WireMock-Net/WireMock.Net/wiki/Stubbing). + +### :star: Request Matching +WireMock.Net support advanced request-matching logic, see [Wiki : Request Matching](https://github.com/WireMock-Net/WireMock.Net/wiki/Request-Matching). + +### :star: Response Templating +The response which is returned WireMock.Net can be changed using templating. This is described here [Wiki : Response Templating](https://github.com/WireMock-Net/WireMock.Net/wiki/Response-Templating). + +### :star: Admin API Reference +The WireMock admin API provides functionality to define the mappings via a http interface see [Wiki : Admin API Reference](https://github.com/StefH/WireMock.Net/wiki/Admin-API-Reference). + +### :star: Using +WireMock.Net can be used in several ways: + +#### UnitTesting +You can use your favorite test framework and use WireMock within your tests, see +[Wiki : UnitTesting](https://github.com/StefH/WireMock.Net/wiki/Using-WireMock-in-UnitTests). + +#### As a dotnet tool +It's simple to install WireMock.Net as (global) dotnet tool, see [Wiki : dotnet tool](https://github.com/StefH/WireMock.Net/wiki/WireMock-as-dotnet-tool). + +#### As standalone process / console application +This is quite straight forward to launch a mock server within a console application, see [Wiki : Standalone Process](https://github.com/StefH/WireMock.Net/wiki/WireMock-as-a-standalone-process). + +#### As a Windows Service +You can also run WireMock.Net as a Windows Service, follow this [WireMock-as-a-Windows-Service](https://github.com/WireMock-Net/WireMock.Net/wiki/WireMock-as-a-Windows-Service). + +#### As a Web Job in Azure or application in IIS +See this link [WireMock-as-a-(Azure)-Web-App](https://github.com/WireMock-Net/WireMock.Net/wiki/WireMock-as-a-(Azure)-Web-App) + +#### In a docker container +There is also a Linux and Windows-Nano container available at [hub.docker.com](https://hub.docker.com/r/sheyenrath). +For more details see also [Docker](https://github.com/WireMock-Net/WireMock.Net-docker). + +#### HTTPS / SSL +More details on using HTTPS (SSL) can be found here [Wiki : HTTPS](https://github.com/WireMock-Net/WireMock.Net/wiki/Using-HTTPS-(SSL)) + +## :books: Documentation +For more info, see also this WIKI page: [What is WireMock.Net](https://github.com/WireMock-Net/WireMock.Net/wiki/What-Is-WireMock.Net). \ No newline at end of file diff --git a/README.md b/README.md index 255df9d8..82368fba 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,24 @@ # WireMock.Net -A C# .NET version based on [mock4net](https://github.com/alexvictoor/mock4net) which mimics the functionality from the JAVA based [WireMock.org](http://WireMock.org). +A C# .NET version based on [mock4net](https://github.com/alexvictoor/mock4net) which mimics the functionality from the JAVA based [WireMock](http://WireMock.org). For more info, see also this WIKI page: [What is WireMock.Net](https://github.com/WireMock-Net/WireMock.Net/wiki/What-Is-WireMock.Net). -## Key Features +## :star: Key Features * HTTP response stubbing, matchable on URL/Path, headers, cookies and body content patterns * Library can be used in unit tests and integration tests * Runs as a standalone process, as windows service, as Azure/IIS or as docker -* Configurable via a fluent DotNet API, JSON files and JSON over HTTP +* Configurable via a fluent C# .NET API, JSON files and JSON over HTTP * Record/playback of stubs (proxying) * Per-request conditional proxying * Stateful behaviour simulation * Response templating / transformation using Handlebars and extensions * Can be used locally or in CI/CD scenarios -## Blogs +## :memo: Blogs - [mStack.nl : Generate C# Code from Mapping(s)](https://mstack.nl/blog/20230201-wiremock.net-tocode/) -## Project Info +## :computer: Project Info | | | | --- | --- | | ***Project*** |   | @@ -31,7 +31,7 @@ For more info, see also this WIKI page: [What is WireMock.Net](https://github.co |   **Sonar Bugs** | [![Sonar Bugs](https://sonarcloud.io/api/project_badges/measure?project=WireMock-Net_WireMock.Net&metric=bugs)](https://sonarcloud.io/project/issues?id=WireMock-Net_WireMock.Net&resolved=false&types=BUG) [![Sonar Code Smells](https://sonarcloud.io/api/project_badges/measure?project=WireMock-Net_WireMock.Net&metric=code_smells)](https://sonarcloud.io/project/issues?id=WireMock-Net_WireMock.Net&resolved=false&types=CODE_SMELL) | |   **Coverage** | [![Sonar Coverage](https://sonarcloud.io/api/project_badges/measure?project=WireMock-Net_WireMock.Net&metric=coverage)](https://sonarcloud.io/component_measures?id=WireMock-Net_WireMock.Net&metric=coverage) [![codecov](https://codecov.io/gh/WireMock-Net/WireMock.Net/branch/master/graph/badge.svg)](https://codecov.io/gh/WireMock-Net/WireMock.Net)| -### NuGet packages +### :package: NuGet packages | | Official | Preview [:information_source:](https://github.com/WireMock-Net/WireMock.Net/wiki/MyGet-preview-versions) | | - | - | - | @@ -45,23 +45,23 @@ For more info, see also this WIKI page: [What is WireMock.Net](https://github.co |   **WireMock.Org.RestClient** | [![NuGet Badge WireMock.Org.RestClient](https://buildstats.info/nuget/WireMock.Org.RestClient)](https://www.nuget.org/packages/WireMock.Org.RestClient) | [![MyGet Badge WireMock.Org.RestClient](https://buildstats.info/myget/wiremock-net/WireMock.Org.RestClient?includePreReleases=true)](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Org.RestClient) -## Development +## :memo: Development For the supported frameworks and build information, see [this](https://github.com/WireMock-Net/WireMock.Net/wiki/Development-Information) page. -## Stubbing +## :star: Stubbing A core feature of WireMock.Net is the ability to return predefined HTTP responses for requests matching criteria. See [Wiki : Stubbing](https://github.com/WireMock-Net/WireMock.Net/wiki/Stubbing). -## Request Matching +## :star: Request Matching WireMock.Net support advanced request-matching logic, see [Wiki : Request Matching](https://github.com/WireMock-Net/WireMock.Net/wiki/Request-Matching). -## Response Templating +## :star: Response Templating The response which is returned WireMock.Net can be changed using templating. This is described here [Wiki : Response Templating](https://github.com/WireMock-Net/WireMock.Net/wiki/Response-Templating). -## Admin API Reference +## :star: Admin API Reference The WireMock admin API provides functionality to define the mappings via a http interface see [Wiki : Admin API Reference](https://github.com/StefH/WireMock.Net/wiki/Admin-API-Reference). -## Using +## :star: Using WireMock.Net can be used in several ways: ### UnitTesting diff --git a/WireMock.Net Solution.sln b/WireMock.Net Solution.sln index 49772701..6e07ee6c 100644 --- a/WireMock.Net Solution.sln +++ b/WireMock.Net Solution.sln @@ -28,6 +28,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .github\FUNDING.yml = .github\FUNDING.yml Generate-ReleaseNotes.cmd = Generate-ReleaseNotes.cmd nuget.config = nuget.config + PackageReadme.md = PackageReadme.md PackageReleaseNotes.template = PackageReleaseNotes.template PackageReleaseNotes.txt = PackageReleaseNotes.txt README.md = README.md