mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-02-28 13:07:39 +01:00
Compare commits
1 Commits
1.4.2
...
CommandLin
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43177d45c3 |
12
.github/FUNDING.yml
vendored
12
.github/FUNDING.yml
vendored
@@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
|
||||||
patreon: # Replace with a single Patreon username
|
|
||||||
open_collective: # Replace with a single Open Collective username
|
|
||||||
ko_fi: # Replace with a single Ko-fi username
|
|
||||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
|
||||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
||||||
liberapay: # Replace with a single Liberapay username
|
|
||||||
issuehunt: # Replace with a single IssueHunt username
|
|
||||||
otechie: # Replace with a single Otechie username
|
|
||||||
custom: https://www.paypal.me/stefheyenrath
|
|
||||||
21
.github/ISSUE_TEMPLATE/bug_report.md
vendored
21
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report
|
|
||||||
title: ''
|
|
||||||
labels: bug
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### Describe the bug
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
### Expected behavior:
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
### Test to reproduce
|
|
||||||
- 1
|
|
||||||
- 2
|
|
||||||
|
|
||||||
### Other related info
|
|
||||||
Provide additional information if any.
|
|
||||||
23
.github/ISSUE_TEMPLATE/feature_request.md
vendored
23
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,23 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest an idea or new feature
|
|
||||||
title: ''
|
|
||||||
labels: feature
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Is your feature request related to a problem? Please describe.**
|
|
||||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
||||||
|
|
||||||
**Describe the solution you'd like**
|
|
||||||
A clear and concise description of what you want to happen.
|
|
||||||
|
|
||||||
**Describe alternatives you've considered**
|
|
||||||
A clear and concise description of any alternative solutions or features you've considered.
|
|
||||||
|
|
||||||
**Is your feature request supported by [WireMock (java version)](https://www.wiremock.org)? Please provide details.**
|
|
||||||
Provide relevant information if requested feature is supported in [Handlebarsjs](https://handlebarsjs.com/) but is missing in our implementation.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context or screenshots about the feature request here.
|
|
||||||
14
.github/ISSUE_TEMPLATE/question.md
vendored
14
.github/ISSUE_TEMPLATE/question.md
vendored
@@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
name: Question
|
|
||||||
about: Ask a question
|
|
||||||
title: ''
|
|
||||||
labels: question
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Ask question related to the repo, e.g:
|
|
||||||
- How to achieve ... ?
|
|
||||||
- How does ... work?
|
|
||||||
|
|
||||||
Please be specific so we can provide the best answer possible.
|
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -250,8 +250,3 @@ paket-files/
|
|||||||
# JetBrains Rider
|
# JetBrains Rider
|
||||||
.idea/
|
.idea/
|
||||||
*.sln.iml
|
*.sln.iml
|
||||||
|
|
||||||
./report/coverlet/
|
|
||||||
/test/WireMock.Net.Tests/coverage.opencover.xml
|
|
||||||
/test/WireMock.Net.Tests/coverage.netcoreapp3.1.opencover.xml
|
|
||||||
/test/WireMock.Net.Tests/coverage.net5.0.opencover.xml
|
|
||||||
|
|||||||
31
.vscode/launch.json
vendored
31
.vscode/launch.json
vendored
@@ -1,11 +1,22 @@
|
|||||||
{
|
{
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
{
|
{
|
||||||
"name": ".NET Core Attach",
|
"name": ".NET Core Launch (WireMock.Net.StandAlone.NETCoreApp)",
|
||||||
"type": "coreclr",
|
"type": "coreclr",
|
||||||
"request": "attach",
|
"request": "launch",
|
||||||
"processId": "${command:pickProcess}"
|
"preLaunchTask": "build_WireMock.Net.StandAlone.NETCoreApp",
|
||||||
}
|
"program": "${workspaceRoot}/examples/WireMock.Net.StandAlone.NETCoreApp/bin/Debug/netcoreapp2.0/WireMock.Net.StandAlone.NETCoreApp.dll",
|
||||||
]
|
"args": [],
|
||||||
|
"cwd": "${workspaceRoot}",
|
||||||
|
"stopAtEntry": false,
|
||||||
|
"console": "internalConsole"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": ".NET Core Attach",
|
||||||
|
"type": "coreclr",
|
||||||
|
"request": "attach",
|
||||||
|
"processId": "${command:pickProcess}"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
996
CHANGELOG.md
996
CHANGELOG.md
@@ -1,676 +1,320 @@
|
|||||||
# 1.4.2 (24 January 2021)
|
# 1.0.4.21 (09 November 2018)
|
||||||
- [#566](https://github.com/WireMock-Net/WireMock.Net/pull/566) - Do not save Mappings when SaveMappingForStatusCodePattern does not match [bug] contributed by [StefH](https://github.com/StefH)
|
- [#221](https://github.com/WireMock-Net/WireMock.Net/pull/221) - Update dependencies [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
- [#565](https://github.com/WireMock-Net/WireMock.Net/issues/565) - NullReferenceException [bug]
|
- [#229](https://github.com/WireMock-Net/WireMock.Net/pull/229) - Fix proxy tests [test] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#230](https://github.com/WireMock-Net/WireMock.Net/pull/230) - Add HandleBars Random functionality (#219) [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.4.1 (19 January 2021)
|
- [#219](https://github.com/WireMock-Net/WireMock.Net/issues/219) - Feature: random value helper [feature]
|
||||||
- [#562](https://github.com/WireMock-Net/WireMock.Net/pull/562) - Refactor Transformer (add Scriban) [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#214](https://github.com/WireMock-Net/WireMock.Net/issues/214) - Feature: Add support for template language DotLiquid [feature]
|
# 1.0.4.20 (07 November 2018)
|
||||||
|
- [#222](https://github.com/WireMock-Net/WireMock.Net/pull/222) - Codecov contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.4.0 (12 January 2021)
|
- [#224](https://github.com/WireMock-Net/WireMock.Net/pull/224) - Fixed issue 223: Example for WireMock as Windows Service throws Exception because of WireMockConsoleLogger contributed by [paulssn](https://github.com/paulssn)
|
||||||
- [#548](https://github.com/WireMock-Net/WireMock.Net/pull/548) - Move CSharpCodeMatcher to a new project [feature] contributed by [StefH](https://github.com/StefH)
|
- [#228](https://github.com/WireMock-Net/WireMock.Net/pull/228) - Fixed logic for IsRestrictedResponseHeader [bug] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#223](https://github.com/WireMock-Net/WireMock.Net/issues/223) - Bug: Example for WireMock as Windows Service throws Exception because of WireMockConsoleLogger [bug]
|
||||||
# 1.3.10 (23 December 2020)
|
- [#227](https://github.com/WireMock-Net/WireMock.Net/issues/227) - Question: proxy passthrough when no match? [question]
|
||||||
- [#555](https://github.com/WireMock-Net/WireMock.Net/pull/555) - Add more tests for Proxy with Authorization [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#561](https://github.com/WireMock-Net/WireMock.Net/pull/561) - Do not save "admin" mappings when running in Proxy - mode contributed by [StefH](https://github.com/StefH)
|
# 1.0.4.19 (31 October 2018)
|
||||||
- [#559](https://github.com/WireMock-Net/WireMock.Net/issues/559) - WireMock Setting 'SaveMappingToFile' raising cast object to type error [bug]
|
- [#220](https://github.com/WireMock-Net/WireMock.Net/pull/220) - Update SimpleCommandLineParser to handle arguments with key and value contributed by [StefH](https://github.com/StefH)
|
||||||
|
|
||||||
# 1.3.9 (08 December 2020)
|
# 1.0.4.18 (27 October 2018)
|
||||||
- [#550](https://github.com/WireMock-Net/WireMock.Net/pull/550) - WithProxy(...) also use all proxy settings [bug] contributed by [StefH](https://github.com/StefH)
|
- [#207](https://github.com/WireMock-Net/WireMock.Net/pull/207) - Rewrite some unit-integration-tests to unit-tests (#206) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#551](https://github.com/WireMock-Net/WireMock.Net/pull/551) - Add obsolete warning: CSharpCodeMatcher will be moved to a separate NuGet package 'WireMock.Net.Matchers.CSharpCode' [feature] contributed by [StefH](https://github.com/StefH)
|
- [#208](https://github.com/WireMock-Net/WireMock.Net/pull/208) - Refactor contributed by [StefH](https://github.com/StefH)
|
||||||
- [#549](https://github.com/WireMock-Net/WireMock.Net/issues/549) - WithProxy(...) does not save the mappings to file [bug]
|
- [#209](https://github.com/WireMock-Net/WireMock.Net/pull/209) - NET Core 2.1 + support for Service Fabric commandline parameters contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#212](https://github.com/WireMock-Net/WireMock.Net/pull/212) - Update BodyParser logic contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.3.8 (03 December 2020)
|
- [#216](https://github.com/WireMock-Net/WireMock.Net/pull/216) - ResponseBodyData contributed by [StefH](https://github.com/StefH)
|
||||||
- [#539](https://github.com/WireMock-Net/WireMock.Net/pull/539) - Support for partial JSON matching contributed by [gleb-osokin](https://github.com/gleb-osokin)
|
- [#217](https://github.com/WireMock-Net/WireMock.Net/pull/217) - Enable Source Link contributed by [kashifsoofi](https://github.com/kashifsoofi)
|
||||||
- [#542](https://github.com/WireMock-Net/WireMock.Net/pull/542) - Create dotnet-wiremock tool [feature] contributed by [StefH](https://github.com/StefH)
|
- [#218](https://github.com/WireMock-Net/WireMock.Net/pull/218) - remove appveyor contributed by [StefH](https://github.com/StefH)
|
||||||
- [#543](https://github.com/WireMock-Net/WireMock.Net/pull/543) - Add support for .NET 5 [feature] contributed by [StefH](https://github.com/StefH)
|
- [#107](https://github.com/WireMock-Net/WireMock.Net/issues/107) - Feature: increase code coverage [feature]
|
||||||
- [#544](https://github.com/WireMock-Net/WireMock.Net/pull/544) - Use Java 11 in Azure Pipelines (needed for SonarCloud) [feature] contributed by [StefH](https://github.com/StefH)
|
- [#161](https://github.com/WireMock-Net/WireMock.Net/issues/161) - Feature: Implement SourceLink [feature]
|
||||||
- [#545](https://github.com/WireMock-Net/WireMock.Net/pull/545) - Fix SonarCloud OpenCover (coverlet-coverage) [bug] contributed by [StefH](https://github.com/StefH)
|
- [#179](https://github.com/WireMock-Net/WireMock.Net/issues/179) - BodyAsFile .json files interferes with WatchStaticMappings
|
||||||
- [#547](https://github.com/WireMock-Net/WireMock.Net/pull/547) - Fix Proxying with SSL and NetCoreApp3.1 [bug] contributed by [StefH](https://github.com/StefH)
|
- [#194](https://github.com/WireMock-Net/WireMock.Net/issues/194) - Could not load file or assembly 'netstandard, Version=2.0.0.0 On Build Server
|
||||||
- [#524](https://github.com/WireMock-Net/WireMock.Net/issues/524) - Proxying with SSL Not Working in .NET Core 3.1 [bug]
|
- [#206](https://github.com/WireMock-Net/WireMock.Net/issues/206) - Rewrite some unit-integration-tests to unit-tests
|
||||||
|
- [#210](https://github.com/WireMock-Net/WireMock.Net/issues/210) - When proxying, the Content-Type headers get dropped from the request
|
||||||
# 1.3.6 (10 November 2020)
|
- [#211](https://github.com/WireMock-Net/WireMock.Net/issues/211) - Feature: Add support to recognise custom json media-types
|
||||||
- [#529](https://github.com/WireMock-Net/WireMock.Net/pull/529) - Add assertions for ClientIP, Url and ProxyUrl [feature] contributed by [akamud](https://github.com/akamud)
|
- [#213](https://github.com/WireMock-Net/WireMock.Net/issues/213) - Question: Unable get response from wiremock.net server in c#
|
||||||
- [#535](https://github.com/WireMock-Net/WireMock.Net/pull/535) - WithCallback should use also use enum HttpStatusCode [bug] contributed by [StefH](https://github.com/StefH)
|
- [#215](https://github.com/WireMock-Net/WireMock.Net/issues/215) - Issue: upgrade Microsoft.AspNetCore / Microsoft.AspNetCore.All to 2.1.5
|
||||||
- [#537](https://github.com/WireMock-Net/WireMock.Net/pull/537) - Add Custom Certificate settings [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#533](https://github.com/WireMock-Net/WireMock.Net/issues/533) - Stubbed response with only callback returns unexpected status code. [bug]
|
# 1.0.4.17 (22 September 2018)
|
||||||
- [#536](https://github.com/WireMock-Net/WireMock.Net/issues/536) - Overriding the default ssl certificate via file. [feature]
|
- [#203](https://github.com/WireMock-Net/WireMock.Net/pull/203) - Set up CI with Azure Pipelines contributed by [azure-pipelines[bot]](https://github.com/apps/azure-pipelines)
|
||||||
|
- [#204](https://github.com/WireMock-Net/WireMock.Net/pull/204) - Lower priority from Proxy mappings in favor of Admin Mappings [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.3.5 (04 November 2020)
|
- [#115](https://github.com/WireMock-Net/WireMock.Net/issues/115) - Question : Do we have provision to read the Response data from a file? [question]
|
||||||
- [#530](https://github.com/WireMock-Net/WireMock.Net/pull/530) - Fix dotnet-sonarscanner [bug] contributed by [StefH](https://github.com/StefH)
|
- [#200](https://github.com/WireMock-Net/WireMock.Net/issues/200) - Issue: Incorrect port matching
|
||||||
- [#531](https://github.com/WireMock-Net/WireMock.Net/pull/531) - Add WithCallback-Async [feature] contributed by [StefH](https://github.com/StefH)
|
- [#205](https://github.com/WireMock-Net/WireMock.Net/issues/205) - Issue: DELETE method is proxied as lowercase [bug]
|
||||||
|
|
||||||
# 1.3.4 (17 October 2020)
|
# 1.0.4.16 (11 September 2018)
|
||||||
- [#522](https://github.com/WireMock-Net/WireMock.Net/pull/522) - Add ContinuousIntegrationBuild property [feature] contributed by [StefH](https://github.com/StefH)
|
- [#202](https://github.com/WireMock-Net/WireMock.Net/pull/202) - Update handlebars code to support Regex.Match (#201) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#525](https://github.com/WireMock-Net/WireMock.Net/pull/525) - Handlebars.Net.Helpers Version="1.1.0" [feature] contributed by [StefH](https://github.com/StefH)
|
- [#201](https://github.com/WireMock-Net/WireMock.Net/issues/201) - Question : Extracting text from a request.body that is not json
|
||||||
|
|
||||||
# 1.3.3 (15 October 2020)
|
# 1.0.4.15 (04 September 2018)
|
||||||
- [#520](https://github.com/WireMock-Net/WireMock.Net/pull/520) - Make kestrel limits configurable contributed by [eduherminio](https://github.com/eduherminio)
|
- [#199](https://github.com/WireMock-Net/WireMock.Net/pull/199) - Fix for .WithBody(Func<RequestMessage, string>...) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#521](https://github.com/WireMock-Net/WireMock.Net/issues/521) - Make Kestrel limits configurable [feature]
|
- [#198](https://github.com/WireMock-Net/WireMock.Net/issues/198) - Issue : creating response using .WithBody(Func<RequestMessage, string>...) and .WithStatusCode [bug]
|
||||||
|
|
||||||
# 1.3.2 (14 October 2020)
|
# 1.0.4.14 (02 September 2018)
|
||||||
- [#505](https://github.com/WireMock-Net/WireMock.Net/pull/505) - Fix reading JsonMatcher-mapping with object as pattern [bug] contributed by [StefH](https://github.com/StefH)
|
- [#197](https://github.com/WireMock-Net/WireMock.Net/pull/197) - Set IsStarted = true in a IApplicationLifetime.ApplicationStarted listener [bug] contributed by [davide-romanini](https://github.com/davide-romanini)
|
||||||
- [#514](https://github.com/WireMock-Net/WireMock.Net/pull/514) - Update .NET Core 3.1 example contributed by [Crossbow78](https://github.com/Crossbow78)
|
- [#196](https://github.com/WireMock-Net/WireMock.Net/issues/196) - Issue: AspNetCoreSelfHost.IsStarted set before the server actually started for real [bug]
|
||||||
- [#504](https://github.com/WireMock-Net/WireMock.Net/issues/504) - Loading mapping models with `JsonMatcher` is not working correctly [bug]
|
|
||||||
- [#513](https://github.com/WireMock-Net/WireMock.Net/issues/513) - Static mapping break from 1.2.17 to 1.2.18 and higher [bug]
|
# 1.0.4.13 (31 August 2018)
|
||||||
|
- [#195](https://github.com/WireMock-Net/WireMock.Net/pull/195) - Add LinqMatcher contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.3.1 (30 September 2020)
|
- [#192](https://github.com/WireMock-Net/WireMock.Net/issues/192) - Cannot upgrade from 1.0.4.10 to 1.0.4.12 without upgrading to .net core 2.1 [bug]
|
||||||
- [#509](https://github.com/WireMock-Net/WireMock.Net/pull/509) - Adding netcoreapp3.1 as a target framework [feature] contributed by [APIWT](https://github.com/APIWT)
|
- [#193](https://github.com/WireMock-Net/WireMock.Net/issues/193) - Question: WireMock in Azure [question]
|
||||||
|
|
||||||
# 1.3.0 (29 September 2020)
|
# 1.0.4.12 (23 August 2018)
|
||||||
- [#508](https://github.com/WireMock-Net/WireMock.Net/pull/508) - Fix vulnerability in NuGet dependencies contributed by [StefH](https://github.com/StefH)
|
- [#190](https://github.com/WireMock-Net/WireMock.Net/pull/190) - Fix ResponseMessageTransformer (#188) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#327](https://github.com/WireMock-Net/WireMock.Net/issues/327) - Index must be within the bounds of the List - Bug [bug]
|
- [#191](https://github.com/WireMock-Net/WireMock.Net/pull/191) - Fix ignore case logic for header-name and cookie-name contributed by [StefH](https://github.com/StefH)
|
||||||
- [#507](https://github.com/WireMock-Net/WireMock.Net/issues/507) - Fix vulnerability found in Microsoft.AspNetCore dependency [feature]
|
- [#188](https://github.com/WireMock-Net/WireMock.Net/issues/188) - Bug: ResponseMessageTransformer :
|
||||||
|
- [#189](https://github.com/WireMock-Net/WireMock.Net/issues/189) - Issue: Case of header key/name not ignored in RequestBuilder when ignoreCase == true
|
||||||
# 1.2.18 (13 August 2020)
|
|
||||||
- [#496](https://github.com/WireMock-Net/WireMock.Net/pull/496) - Add setting to handle requests synchronously [feature] contributed by [StefH](https://github.com/StefH)
|
# 1.0.4.11 (20 August 2018)
|
||||||
- [#500](https://github.com/WireMock-Net/WireMock.Net/pull/500) - Add ThrowExceptionWhenMatcherFails option to all Matchers [feature] contributed by [StefH](https://github.com/StefH)
|
- [#183](https://github.com/WireMock-Net/WireMock.Net/pull/183) - Set Content-Type header for PutMappingAsync in the client contributed by [seanamosw](https://github.com/seanamosw)
|
||||||
- [#478](https://github.com/WireMock-Net/WireMock.Net/issues/478) - Sometimes returns status code 0 in unit tests with xunit test fixture (flaky test) [bug]
|
- [#185](https://github.com/WireMock-Net/WireMock.Net/pull/185) - Support Microsoft.AspNetCore for net 4.6.1 and up [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#186](https://github.com/WireMock-Net/WireMock.Net/pull/186) - ContentType "application/vnd.api+json" is not recognized as json contributed by [steveland83](https://github.com/steveland83)
|
||||||
# 1.2.17 (01 August 2020)
|
- [#182](https://github.com/WireMock-Net/WireMock.Net/issues/182) - Bug: IFluentMockServerAdmin::PutMappingAsync does not set Content-Type
|
||||||
- [#495](https://github.com/WireMock-Net/WireMock.Net/pull/495) - Scenario : stay on current state for a number of times contributed by [StefH](https://github.com/StefH)
|
- [#184](https://github.com/WireMock-Net/WireMock.Net/issues/184) - Bug: Fix AppVeyor PR build process
|
||||||
- [#494](https://github.com/WireMock-Net/WireMock.Net/issues/494) - Stay in Current State for specified number of requests [feature]
|
- [#187](https://github.com/WireMock-Net/WireMock.Net/issues/187) - Bug: Admin GetRequestAsync does not populate request body for JsonApi ("application/vnd.api+json") content
|
||||||
|
|
||||||
# 1.2.16 (27 July 2020)
|
# 1.0.4.10 (14 August 2018)
|
||||||
- [#492](https://github.com/WireMock-Net/WireMock.Net/pull/492) - Mark FluentMockServer, FluentMockServerSettings, BlacklistedHeaders and BlacklistedCookies as obsolete [feature] contributed by [StefH](https://github.com/StefH)
|
- [#180](https://github.com/WireMock-Net/WireMock.Net/pull/180) - Add IFileSystemHandler to support Azure for StaticMapping location contributed by [StefH](https://github.com/StefH)
|
||||||
- [#489](https://github.com/WireMock-Net/WireMock.Net/issues/489) - Change "blacklist" and "whitelist" terms [feature]
|
- [#173](https://github.com/WireMock-Net/WireMock.Net/issues/173) - Feature: Mapping files lost when restarting an Azure app service [feature]
|
||||||
|
|
||||||
# 1.2.15 (19 July 2020)
|
# 1.0.4.9 (08 August 2018)
|
||||||
- [#485](https://github.com/WireMock-Net/WireMock.Net/pull/485) - Add fluent assertions for headers [test] contributed by [akamud](https://github.com/akamud)
|
- [#172](https://github.com/WireMock-Net/WireMock.Net/issues/172) - Question: Same/similar fluent interface for in process and admin client API
|
||||||
|
- [#174](https://github.com/WireMock-Net/WireMock.Net/issues/174) - Bug: JsonMatcher and JsonPathMatcher throws when posting byte[] [bug]
|
||||||
# 1.2.14 (09 July 2020)
|
- [#175](https://github.com/WireMock-Net/WireMock.Net/issues/175) - Bug: Don't allow adding a mapping with no URL or PATH [bug]
|
||||||
- [#479](https://github.com/WireMock-Net/WireMock.Net/pull/479) - An OpenApi (swagger) parser to generate MappingModel or mapping.json file [feature] contributed by [StefH](https://github.com/StefH)
|
- [#176](https://github.com/WireMock-Net/WireMock.Net/issues/176) - Question: Saving mapping with relative (not found) file fails
|
||||||
- [#482](https://github.com/WireMock-Net/WireMock.Net/pull/482) - Add PartialMatch to logging / logentries [feature] contributed by [StefH](https://github.com/StefH)
|
- [#177](https://github.com/WireMock-Net/WireMock.Net/issues/177) - Feature: Skip invalid static mapping files [feature]
|
||||||
- [#483](https://github.com/WireMock-Net/WireMock.Net/pull/483) - Bring in the WireMock.Net.FluentAssertions tests contributed by [akamud](https://github.com/akamud)
|
|
||||||
- [#484](https://github.com/WireMock-Net/WireMock.Net/pull/484) - Refactor: extract interfaces [feature] contributed by [StefH](https://github.com/StefH)
|
# 1.0.4.8 (23 July 2018)
|
||||||
- [#487](https://github.com/WireMock-Net/WireMock.Net/pull/487) - Fixed MappingConverter when methods are null [bug] contributed by [StefH](https://github.com/StefH)
|
- [#170](https://github.com/WireMock-Net/WireMock.Net/pull/170) - Support json path in the response contributed by [StefH](https://github.com/StefH)
|
||||||
- [#486](https://github.com/WireMock-Net/WireMock.Net/issues/486) - Admin API fails to create a mapping with Request Body matching [bug]
|
- [#167](https://github.com/WireMock-Net/WireMock.Net/issues/167) - Feature: Support for JsonPath in the response (with HandleBars) [feature]
|
||||||
|
|
||||||
# 1.2.13 (24 May 2020)
|
# 1.0.4.7 (19 July 2018)
|
||||||
- [#475](https://github.com/WireMock-Net/WireMock.Net/pull/475) - Fix Limits.KeepAliveTimeout & Limits.RequestHeadersTimeout [bug] contributed by [StefH](https://github.com/StefH)
|
- [#169](https://github.com/WireMock-Net/WireMock.Net/pull/169) - Fix for Restricted Response headers [bug] contributed by [StefH](https://github.com/StefH)
|
||||||
- [#474](https://github.com/WireMock-Net/WireMock.Net/issues/474) - Performance issue with multiple httpclients (since version 1.2.10) [bug]
|
- [#148](https://github.com/WireMock-Net/WireMock.Net/issues/148) - Question: proxy passthrough when no match?
|
||||||
|
|
||||||
# 1.2.12 (23 May 2020)
|
# 1.0.4.6 (18 July 2018)
|
||||||
- [#472](https://github.com/WireMock-Net/WireMock.Net/pull/472) - Create new .sln contributed by [StefH](https://github.com/StefH)
|
- [#168](https://github.com/WireMock-Net/WireMock.Net/pull/168) - Expose scenario states [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
- [#473](https://github.com/WireMock-Net/WireMock.Net/pull/473) - Fixed Proxy when using MultipartForm with byte[] [bug] contributed by [StefH](https://github.com/StefH)
|
- [#163](https://github.com/WireMock-Net/WireMock.Net/issues/163) - Feature: Expose scenario states
|
||||||
- [#468](https://github.com/WireMock-Net/WireMock.Net/issues/468) - Proxy mode: Incorrect handling of multipart requests [bug]
|
|
||||||
|
# 1.0.4.5 (17 July 2018)
|
||||||
# 1.2.11.0 (18 May 2020)
|
- [#164](https://github.com/WireMock-Net/WireMock.Net/pull/164) - Support running WireMock.Net as a sub-app in IIS [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
- [#469](https://github.com/WireMock-Net/WireMock.Net/pull/469) - Fix unhandled exception when target is unavailable [bug] contributed by [StefH](https://github.com/StefH)
|
- [#165](https://github.com/WireMock-Net/WireMock.Net/pull/165) - Add SonarCloud contributed by [StefH](https://github.com/StefH)
|
||||||
- [#467](https://github.com/WireMock-Net/WireMock.Net/issues/467) - Proxy mode: Unhandled exception when target is not working [bug]
|
- [#166](https://github.com/WireMock-Net/WireMock.Net/pull/166) - Fix Sonar issues contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#105](https://github.com/WireMock-Net/WireMock.Net/issues/105) - Question: URL binding issues [question]
|
||||||
# 1.2.10 (17 May 2020)
|
- [#120](https://github.com/WireMock-Net/WireMock.Net/issues/120) - Question: JsonPathMatcher - not matching? Correct syntax?
|
||||||
- [#456](https://github.com/WireMock-Net/WireMock.Net/pull/456) - Include Handlebars.Net.Helpers project [feature] contributed by [StefH](https://github.com/StefH)
|
- [#123](https://github.com/WireMock-Net/WireMock.Net/issues/123) - Fix for DateTime Header causing null value in ResponseBuilder
|
||||||
- [#457](https://github.com/WireMock-Net/WireMock.Net/pull/457) - Kestrel Options Limits [bug] contributed by [StefH](https://github.com/StefH)
|
- [#158](https://github.com/WireMock-Net/WireMock.Net/issues/158) - Feature: Support running WireMock.Net as a sub-app in IIS [question]
|
||||||
- [#455](https://github.com/WireMock-Net/WireMock.Net/issues/455) - There is no option to increase body size while proxying [bug]
|
|
||||||
|
# 1.0.4.4 (01 July 2018)
|
||||||
# 1.2.9.0 (14 May 2020)
|
- [#156](https://github.com/WireMock-Net/WireMock.Net/issues/156) - Feature: when adding / updating a mapping : return more details
|
||||||
- [#465](https://github.com/WireMock-Net/WireMock.Net/pull/465) - Fix method ResetMappingsAsync in the RestEase-AdminApi [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#464](https://github.com/WireMock-Net/WireMock.Net/issues/464) - RestClient Admin API Metadata Base Path Duplication [bug]
|
# 1.0.4.3 (30 June 2018)
|
||||||
|
- [#159](https://github.com/WireMock-Net/WireMock.Net/issues/159) - Bug: IRequestBuilder.WithParam broken for key-only matching [bug]
|
||||||
# 1.2.8.0 (04 May 2020)
|
|
||||||
- [#463](https://github.com/WireMock-Net/WireMock.Net/pull/463) - GH161: Fix SourceLink support [bug] contributed by [gitfool](https://github.com/gitfool)
|
# 1.0.4.2 (26 June 2018)
|
||||||
|
- [#157](https://github.com/WireMock-Net/WireMock.Net/pull/157) - Support for string and object in JsonMatcher. [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.2.7.0 (30 April 2020)
|
- [#150](https://github.com/WireMock-Net/WireMock.Net/issues/150) - Add support for .NET Core 2.1 (.NET Core 2.0 will reach end of life on september 2018)
|
||||||
- [#461](https://github.com/WireMock-Net/WireMock.Net/pull/461) - Support Path in ProxyUrl contributed by [StefH](https://github.com/StefH)
|
- [#154](https://github.com/WireMock-Net/WireMock.Net/issues/154) - Feature: support BodyAsJson for Request in static mapping files. [feature]
|
||||||
- [#459](https://github.com/WireMock-Net/WireMock.Net/issues/459) - When respond with proxy requestMessage.Url is used, not AbsoluteUrl [bug]
|
|
||||||
|
# 1.0.4.1 (25 June 2018)
|
||||||
# 1.2.6.0 (29 April 2020)
|
- [#153](https://github.com/WireMock-Net/WireMock.Net/issues/153) - Feature: Add JsonMatcher to support Json mapping
|
||||||
- [#460](https://github.com/WireMock-Net/WireMock.Net/pull/460) - When using ResponseMessageTransformer : keep BodyEncoding [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#458](https://github.com/WireMock-Net/WireMock.Net/issues/458) - Response BodyAsString loses BodyData.Encoding when UseTransformer = true [bug]
|
# 1.0.4.0 (23 June 2018)
|
||||||
|
- [#131](https://github.com/WireMock-Net/WireMock.Net/issues/131) - Bug: CurlException Couldn't connect to Server when running multiple tests
|
||||||
# 1.2.5.0 (17 April 2020)
|
- [#149](https://github.com/WireMock-Net/WireMock.Net/issues/149) - Question: Transformer and Delay in Static Mappings?
|
||||||
- [#454](https://github.com/WireMock-Net/WireMock.Net/pull/454) - Fix port = 0 for net452 [bug] contributed by [StefH](https://github.com/StefH)
|
- [#151](https://github.com/WireMock-Net/WireMock.Net/issues/151) - Feature: Add logging of incoming request and body for tracability
|
||||||
- [#453](https://github.com/WireMock-Net/WireMock.Net/issues/453) - MockServer not starting [bug]
|
|
||||||
|
# 1.0.3.20 (29 May 2018)
|
||||||
# 1.2.4.0 (10 April 2020)
|
- [#147](https://github.com/WireMock-Net/WireMock.Net/pull/147) - Revert PortUtil.cs changes contributed by [StefH](https://github.com/StefH)
|
||||||
- [#439](https://github.com/WireMock-Net/WireMock.Net/pull/439) - Add support for GZip and Deflate [feature] contributed by [StefH](https://github.com/StefH)
|
- [#129](https://github.com/WireMock-Net/WireMock.Net/issues/129) - Random test failures between WireMock.Net 1.0.3.1 and 1.0.3.2
|
||||||
- [#444](https://github.com/WireMock-Net/WireMock.Net/pull/444) - Add readme.md + license from mock4net [feature] contributed by [StefH](https://github.com/StefH)
|
- [#146](https://github.com/WireMock-Net/WireMock.Net/issues/146) - Hang possibly due to Windows firewall prompt
|
||||||
- [#451](https://github.com/WireMock-Net/WireMock.Net/pull/451) - Update NuGet dependencies (e.g. coverage related) to fix CI-build [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#452](https://github.com/WireMock-Net/WireMock.Net/pull/452) - Add ValidatedNotNullAttribute (for SonarQube) [refactor] contributed by [StefH](https://github.com/StefH)
|
# 1.0.3.19 (28 May 2018)
|
||||||
- [#426](https://github.com/WireMock-Net/WireMock.Net/issues/426) - Add support for compressed requests, such as GZIP or DEFLATE [feature]
|
- [#144](https://github.com/WireMock-Net/WireMock.Net/pull/144) - Fix ConcurrentDictionary (#129) contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#145](https://github.com/WireMock-Net/WireMock.Net/pull/145) - Cancellation token not passed to server instance in .NET Core 2 [bug] contributed by [Bob11327](https://github.com/Bob11327)
|
||||||
# 1.2.3.0 (01 April 2020)
|
|
||||||
- [#449](https://github.com/WireMock-Net/WireMock.Net/pull/449) - Netstandard21 [feature] contributed by [StefH](https://github.com/StefH)
|
# 1.0.3.18 (25 May 2018)
|
||||||
- [#447](https://github.com/WireMock-Net/WireMock.Net/issues/447) - Add support for .NET Standard 2.1 / .NET Core 3.1 [feature]
|
- [#142](https://github.com/WireMock-Net/WireMock.Net/pull/142) - Allow all headers to be set as Response headers contributed by [StefH](https://github.com/StefH)
|
||||||
- [#448](https://github.com/WireMock-Net/WireMock.Net/issues/448) - WireMock.Net is not compatible with Microsoft.VisualStudio.Web.CodeGeneration.Design 3.1.1 [bug]
|
- [#97](https://github.com/WireMock-Net/WireMock.Net/issues/97) - Request matching logic is not practical [question]
|
||||||
|
- [#122](https://github.com/WireMock-Net/WireMock.Net/issues/122) - WireMock.Net not responding in unit tests - same works in console application
|
||||||
# 1.2.2.0 (25 March 2020)
|
- [#126](https://github.com/WireMock-Net/WireMock.Net/issues/126) - Question: UsingHead always returns 0 for Content-Length header even when explicitly specified
|
||||||
- [#446](https://github.com/WireMock-Net/WireMock.Net/pull/446) - When port is provided: WireMockServer still takes a random port [bug] contributed by [StefH](https://github.com/StefH)
|
- [#127](https://github.com/WireMock-Net/WireMock.Net/issues/127) - Question: Stub priority - Most recent stub is not always used [question]
|
||||||
- [#445](https://github.com/WireMock-Net/WireMock.Net/issues/445) - Port where WireMockServer listens to - v1.2x [bug]
|
- [#132](https://github.com/WireMock-Net/WireMock.Net/issues/132) - LogEntries not being recorded on subsequent tests
|
||||||
|
- [#136](https://github.com/WireMock-Net/WireMock.Net/issues/136) - Question: Does the WireMock send Content-Length response header
|
||||||
# 1.2.1.0 (17 March 2020)
|
- [#137](https://github.com/WireMock-Net/WireMock.Net/issues/137) - Question: How to specify Transfer-Encoding response header?
|
||||||
- [#442](https://github.com/WireMock-Net/WireMock.Net/pull/442) - Fix Null body in handlebars transformation [bug] contributed by [StefH](https://github.com/StefH)
|
- [#139](https://github.com/WireMock-Net/WireMock.Net/issues/139) - Wiki link https://github.com/StefH/WireMock.Net/wiki/Record-(via-proxy)-and-Save is dead
|
||||||
|
- [#140](https://github.com/WireMock-Net/WireMock.Net/issues/140) - Question: Why the Microsoft.Owin.Host.HttpListener is not referenced in the dll, which uses WireMock? [question]
|
||||||
# 1.2.0.0 (14 March 2020)
|
|
||||||
- [#417](https://github.com/WireMock-Net/WireMock.Net/pull/417) - Let the .NET core/standard WebHostBuilder use a random port [bug] contributed by [StefH](https://github.com/StefH)
|
# 1.0.3.17 (16 May 2018)
|
||||||
- [#422](https://github.com/WireMock-Net/WireMock.Net/pull/422) - AllowOnlyDefinedHttpStatusCodeInResponse [bug] contributed by [StefH](https://github.com/StefH)
|
- [#134](https://github.com/WireMock-Net/WireMock.Net/pull/134) - Stef negate matcher contributed by [alastairtree](https://github.com/alastairtree)
|
||||||
- [#379](https://github.com/WireMock-Net/WireMock.Net/issues/379) - Trusting the self signed certificate to enable SSL on dotnet core [bug]
|
- [#135](https://github.com/WireMock-Net/WireMock.Net/pull/135) - Merge into the stef_negate_matcher branch (solves issue #133) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#420](https://github.com/WireMock-Net/WireMock.Net/issues/420) - Updating to 1.1.6+ breaks tests because new AllowAnyHttpStatusCodeInResponse option defaults to false [bug]
|
- [#138](https://github.com/WireMock-Net/WireMock.Net/pull/138) - Added Negate matcher logic contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#103](https://github.com/WireMock-Net/WireMock.Net/issues/103) - Support for Faults [question]
|
||||||
# 1.1.10 (05 March 2020)
|
- [#128](https://github.com/WireMock-Net/WireMock.Net/issues/128) - Feature: Negate a matcher [feature, question]
|
||||||
- [#427](https://github.com/WireMock-Net/WireMock.Net/pull/427) - Add UsingOptions, UsingConnect and UsingTrace [feature] contributed by [StefH](https://github.com/StefH)
|
- [#130](https://github.com/WireMock-Net/WireMock.Net/issues/130) - ...
|
||||||
- [#434](https://github.com/WireMock-Net/WireMock.Net/pull/434) - Option to disable JSON deserialization [feature] contributed by [sebastianmattar](https://github.com/sebastianmattar)
|
- [#133](https://github.com/WireMock-Net/WireMock.Net/issues/133) - Issue: Wildcard matching a json body does not work? [bug, question]
|
||||||
- [#435](https://github.com/WireMock-Net/WireMock.Net/pull/435) - Also call HandlebarsRegistrationCallback when using WithCallback(..) [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#408](https://github.com/WireMock-Net/WireMock.Net/issues/408) - Intermittent threading errors with FindLogEntries [bug]
|
# 1.0.3.16 (17 April 2018)
|
||||||
- [#433](https://github.com/WireMock-Net/WireMock.Net/issues/433) - HandlebarsRegistrationCallback not fired [feature]
|
- [#121](https://github.com/WireMock-Net/WireMock.Net/pull/121) - Fix for issue #118 [bug] contributed by [raghavendrabankapur](https://github.com/raghavendrabankapur)
|
||||||
|
- [#125](https://github.com/WireMock-Net/WireMock.Net/pull/125) - Change listen from loopback to any ip address for dotnetcore2.0 apps contributed by [SubjectiveReality](https://github.com/SubjectiveReality)
|
||||||
# 1.1.9.0 (25 February 2020)
|
- [#118](https://github.com/WireMock-Net/WireMock.Net/issues/118) - Not reading the response from a file when mappings are placed in json file
|
||||||
- [#431](https://github.com/WireMock-Net/WireMock.Net/pull/431) - Fix LinqMatcher for JSON int64 [bug] contributed by [StefH](https://github.com/StefH)
|
- [#124](https://github.com/WireMock-Net/WireMock.Net/issues/124) - Issue: Unable to get host to listen on ips other than 127.0.0.1 using StandAloneApp
|
||||||
- [#425](https://github.com/WireMock-Net/WireMock.Net/issues/425) - Allow 64 bit numbers in JSON [bug]
|
|
||||||
|
# 1.0.3.15 (05 April 2018)
|
||||||
# 1.1.8.0 (22 February 2020)
|
- [#117](https://github.com/WireMock-Net/WireMock.Net/pull/117) - Respect start timeout setting and expose exception from server startup contributed by [msft-eliang](https://github.com/msft-eliang)
|
||||||
- [#419](https://github.com/WireMock-Net/WireMock.Net/pull/419) - Support multi line wild card matching [bug] contributed by [NoahLerner](https://github.com/NoahLerner)
|
|
||||||
- [#421](https://github.com/WireMock-Net/WireMock.Net/pull/421) - Fix: do not return empty matchers array when Func has been used [bug] contributed by [StefH](https://github.com/StefH)
|
# 1.0.3.14 (01 April 2018)
|
||||||
- [#423](https://github.com/WireMock-Net/WireMock.Net/pull/423) - Fixes for Cookie and Header Reject on Match [bug] contributed by [StefH](https://github.com/StefH)
|
- [#111](https://github.com/WireMock-Net/WireMock.Net/issues/111) - Question: Adding wiki documentation on how to use WireMock.Net.WebApplication project
|
||||||
- [#424](https://github.com/WireMock-Net/WireMock.Net/pull/424) - Don't return empty dictionary object for response headers in JSON mapping [feature] contributed by [StefH](https://github.com/StefH)
|
- [#112](https://github.com/WireMock-Net/WireMock.Net/issues/112) - Question: Request.Create().WithBody() not able to match with custom class which implements IMatcher
|
||||||
- [#418](https://github.com/WireMock-Net/WireMock.Net/issues/418) - Body matching fails if body has newline [bug]
|
- [#113](https://github.com/WireMock-Net/WireMock.Net/issues/113) - Feature: Add BodyAsJsonIndented for response message [feature]
|
||||||
|
- [#114](https://github.com/WireMock-Net/WireMock.Net/issues/114) - Feature: Add PathSegments in Transform [feature]
|
||||||
# 1.1.7.0 (06 February 2020)
|
|
||||||
- [#409](https://github.com/WireMock-Net/WireMock.Net/pull/409) - Admin Delete with mappings in body [feature] contributed by [NoahLerner](https://github.com/NoahLerner)
|
# 1.0.3.12 (24 March 2018)
|
||||||
- [#411](https://github.com/WireMock-Net/WireMock.Net/pull/411) - Improved relative path checking based on file existence [feature] contributed by [NoahLerner](https://github.com/NoahLerner)
|
- [#100](https://github.com/WireMock-Net/WireMock.Net/issues/100) - Issue: JsonPathMatcher - not working for rootless jsons? [question]
|
||||||
- [#413](https://github.com/WireMock-Net/WireMock.Net/pull/413) - Fix new Delete with body missing from IWireMockAdminApi interface contributed by [NoahLerner](https://github.com/NoahLerner)
|
|
||||||
- [#414](https://github.com/WireMock-Net/WireMock.Net/pull/414) - Fix logger in StandAlone [bug] contributed by [StefH](https://github.com/StefH)
|
# 1.0.3.11 (20 March 2018)
|
||||||
- [#412](https://github.com/WireMock-Net/WireMock.Net/issues/412) - WireMock Standalone - null reference exception since settings.Logger [bug]
|
- [#110](https://github.com/WireMock-Net/WireMock.Net/issues/110) - Fix: remove `Func[]` from MappingModel
|
||||||
|
|
||||||
# 1.1.6.0 (27 January 2020)
|
# 1.0.3.10 (17 March 2018)
|
||||||
- [#407](https://github.com/WireMock-Net/WireMock.Net/pull/407) - AllowAnyHttpStatusCodeInResponse [feature] contributed by [StefH](https://github.com/StefH)
|
- [#109](https://github.com/WireMock-Net/WireMock.Net/issues/109) - Issue: When proxying, MimeType is wrong for StringContent
|
||||||
|
|
||||||
# 1.1.5.0 (25 January 2020)
|
# 1.0.3.9 (15 March 2018)
|
||||||
- [#405](https://github.com/WireMock-Net/WireMock.Net/pull/405) - Fix logging an Exception Message (linux docker on azure) [bug] contributed by [StefH](https://github.com/StefH)
|
- [#108](https://github.com/WireMock-Net/WireMock.Net/issues/108) - Issue: provide correct contentTypeHeader value for the bodyparser [bug]
|
||||||
- [#406](https://github.com/WireMock-Net/WireMock.Net/pull/406) - Fixed StatusCode = null or < 0 [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
# 1.0.3.8 (10 March 2018)
|
||||||
# 1.1.3.0 (22 January 2020)
|
- [#106](https://github.com/WireMock-Net/WireMock.Net/issues/106) - Issue: Params does not work, when there are multiple values for a key
|
||||||
- [#403](https://github.com/WireMock-Net/WireMock.Net/pull/403) - Fix for invalid cast exception contributed by [kashifsoofi](https://github.com/kashifsoofi)
|
|
||||||
- [#402](https://github.com/WireMock-Net/WireMock.Net/issues/402) - Invalid Cast Exception [bug]
|
# 1.0.3.7 (09 March 2018)
|
||||||
|
- [#104](https://github.com/WireMock-Net/WireMock.Net/issues/104) - Issue: PlatformNotSupportedException [question]
|
||||||
# 1.1.2.0 (09 January 2020)
|
|
||||||
- [#399](https://github.com/WireMock-Net/WireMock.Net/pull/399) - ResponseModel.StatusCode is deserialized as either string or long. [bug] contributed by [vitaliydavydiak](https://github.com/vitaliydavydiak)
|
# 1.0.3.4 (04 March 2018)
|
||||||
- [#400](https://github.com/WireMock-Net/WireMock.Net/issues/400) - StatusCode not built correctly when loaded from mapping file. [bug]
|
- [#95](https://github.com/WireMock-Net/WireMock.Net/pull/95) - Unittest fix contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#96](https://github.com/WireMock-Net/WireMock.Net/pull/96) - Replace log4net by custom logger (#94) contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.1.1.0 (09 January 2020)
|
- [#101](https://github.com/WireMock-Net/WireMock.Net/pull/101) - ICallbackResponseBuilder + added more unit-tests [bug] contributed by [StefH](https://github.com/StefH)
|
||||||
- [#398](https://github.com/WireMock-Net/WireMock.Net/pull/398) - Feature/xpath transformer [feature] contributed by [kashifsoofi](https://github.com/kashifsoofi)
|
- [#102](https://github.com/WireMock-Net/WireMock.Net/pull/102) - Feature: add WithBody(req => dostuff) style callback [feature] contributed by [alastairtree](https://github.com/alastairtree)
|
||||||
- [#397](https://github.com/WireMock-Net/WireMock.Net/issues/397) - Question/Feature: Add support for selecting XPath in response template [feature]
|
- [#66](https://github.com/WireMock-Net/WireMock.Net/issues/66) - Interested in callbacks?
|
||||||
|
- [#93](https://github.com/WireMock-Net/WireMock.Net/issues/93) - Bug: FluentMockServer IsStarted after calling Start()
|
||||||
# 1.1.0.0 (27 December 2019)
|
- [#94](https://github.com/WireMock-Net/WireMock.Net/issues/94) - Issue: Introduced dependency on log4net
|
||||||
- [#363](https://github.com/WireMock-Net/WireMock.Net/pull/363) - WireMock.Net version 1.1.x contributed by [StefH](https://github.com/StefH)
|
- [#98](https://github.com/WireMock-Net/WireMock.Net/issues/98) - IBodyResponseBuilder.WithBody* should receive the request as a parameter
|
||||||
|
|
||||||
# 1.0.43.0 (26 December 2019)
|
# 1.0.3.3 (24 February 2018)
|
||||||
- [#385](https://github.com/WireMock-Net/WireMock.Net/pull/385) - StatusCode as string [feature] contributed by [StefH](https://github.com/StefH)
|
- [#92](https://github.com/WireMock-Net/WireMock.Net/pull/92) - Json fixes (#91) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#380](https://github.com/WireMock-Net/WireMock.Net/issues/380) - StatusCode is defined as integer (string is not possible) [bug]
|
- [#91](https://github.com/WireMock-Net/WireMock.Net/issues/91) - Bug: WireMock.Net is not matching application/json http requests using JSONPathMatcher [bug]
|
||||||
- [#382](https://github.com/WireMock-Net/WireMock.Net/issues/382) - Return same request body [feature]
|
|
||||||
|
# 1.0.3.2 (14 February 2018)
|
||||||
# 1.0.42.0 (15 December 2019)
|
- [#90](https://github.com/WireMock-Net/WireMock.Net/pull/90) - Concurrent issue (#88) contributed by [StefH](https://github.com/StefH)
|
||||||
- [#391](https://github.com/WireMock-Net/WireMock.Net/pull/391) - Correctly support DateTime pattern as string in ExactMatcher [bug] contributed by [StefH](https://github.com/StefH)
|
- [#88](https://github.com/WireMock-Net/WireMock.Net/issues/88) - Bug: Standalone server throws 500 error when receiving concurrent requests [bug]
|
||||||
- [#383](https://github.com/WireMock-Net/WireMock.Net/issues/383) - ExactMatcher does not accept ISO8601 DateTime? [bug]
|
|
||||||
|
# 1.0.3.1 (14 February 2018)
|
||||||
# 1.0.41.0 (14 December 2019)
|
- [#89](https://github.com/WireMock-Net/WireMock.Net/pull/89) - Add log4net logging contributed by [StefH](https://github.com/StefH)
|
||||||
- [#392](https://github.com/WireMock-Net/WireMock.Net/pull/392) - Fix array in JsonMatcher [bug] contributed by [StefH](https://github.com/StefH)
|
- [#87](https://github.com/WireMock-Net/WireMock.Net/issues/87) - Feature: Add logging
|
||||||
- [#390](https://github.com/WireMock-Net/WireMock.Net/issues/390) - JsonMatcher does not match a body containing an array of strings [bug]
|
|
||||||
|
# 1.0.3.0 (05 February 2018)
|
||||||
# 1.0.40.0 (09 December 2019)
|
- [#80](https://github.com/WireMock-Net/WireMock.Net/issues/80) - Feature: When using proxy, in case Content-Type is JSON, use BodyAsJson in Response
|
||||||
- [#389](https://github.com/WireMock-Net/WireMock.Net/pull/389) - Fix QueryStringParser [bug] contributed by [StefH](https://github.com/StefH)
|
- [#81](https://github.com/WireMock-Net/WireMock.Net/issues/81) - Feature: When using proxy, only BodyAsBytes in case of binary data?
|
||||||
- [#387](https://github.com/WireMock-Net/WireMock.Net/issues/387) - Query string parameter value which contains %26 does not work with ExactMatcher [bug]
|
- [#82](https://github.com/WireMock-Net/WireMock.Net/issues/82) - Feature: make it possible to ignore some headers when proxying [feature]
|
||||||
|
- [#83](https://github.com/WireMock-Net/WireMock.Net/issues/83) - Feature : Add also a method in IProxyResponseBuilder to provide proxy-settings [feature]
|
||||||
# 1.0.39.0 (07 December 2019)
|
- [#85](https://github.com/WireMock-Net/WireMock.Net/issues/85) - Bug: https for netstandard does not work ? [bug]
|
||||||
- [#370](https://github.com/WireMock-Net/WireMock.Net/pull/370) - Add WebProxySettings (use when proxying requests) [feature] contributed by [StefH](https://github.com/StefH)
|
- [#86](https://github.com/WireMock-Net/WireMock.Net/issues/86) - Feature : Add FileSystemWatcher logic for watching static mapping files [feature]
|
||||||
- [#388](https://github.com/WireMock-Net/WireMock.Net/pull/388) - Transform body as file [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#369](https://github.com/WireMock-Net/WireMock.Net/issues/369) - Question: Is there a way to provide a corporate proxy configuration? [feature]
|
# 1.0.2.13 (23 January 2018)
|
||||||
- [#375](https://github.com/WireMock-Net/WireMock.Net/issues/375) - Proxying does not follow redirects : make this configurable [feature]
|
- [#79](https://github.com/WireMock-Net/WireMock.Net/pull/79) - Fix missed content headers contributed by [vladimir-fed](https://github.com/vladimir-fed)
|
||||||
- [#386](https://github.com/WireMock-Net/WireMock.Net/issues/386) - Is transforming contents of XML file supported.? [bug]
|
- [#57](https://github.com/WireMock-Net/WireMock.Net/issues/57) - ProxyAndRecord does not save query-parameters, headers and body [bug]
|
||||||
|
- [#78](https://github.com/WireMock-Net/WireMock.Net/issues/78) - WireMock not working when attempting to access from anything other than localhost.
|
||||||
# 1.0.38.0 (30 November 2019)
|
|
||||||
- [#376](https://github.com/WireMock-Net/WireMock.Net/pull/376) - Support int values for states and scenario naming [feature] contributed by [NoahLerner](https://github.com/NoahLerner)
|
# 1.0.2.12 (16 January 2018)
|
||||||
- [#378](https://github.com/WireMock-Net/WireMock.Net/pull/378) - Set handlebars dependency for .net 4.5.1 to fixed value [bug] contributed by [StefH](https://github.com/StefH)
|
- [#75](https://github.com/WireMock-Net/WireMock.Net/pull/75) - Add WireMock.Net.WebApplication example contributed by [StefH](https://github.com/StefH)
|
||||||
- [#381](https://github.com/WireMock-Net/WireMock.Net/pull/381) - Use dotnet default development certificate for .NET Core 2.x [feature] contributed by [StefH](https://github.com/StefH)
|
- [#77](https://github.com/WireMock-Net/WireMock.Net/pull/77) - Fixed issue #76 contributed by [StefH](https://github.com/StefH)
|
||||||
- [#377](https://github.com/WireMock-Net/WireMock.Net/issues/377) - Unable to build against .NET 4.5.1 because of Handlebars [bug]
|
- [#73](https://github.com/WireMock-Net/WireMock.Net/issues/73) - Updated mapping is not being picked and responded with the response
|
||||||
|
- [#76](https://github.com/WireMock-Net/WireMock.Net/issues/76) - Bug: IFluentMockServerAdmin is missing content-type for some POST/PUT calls
|
||||||
# 1.0.37.0 (08 November 2019)
|
|
||||||
- [#373](https://github.com/WireMock-Net/WireMock.Net/pull/373) - Make Sonar and WhiteSource optional in the Azure pipelines build [feature] contributed by [StefH](https://github.com/StefH)
|
# 1.0.2.11 (20 December 2017)
|
||||||
- [#374](https://github.com/WireMock-Net/WireMock.Net/pull/374) - WatchStaticMappingsInSubdirectories [feature] contributed by [StefH](https://github.com/StefH)
|
- [#72](https://github.com/WireMock-Net/WireMock.Net/issues/72) - Matching WithParam on OData End Points
|
||||||
- [#372](https://github.com/WireMock-Net/WireMock.Net/issues/372) - Reset in WireMock admin API not working fine. [feature]
|
|
||||||
|
# 1.0.2.10 (12 December 2017)
|
||||||
# 1.0.36.0 (26 October 2019)
|
- [#70](https://github.com/WireMock-Net/WireMock.Net/issues/70) - Proxy/Intercept pattern is throwing a keep alive header error with net461
|
||||||
- [#360](https://github.com/WireMock-Net/WireMock.Net/pull/360) - Add support for Faults [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#343](https://github.com/WireMock-Net/WireMock.Net/issues/343) - Feature: Please provide support for Bad responses. [feature]
|
# 1.0.2.9 (07 December 2017)
|
||||||
|
- [#71](https://github.com/WireMock-Net/WireMock.Net/pull/71) - Fixed restricted headers on response contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.0.35.0 (25 October 2019)
|
- [#69](https://github.com/WireMock-Net/WireMock.Net/issues/69) - Instructions are incorrect (?)
|
||||||
- [#367](https://github.com/WireMock-Net/WireMock.Net/pull/367) - No symbol NuGets [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#368](https://github.com/WireMock-Net/WireMock.Net/pull/368) - Remove Obsolete annotations [feature] contributed by [StefH](https://github.com/StefH)
|
# 1.0.2.8 (23 November 2017)
|
||||||
|
- [#65](https://github.com/WireMock-Net/WireMock.Net/pull/65) - bug: Fix admin api client definition returning the wrong types contributed by [alastairtree](https://github.com/alastairtree)
|
||||||
# 1.0.34.0 (22 October 2019)
|
- [#67](https://github.com/WireMock-Net/WireMock.Net/pull/67) - bug: fix supporting the Patch method and logging the body contributed by [alastairtree](https://github.com/alastairtree)
|
||||||
- [#354](https://github.com/WireMock-Net/WireMock.Net/pull/354) - AllowBodyForAllHttpMethods [bug, feature] contributed by [StefH](https://github.com/StefH)
|
- [#64](https://github.com/WireMock-Net/WireMock.Net/issues/64) - Pull Requests do not trigger test + codecoverage ?
|
||||||
- [#365](https://github.com/WireMock-Net/WireMock.Net/pull/365) - Bump Microsoft.AspNetCore.All from 2.0.8 to 2.0.9 in /examples/WireMock.Net.WebApplication [dependencies] contributed by [dependabot[bot]](https://github.com/apps/dependabot)
|
- [#68](https://github.com/WireMock-Net/WireMock.Net/issues/68) - Full path required in Stub [question]
|
||||||
- [#366](https://github.com/WireMock-Net/WireMock.Net/pull/366) - Update ObsoleteAnnotations [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#352](https://github.com/WireMock-Net/WireMock.Net/issues/352) - DELETE request drops the body [feature]
|
# 1.0.2.7 (18 November 2017)
|
||||||
|
- [#62](https://github.com/WireMock-Net/WireMock.Net/pull/62) - Add the Host, Protocol, Port and Origin to the Request message so they can be used in templating contributed by [alastairtree](https://github.com/alastairtree)
|
||||||
# 1.0.33.0 (12 October 2019)
|
- [#63](https://github.com/WireMock-Net/WireMock.Net/pull/63) - Fix issue with concurrent logging contributed by [vladimir-fed](https://github.com/vladimir-fed)
|
||||||
- [#311](https://github.com/WireMock-Net/WireMock.Net/pull/311) - fix jsonpath matcher [bug] contributed by [StefH](https://github.com/StefH)
|
- [#27](https://github.com/WireMock-Net/WireMock.Net/issues/27) - New feature: Record and Save
|
||||||
- [#324](https://github.com/WireMock-Net/WireMock.Net/pull/324) - Add CSharpCodeMatcher [feature] contributed by [StefH](https://github.com/StefH)
|
- [#42](https://github.com/WireMock-Net/WireMock.Net/issues/42) - Enhancement - Save/load request logs to/from disk [feature]
|
||||||
- [#353](https://github.com/WireMock-Net/WireMock.Net/pull/353) - Fixed failing admin requests when content type includes a charset (based on idea from Paul Roub) [bug] contributed by [StefH](https://github.com/StefH)
|
- [#53](https://github.com/WireMock-Net/WireMock.Net/issues/53) - New feature request: Access to Owin pipeline
|
||||||
- [#355](https://github.com/WireMock-Net/WireMock.Net/pull/355) - Add Try-Catch to the event LogEntriesChanged [feature] contributed by [StefH](https://github.com/StefH)
|
- [#61](https://github.com/WireMock-Net/WireMock.Net/issues/61) - Partial mapping [question]
|
||||||
- [#357](https://github.com/WireMock-Net/WireMock.Net/pull/357) - Add Proxy Setting for: SaveMappingForStatusCodePattern to only save the mapping when the status code matches the pattern [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#358](https://github.com/WireMock-Net/WireMock.Net/pull/358) - Fix JsonMatcher (parsing DateTimeOffset) contributed by [StefH](https://github.com/StefH)
|
# 1.0.2.6 (30 October 2017)
|
||||||
- [#306](https://github.com/WireMock-Net/WireMock.Net/issues/306) - Writing to the response body is invalid for responses with status code 204 [bug]
|
- [#59](https://github.com/WireMock-Net/WireMock.Net/pull/59) - Add ability to provide multiple values for headers in response contributed by [Dreamescaper](https://github.com/Dreamescaper)
|
||||||
- [#307](https://github.com/WireMock-Net/WireMock.Net/issues/307) - JsonPathMatcher always convert to JArray before matching [bug]
|
- [#60](https://github.com/WireMock-Net/WireMock.Net/pull/60) - Fix proxy headers handling contributed by [Dreamescaper](https://github.com/Dreamescaper)
|
||||||
- [#329](https://github.com/WireMock-Net/WireMock.Net/issues/329) - Feature: Add support for CSharpCodeMatcher [feature]
|
- [#54](https://github.com/WireMock-Net/WireMock.Net/issues/54) - Proxy for AWS: Error unmarshalling response back from AWS [bug]
|
||||||
- [#350](https://github.com/WireMock-Net/WireMock.Net/issues/350) - Admin requests fail when content type includes a charset [bug]
|
- [#56](https://github.com/WireMock-Net/WireMock.Net/issues/56) - WithBodyFromFile Support [feature]
|
||||||
- [#356](https://github.com/WireMock-Net/WireMock.Net/issues/356) - JsonMatcher not working when JSON contains a DateTimeOffset [bug]
|
- [#58](https://github.com/WireMock-Net/WireMock.Net/issues/58) - Multiple headers with same name [feature]
|
||||||
|
|
||||||
# 1.0.32.0 (20 September 2019)
|
# 1.0.2.5 (24 October 2017)
|
||||||
- [#348](https://github.com/WireMock-Net/WireMock.Net/pull/348) - When posting new mapping, use DateParseHandling.None [bug] contributed by [StefH](https://github.com/StefH)
|
- [#55](https://github.com/WireMock-Net/WireMock.Net/pull/55) - Fix the problem with headers passthrough [bug] contributed by [deeptowncitizen](https://github.com/deeptowncitizen)
|
||||||
- [#347](https://github.com/WireMock-Net/WireMock.Net/issues/347) - Query string match on DateTimeOffset is not working [bug]
|
- [#44](https://github.com/WireMock-Net/WireMock.Net/issues/44) - Bug: Server not listening after Start() returns (on macOS) [bug]
|
||||||
|
- [#48](https://github.com/WireMock-Net/WireMock.Net/issues/48) - Stateful support [feature]
|
||||||
# 1.0.31.0 (19 September 2019)
|
- [#52](https://github.com/WireMock-Net/WireMock.Net/issues/52) - SimMetrics.NET error when trying to install NuGet Package
|
||||||
- [#334](https://github.com/WireMock-Net/WireMock.Net/pull/334) - Fix issues with Proxy mode and Binary Request Bodies [bug] contributed by [andi0b](https://github.com/andi0b)
|
|
||||||
- [#338](https://github.com/WireMock-Net/WireMock.Net/pull/338) - Fix ContentType with parameters in Proxy Mode [bug] contributed by [StefH](https://github.com/StefH)
|
# 1.0.2.4 (10 October 2017)
|
||||||
- [#339](https://github.com/WireMock-Net/WireMock.Net/pull/339) - Fix ConcurrentObservableCollection [bug] contributed by [StefH](https://github.com/StefH)
|
- [#32](https://github.com/WireMock-Net/WireMock.Net/pull/32) - [Feature] Add support for client certificate password and test with real services that require client certificate auth [feature] contributed by [phillee007](https://github.com/phillee007)
|
||||||
- [#345](https://github.com/WireMock-Net/WireMock.Net/pull/345) - Fix CompareTo in RequestMatchResult [bug] contributed by [StefH](https://github.com/StefH)
|
- [#35](https://github.com/WireMock-Net/WireMock.Net/pull/35) - Revert changes that were made by mistake in prior PR contributed by [phillee007](https://github.com/phillee007)
|
||||||
- [#346](https://github.com/WireMock-Net/WireMock.Net/pull/346) - Fix recorded requests skipped by request logger contributed by [vitaliydavydiak](https://github.com/vitaliydavydiak)
|
- [#39](https://github.com/WireMock-Net/WireMock.Net/pull/39) - Listen on http://*:9090 contributed by [StefH](https://github.com/StefH)
|
||||||
- [#337](https://github.com/WireMock-Net/WireMock.Net/issues/337) - Proxy Missing header Content-Type - tried with Recording [bug]
|
- [#40](https://github.com/WireMock-Net/WireMock.Net/pull/40) - Expose more settings to stand-alone app contributed by [StefH](https://github.com/StefH)
|
||||||
- [#344](https://github.com/WireMock-Net/WireMock.Net/issues/344) - Mapping adding order matters for multiple mappings? [bug]
|
- [#41](https://github.com/WireMock-Net/WireMock.Net/pull/41) - Dotnet 20 preview final [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#45](https://github.com/WireMock-Net/WireMock.Net/pull/45) - Add RequestLogExpirationDuration and MaxRequestLogCount (#43) contributed by [StefH](https://github.com/StefH)
|
||||||
# 1.0.29.0 (29 August 2019)
|
- [#51](https://github.com/WireMock-Net/WireMock.Net/pull/51) - Observable logs contributed by [deeptowncitizen](https://github.com/deeptowncitizen)
|
||||||
- [#328](https://github.com/WireMock-Net/WireMock.Net/pull/328) - Fix LogRequest : Index Out Of Bounds [bug] contributed by [StefH](https://github.com/StefH)
|
- [#15](https://github.com/WireMock-Net/WireMock.Net/issues/15) - New feature: Proxying [feature]
|
||||||
- [#331](https://github.com/WireMock-Net/WireMock.Net/pull/331) - Fix: Collection was modified exception [bug] contributed by [theramis](https://github.com/theramis)
|
- [#19](https://github.com/WireMock-Net/WireMock.Net/issues/19) - Is this the same as Mock4Net? [question]
|
||||||
- [#333](https://github.com/WireMock-Net/WireMock.Net/pull/333) - JsonMatcher support IgnoreCase [feature] contributed by [StefH](https://github.com/StefH)
|
- [#20](https://github.com/WireMock-Net/WireMock.Net/issues/20) - Add client certificate authentication [question]
|
||||||
- [#332](https://github.com/WireMock-Net/WireMock.Net/issues/332) - Case sensitive true is ignored for JsonMatcher [feature]
|
- [#31](https://github.com/WireMock-Net/WireMock.Net/issues/31) - Feature request: Nuget package for standalone version [feature]
|
||||||
|
- [#33](https://github.com/WireMock-Net/WireMock.Net/issues/33) - Issue with launching sample code (StandAlone server) [bug]
|
||||||
# 1.0.28.0 (20 August 2019)
|
- [#34](https://github.com/WireMock-Net/WireMock.Net/issues/34) - Where is SearchLogsFor method? [question]
|
||||||
- [#309](https://github.com/WireMock-Net/WireMock.Net/pull/309) - Fix LogEntries: collection was modified exception [bug] contributed by [StefH](https://github.com/StefH)
|
- [#36](https://github.com/WireMock-Net/WireMock.Net/issues/36) - How to implement a request body-dependent response? [question]
|
||||||
- [#314](https://github.com/WireMock-Net/WireMock.Net/pull/314) - RequestLogExpirationDuration : use DateTime.UtcNow [bug] contributed by [StefH](https://github.com/StefH)
|
- [#37](https://github.com/WireMock-Net/WireMock.Net/issues/37) - Wrong Request Match result is returning [question]
|
||||||
- [#316](https://github.com/WireMock-Net/WireMock.Net/pull/316) - Handles case where parameter value contains == [feature] contributed by [lobsteropteryx](https://github.com/lobsteropteryx)
|
- [#38](https://github.com/WireMock-Net/WireMock.Net/issues/38) - Bug: support also listening on *:{port}
|
||||||
- [#317](https://github.com/WireMock-Net/WireMock.Net/pull/317) - Make SaveMapping and SaveMappingToFile settings independent. [feature] contributed by [vitaliydavydiak](https://github.com/vitaliydavydiak)
|
- [#43](https://github.com/WireMock-Net/WireMock.Net/issues/43) - Feature: Add RequestLogExpirationDuration and MaxRequestLogCount
|
||||||
- [#319](https://github.com/WireMock-Net/WireMock.Net/pull/319) - Add blacklist for Request Cookies. contributed by [vitaliydavydiak](https://github.com/vitaliydavydiak)
|
- [#46](https://github.com/WireMock-Net/WireMock.Net/issues/46) - Log the ip-address from the client/caller also in the RequestLog [feature]
|
||||||
- [#322](https://github.com/WireMock-Net/WireMock.Net/pull/322) - Fix MappingMatcher in case of an exception in LinqMatcher. [bug] contributed by [StefH](https://github.com/StefH)
|
- [#47](https://github.com/WireMock-Net/WireMock.Net/issues/47) - Feature: add matcher details to Request to see which matchers match/not match [feature]
|
||||||
- [#323](https://github.com/WireMock-Net/WireMock.Net/pull/323) - Refactor MappingConverter & MatcherMapper [refactor] contributed by [StefH](https://github.com/StefH)
|
- [#50](https://github.com/WireMock-Net/WireMock.Net/issues/50) - New Feature: Callbacks
|
||||||
- [#326](https://github.com/WireMock-Net/WireMock.Net/pull/326) - Fix Parsing Guid in PUT Mapping [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#252](https://github.com/WireMock-Net/WireMock.Net/issues/252) - Proxy with Transform
|
# 1.0.2.1 (14 June 2017)
|
||||||
- [#308](https://github.com/WireMock-Net/WireMock.Net/issues/308) - __admin/requests - "Collection was modified" exception [bug]
|
- [#28](https://github.com/WireMock-Net/WireMock.Net/issues/28) - Facing issue with WildcardMatcher and '?' [question]
|
||||||
- [#313](https://github.com/WireMock-Net/WireMock.Net/issues/313) - RequestLogExpirationDuration - bug [bug]
|
- [#29](https://github.com/WireMock-Net/WireMock.Net/issues/29) - Support of .Net 4.0 [question]
|
||||||
- [#325](https://github.com/WireMock-Net/WireMock.Net/issues/325) - Admin API: PUT Mapping, FormatException because of wrong parsing of the Query [bug]
|
- [#30](https://github.com/WireMock-Net/WireMock.Net/issues/30) - [Feature] Disable partial mappings by default in standalone version [bug, feature]
|
||||||
|
|
||||||
# 1.0.25.0 (23 July 2019)
|
# 1.0.2.0 (05 May 2017)
|
||||||
- [#304](https://github.com/WireMock-Net/WireMock.Net/pull/304) - Support WithBody with multiple matchers [feature] contributed by [StefH](https://github.com/StefH)
|
- [#26](https://github.com/WireMock-Net/WireMock.Net/pull/26) - merge netstandard into main contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#21](https://github.com/WireMock-Net/WireMock.Net/issues/21) - Admin static json mappings [feature]
|
||||||
# 1.0.24.0 (22 July 2019)
|
- [#23](https://github.com/WireMock-Net/WireMock.Net/issues/23) - Consider port to .Net Core
|
||||||
- [#302](https://github.com/WireMock-Net/WireMock.Net/pull/302) - Fixed bug 301 by not setting BodyAsFile to null after first use [bug] contributed by [rwwilden](https://github.com/rwwilden)
|
- [#25](https://github.com/WireMock-Net/WireMock.Net/issues/25) - Upgrade to vs2017 [feature]
|
||||||
- [#301](https://github.com/WireMock-Net/WireMock.Net/issues/301) - Error thrown when calling mocked endpoint second time when using file-based response body [bug]
|
|
||||||
|
# 1.0.1.2 (27 February 2017)
|
||||||
# 1.0.23.0 (16 July 2019)
|
- [#24](https://github.com/WireMock-Net/WireMock.Net/pull/24) - Body Encoding contributed by [sbebrys](https://github.com/sbebrys)
|
||||||
- [#298](https://github.com/WireMock-Net/WireMock.Net/pull/298) - MappingModels [feature] contributed by [StefH](https://github.com/StefH)
|
- [#8](https://github.com/WireMock-Net/WireMock.Net/issues/8) - admin rest api
|
||||||
|
- [#22](https://github.com/WireMock-Net/WireMock.Net/issues/22) - Add basic-authentication for accessing admin-interface [feature]
|
||||||
# 1.0.22.0 (15 July 2019)
|
|
||||||
- [#297](https://github.com/WireMock-Net/WireMock.Net/pull/297) - FixNullRef (#295) contributed by [StefH](https://github.com/StefH)
|
# 1.0.1.1 (10 February 2017)
|
||||||
- [#295](https://github.com/WireMock-Net/WireMock.Net/issues/295) - NullRef in 1.0.21 [bug]
|
- [#1](https://github.com/WireMock-Net/WireMock.Net/issues/1) - Replace WildcardPatternMatcher by RegEx [feature]
|
||||||
|
- [#2](https://github.com/WireMock-Net/WireMock.Net/issues/2) - Func<string> matching [feature]
|
||||||
# 1.0.21.0 (03 July 2019)
|
- [#3](https://github.com/WireMock-Net/WireMock.Net/issues/3) - WithUrls and WithHeaders and ...
|
||||||
- [#286](https://github.com/WireMock-Net/WireMock.Net/pull/286) - Handlebars Extension [feature] contributed by [StefH](https://github.com/StefH)
|
- [#4](https://github.com/WireMock-Net/WireMock.Net/issues/4) - Handlebar support
|
||||||
- [#293](https://github.com/WireMock-Net/WireMock.Net/pull/293) - workaround for AppContext.BaseDirectory being null on some platforms contributed by [eli-darkly](https://github.com/eli-darkly)
|
- [#5](https://github.com/WireMock-Net/WireMock.Net/issues/5) - Xml(2)Path matching
|
||||||
- [#294](https://github.com/WireMock-Net/WireMock.Net/pull/294) - don't strip request body if we don't recognize the request method contributed by [eli-darkly](https://github.com/eli-darkly)
|
- [#6](https://github.com/WireMock-Net/WireMock.Net/issues/6) - JsonPath support matching
|
||||||
- [#289](https://github.com/WireMock-Net/WireMock.Net/issues/289) - Bug: When WatchStaticMappings=true throws exceptions on updating the mapping files [bug]
|
- [#7](https://github.com/WireMock-Net/WireMock.Net/issues/7) - Add WithStatusCodeRange matching [invalid]
|
||||||
- [#290](https://github.com/WireMock-Net/WireMock.Net/issues/290) - Request body is dropped if verb is REPORT [bug]
|
- [#9](https://github.com/WireMock-Net/WireMock.Net/issues/9) - Cookie matching
|
||||||
- [#292](https://github.com/WireMock-Net/WireMock.Net/issues/292) - Can't start server in Xamarin Android [bug]
|
- [#10](https://github.com/WireMock-Net/WireMock.Net/issues/10) - Add usingDelete [feature]
|
||||||
|
- [#11](https://github.com/WireMock-Net/WireMock.Net/issues/11) - Add response body in binary format [feature]
|
||||||
# 1.0.20.0 (17 June 2019)
|
- [#12](https://github.com/WireMock-Net/WireMock.Net/issues/12) - Getting all currently registered stub mappings [feature]
|
||||||
- [#284](https://github.com/WireMock-Net/WireMock.Net/pull/284) - Add SaveToFile in the mapping [feature] contributed by [StefH](https://github.com/StefH)
|
- [#13](https://github.com/WireMock-Net/WireMock.Net/issues/13) - Handle Exception
|
||||||
|
- [#14](https://github.com/WireMock-Net/WireMock.Net/issues/14) - Allow Body as Base64
|
||||||
# 1.0.19.0 (15 June 2019)
|
- [#16](https://github.com/WireMock-Net/WireMock.Net/issues/16) - Stub priority [feature]
|
||||||
- [#283](https://github.com/WireMock-Net/WireMock.Net/issues/283) - Support equal-sign in query [bug]
|
- [#17](https://github.com/WireMock-Net/WireMock.Net/issues/17) - Add JsonBody to response [feature]
|
||||||
|
- [#18](https://github.com/WireMock-Net/WireMock.Net/issues/18) - Listen on more ip-address/ports [feature]
|
||||||
# 1.0.18.0 (10 June 2019)
|
|
||||||
- [#282](https://github.com/WireMock-Net/WireMock.Net/pull/282) - WireMock.Net.Standalone : Add --WireMockLogger commandline argument [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.17.0 (05 June 2019)
|
|
||||||
- [#278](https://github.com/WireMock-Net/WireMock.Net/pull/278) - Add support for HandleBars File (to read a file) [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.16.0 (16 May 2019)
|
|
||||||
- [#274](https://github.com/WireMock-Net/WireMock.Net/pull/274) - Sign Assembly [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#160](https://github.com/WireMock-Net/WireMock.Net/issues/160) - Feature: Sign 'WireMock.Net' [feature]
|
|
||||||
- [#267](https://github.com/WireMock-Net/WireMock.Net/issues/267) - Assembly does not have strong name
|
|
||||||
|
|
||||||
# 1.0.15.0 (04 May 2019)
|
|
||||||
- [#271](https://github.com/WireMock-Net/WireMock.Net/pull/271) - Support Dynamic response files using Handlebars templating [bug, feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#272](https://github.com/WireMock-Net/WireMock.Net/pull/272) - Add unit test for JsonPath and BodyAsFile mapping contributed by [denstorti](https://github.com/denstorti)
|
|
||||||
- [#273](https://github.com/WireMock-Net/WireMock.Net/pull/273) - Dynamic response handlebars templating (2) [bug, feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.14.0 (20 April 2019)
|
|
||||||
- [#269](https://github.com/WireMock-Net/WireMock.Net/pull/269) - Add JmesPath matcher [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.13.0 (11 April 2019)
|
|
||||||
- [#266](https://github.com/WireMock-Net/WireMock.Net/pull/266) - [265] Add file upload to allow mocking of file operations contributed by [JackCreativeCrew](https://github.com/JackCreativeCrew)
|
|
||||||
- [#265](https://github.com/WireMock-Net/WireMock.Net/issues/265) - File Upload [feature]
|
|
||||||
|
|
||||||
# 1.0.12.0 (05 April 2019)
|
|
||||||
- [#264](https://github.com/WireMock-Net/WireMock.Net/pull/264) - Proxy : also save multipart as string in mapping file contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#263](https://github.com/WireMock-Net/WireMock.Net/issues/263) - Content-Type multipart/form-data is not serialized in proxy and recording mode [bug]
|
|
||||||
|
|
||||||
# 1.0.11.0 (30 March 2019)
|
|
||||||
- [#261](https://github.com/WireMock-Net/WireMock.Net/pull/261) - Fix BodyAsJson transform bug in ResponseMessageTransformer contributed by [psypilat](https://github.com/psypilat)
|
|
||||||
- [#262](https://github.com/WireMock-Net/WireMock.Net/pull/262) - Add ProvideResponse_WithJsonBodyAndTransform test contributed by [psypilat](https://github.com/psypilat)
|
|
||||||
|
|
||||||
# 1.0.10.0 (27 March 2019)
|
|
||||||
- [#260](https://github.com/WireMock-Net/WireMock.Net/pull/260) - Fix Response.Delay property serialization [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.9.0 (25 March 2019)
|
|
||||||
- [#256](https://github.com/WireMock-Net/WireMock.Net/pull/256) - Fixed Multi Param Match logic contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#255](https://github.com/WireMock-Net/WireMock.Net/issues/255) - ExactMatcher with array pattern not working? [bug]
|
|
||||||
|
|
||||||
# 1.0.8.0 (12 March 2019)
|
|
||||||
- [#254](https://github.com/WireMock-Net/WireMock.Net/pull/254) - RequestMessageParamMatcher supports Ignore Case for the key [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#253](https://github.com/WireMock-Net/WireMock.Net/issues/253) - Request Path and query parameter keys are case-sensitive
|
|
||||||
|
|
||||||
# 1.0.7.0 (19 January 2019)
|
|
||||||
- [#244](https://github.com/WireMock-Net/WireMock.Net/pull/244) - Fix BodyAsFile to also allow relative paths [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#240](https://github.com/WireMock-Net/WireMock.Net/issues/240) - How to submit mappings for multiple request, responses [feature]
|
|
||||||
- [#243](https://github.com/WireMock-Net/WireMock.Net/issues/243) - Not able to read response from file [bug]
|
|
||||||
|
|
||||||
# 1.0.6.1 (10 January 2019)
|
|
||||||
- [#247](https://github.com/WireMock-Net/WireMock.Net/pull/247) - Issue 225 improve logging in example for wire mock as windows service contributed by [paulssn](https://github.com/paulssn)
|
|
||||||
- [#249](https://github.com/WireMock-Net/WireMock.Net/pull/249) - Fixed "Content-Type multipart/form-data" [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#225](https://github.com/WireMock-Net/WireMock.Net/issues/225) - Feature: Improve logging in example for WireMock as Windows Service [feature]
|
|
||||||
- [#248](https://github.com/WireMock-Net/WireMock.Net/issues/248) - Content-Type multipart/form-data is not seen as byte[] anymore
|
|
||||||
|
|
||||||
# 1.0.6 (15 December 2018)
|
|
||||||
- [#242](https://github.com/WireMock-Net/WireMock.Net/pull/242) - Post multiple Mappings [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.5 (07 December 2018)
|
|
||||||
- [#236](https://github.com/WireMock-Net/WireMock.Net/pull/236) - Add Random Regex (using Fare) [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.4.21 (30 November 2018)
|
|
||||||
- [#221](https://github.com/WireMock-Net/WireMock.Net/pull/221) - Update dependencies [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#229](https://github.com/WireMock-Net/WireMock.Net/pull/229) - Fix proxy tests [test] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#230](https://github.com/WireMock-Net/WireMock.Net/pull/230) - Add HandleBars Random functionality (#219) [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#231](https://github.com/WireMock-Net/WireMock.Net/pull/231) - Use RandomDataGenerator.Net 1.0.3.0 contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#232](https://github.com/WireMock-Net/WireMock.Net/pull/232) - Add SonarLint checks [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#233](https://github.com/WireMock-Net/WireMock.Net/pull/233) - RandomDataGenerator.Net 1.0.4 [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#235](https://github.com/WireMock-Net/WireMock.Net/pull/235) - Check aggregate exception during startup [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#219](https://github.com/WireMock-Net/WireMock.Net/issues/219) - Feature: random value helper [feature]
|
|
||||||
- [#234](https://github.com/WireMock-Net/WireMock.Net/issues/234) - Timeout Exception on VSTS Test Platform (Azure DevOps), with private build agent
|
|
||||||
|
|
||||||
# 1.0.4.20 (07 November 2018)
|
|
||||||
- [#222](https://github.com/WireMock-Net/WireMock.Net/pull/222) - Codecov contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#224](https://github.com/WireMock-Net/WireMock.Net/pull/224) - Fixed issue 223: Example for WireMock as Windows Service throws Exception because of WireMockConsoleLogger contributed by [paulssn](https://github.com/paulssn)
|
|
||||||
- [#228](https://github.com/WireMock-Net/WireMock.Net/pull/228) - Fixed logic for IsRestrictedResponseHeader [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#223](https://github.com/WireMock-Net/WireMock.Net/issues/223) - Bug: Example for WireMock as Windows Service throws Exception because of WireMockConsoleLogger [bug]
|
|
||||||
|
|
||||||
# 1.0.4.19 (31 October 2018)
|
|
||||||
- [#220](https://github.com/WireMock-Net/WireMock.Net/pull/220) - Update SimpleCommandLineParser to handle arguments with key and value contributed by [StefH](https://github.com/StefH)
|
|
||||||
|
|
||||||
# 1.0.4.18 (27 October 2018)
|
|
||||||
- [#207](https://github.com/WireMock-Net/WireMock.Net/pull/207) - Rewrite some unit-integration-tests to unit-tests (#206) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#208](https://github.com/WireMock-Net/WireMock.Net/pull/208) - Refactor contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#209](https://github.com/WireMock-Net/WireMock.Net/pull/209) - NET Core 2.1 + support for Service Fabric commandline parameters contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#212](https://github.com/WireMock-Net/WireMock.Net/pull/212) - Update BodyParser logic contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#216](https://github.com/WireMock-Net/WireMock.Net/pull/216) - ResponseBodyData contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#217](https://github.com/WireMock-Net/WireMock.Net/pull/217) - Enable Source Link contributed by [kashifsoofi](https://github.com/kashifsoofi)
|
|
||||||
- [#218](https://github.com/WireMock-Net/WireMock.Net/pull/218) - remove appveyor contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#107](https://github.com/WireMock-Net/WireMock.Net/issues/107) - Feature: increase code coverage [feature]
|
|
||||||
- [#161](https://github.com/WireMock-Net/WireMock.Net/issues/161) - Feature: Implement SourceLink [feature]
|
|
||||||
- [#179](https://github.com/WireMock-Net/WireMock.Net/issues/179) - BodyAsFile .json files interferes with WatchStaticMappings
|
|
||||||
- [#194](https://github.com/WireMock-Net/WireMock.Net/issues/194) - Could not load file or assembly 'netstandard, Version=2.0.0.0 On Build Server
|
|
||||||
- [#206](https://github.com/WireMock-Net/WireMock.Net/issues/206) - Rewrite some unit-integration-tests to unit-tests
|
|
||||||
- [#210](https://github.com/WireMock-Net/WireMock.Net/issues/210) - When proxying, the Content-Type headers get dropped from the request
|
|
||||||
- [#211](https://github.com/WireMock-Net/WireMock.Net/issues/211) - Feature: Add support to recognise custom json media-types
|
|
||||||
- [#213](https://github.com/WireMock-Net/WireMock.Net/issues/213) - Question: Unable get response from wiremock.net server in c#
|
|
||||||
- [#215](https://github.com/WireMock-Net/WireMock.Net/issues/215) - Issue: upgrade Microsoft.AspNetCore / Microsoft.AspNetCore.All to 2.1.5
|
|
||||||
|
|
||||||
# 1.0.4.17 (22 September 2018)
|
|
||||||
- [#203](https://github.com/WireMock-Net/WireMock.Net/pull/203) - Set up CI with Azure Pipelines contributed by [azure-pipelines[bot]](https://github.com/apps/azure-pipelines)
|
|
||||||
- [#204](https://github.com/WireMock-Net/WireMock.Net/pull/204) - Lower priority from Proxy mappings in favor of Admin Mappings [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#200](https://github.com/WireMock-Net/WireMock.Net/issues/200) - Issue: Incorrect port matching
|
|
||||||
- [#205](https://github.com/WireMock-Net/WireMock.Net/issues/205) - Issue: DELETE method is proxied as lowercase [bug]
|
|
||||||
|
|
||||||
# 1.0.4.16 (11 September 2018)
|
|
||||||
- [#202](https://github.com/WireMock-Net/WireMock.Net/pull/202) - Update handlebars code to support Regex.Match (#201) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#201](https://github.com/WireMock-Net/WireMock.Net/issues/201) - Question : Extracting text from a request.body that is not json
|
|
||||||
|
|
||||||
# 1.0.4.15 (04 September 2018)
|
|
||||||
- [#199](https://github.com/WireMock-Net/WireMock.Net/pull/199) - Fix for .WithBody(Func<RequestMessage, string>...) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#198](https://github.com/WireMock-Net/WireMock.Net/issues/198) - Issue : creating response using .WithBody(Func<RequestMessage, string>...) and .WithStatusCode [bug]
|
|
||||||
|
|
||||||
# 1.0.4.14 (02 September 2018)
|
|
||||||
- [#197](https://github.com/WireMock-Net/WireMock.Net/pull/197) - Set IsStarted = true in a IApplicationLifetime.ApplicationStarted listener [bug] contributed by [davide-romanini](https://github.com/davide-romanini)
|
|
||||||
- [#196](https://github.com/WireMock-Net/WireMock.Net/issues/196) - Issue: AspNetCoreSelfHost.IsStarted set before the server actually started for real [bug]
|
|
||||||
|
|
||||||
# 1.0.4.13 (31 August 2018)
|
|
||||||
- [#195](https://github.com/WireMock-Net/WireMock.Net/pull/195) - Add LinqMatcher contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#192](https://github.com/WireMock-Net/WireMock.Net/issues/192) - Cannot upgrade from 1.0.4.10 to 1.0.4.12 without upgrading to .net core 2.1 [bug]
|
|
||||||
|
|
||||||
# 1.0.4.12 (23 August 2018)
|
|
||||||
- [#190](https://github.com/WireMock-Net/WireMock.Net/pull/190) - Fix ResponseMessageTransformer (#188) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#191](https://github.com/WireMock-Net/WireMock.Net/pull/191) - Fix ignore case logic for header-name and cookie-name contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#188](https://github.com/WireMock-Net/WireMock.Net/issues/188) - Bug: ResponseMessageTransformer :
|
|
||||||
- [#189](https://github.com/WireMock-Net/WireMock.Net/issues/189) - Issue: Case of header key/name not ignored in RequestBuilder when ignoreCase == true
|
|
||||||
|
|
||||||
# 1.0.4.11 (20 August 2018)
|
|
||||||
- [#183](https://github.com/WireMock-Net/WireMock.Net/pull/183) - Set Content-Type header for PutMappingAsync in the client contributed by [seanamosw](https://github.com/seanamosw)
|
|
||||||
- [#185](https://github.com/WireMock-Net/WireMock.Net/pull/185) - Support Microsoft.AspNetCore for net 4.6.1 and up [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#186](https://github.com/WireMock-Net/WireMock.Net/pull/186) - ContentType "application/vnd.api+json" is not recognized as json contributed by [steveland83](https://github.com/steveland83)
|
|
||||||
- [#182](https://github.com/WireMock-Net/WireMock.Net/issues/182) - Bug: IFluentMockServerAdmin::PutMappingAsync does not set Content-Type
|
|
||||||
- [#184](https://github.com/WireMock-Net/WireMock.Net/issues/184) - Bug: Fix AppVeyor PR build process
|
|
||||||
- [#187](https://github.com/WireMock-Net/WireMock.Net/issues/187) - Bug: Admin GetRequestAsync does not populate request body for JsonApi ("application/vnd.api+json") content
|
|
||||||
|
|
||||||
# 1.0.4.10 (14 August 2018)
|
|
||||||
- [#180](https://github.com/WireMock-Net/WireMock.Net/pull/180) - Add IFileSystemHandler to support Azure for StaticMapping location contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#173](https://github.com/WireMock-Net/WireMock.Net/issues/173) - Feature: Mapping files lost when restarting an Azure app service [feature]
|
|
||||||
|
|
||||||
# 1.0.4.9 (08 August 2018)
|
|
||||||
- [#172](https://github.com/WireMock-Net/WireMock.Net/issues/172) - Question: Same/similar fluent interface for in process and admin client API
|
|
||||||
- [#174](https://github.com/WireMock-Net/WireMock.Net/issues/174) - Bug: JsonMatcher and JsonPathMatcher throws when posting byte[] [bug]
|
|
||||||
- [#175](https://github.com/WireMock-Net/WireMock.Net/issues/175) - Bug: Don't allow adding a mapping with no URL or PATH [bug]
|
|
||||||
- [#176](https://github.com/WireMock-Net/WireMock.Net/issues/176) - Question: Saving mapping with relative (not found) file fails
|
|
||||||
- [#177](https://github.com/WireMock-Net/WireMock.Net/issues/177) - Feature: Skip invalid static mapping files [feature]
|
|
||||||
|
|
||||||
# 1.0.4.8 (23 July 2018)
|
|
||||||
- [#170](https://github.com/WireMock-Net/WireMock.Net/pull/170) - Support json path in the response contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#167](https://github.com/WireMock-Net/WireMock.Net/issues/167) - Feature: Support for JsonPath in the response (with HandleBars) [feature]
|
|
||||||
|
|
||||||
# 1.0.4.7 (19 July 2018)
|
|
||||||
- [#169](https://github.com/WireMock-Net/WireMock.Net/pull/169) - Fix for Restricted Response headers [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#148](https://github.com/WireMock-Net/WireMock.Net/issues/148) - Question: proxy passthrough when no match?
|
|
||||||
|
|
||||||
# 1.0.4.6 (18 July 2018)
|
|
||||||
- [#168](https://github.com/WireMock-Net/WireMock.Net/pull/168) - Expose scenario states [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#163](https://github.com/WireMock-Net/WireMock.Net/issues/163) - Feature: Expose scenario states
|
|
||||||
|
|
||||||
# 1.0.4.5 (17 July 2018)
|
|
||||||
- [#164](https://github.com/WireMock-Net/WireMock.Net/pull/164) - Support running WireMock.Net as a sub-app in IIS [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#165](https://github.com/WireMock-Net/WireMock.Net/pull/165) - Add SonarCloud contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#166](https://github.com/WireMock-Net/WireMock.Net/pull/166) - Fix Sonar issues contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#120](https://github.com/WireMock-Net/WireMock.Net/issues/120) - Question: JsonPathMatcher - not matching? Correct syntax?
|
|
||||||
- [#123](https://github.com/WireMock-Net/WireMock.Net/issues/123) - Fix for DateTime Header causing null value in ResponseBuilder
|
|
||||||
|
|
||||||
# 1.0.4.4 (01 July 2018)
|
|
||||||
- [#156](https://github.com/WireMock-Net/WireMock.Net/issues/156) - Feature: when adding / updating a mapping : return more details
|
|
||||||
|
|
||||||
# 1.0.4.3 (30 June 2018)
|
|
||||||
- [#159](https://github.com/WireMock-Net/WireMock.Net/issues/159) - Bug: IRequestBuilder.WithParam broken for key-only matching [bug]
|
|
||||||
|
|
||||||
# 1.0.4.2 (26 June 2018)
|
|
||||||
- [#157](https://github.com/WireMock-Net/WireMock.Net/pull/157) - Support for string and object in JsonMatcher. [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#150](https://github.com/WireMock-Net/WireMock.Net/issues/150) - Add support for .NET Core 2.1 (.NET Core 2.0 will reach end of life on september 2018)
|
|
||||||
- [#154](https://github.com/WireMock-Net/WireMock.Net/issues/154) - Feature: support BodyAsJson for Request in static mapping files. [feature]
|
|
||||||
|
|
||||||
# 1.0.4.1 (25 June 2018)
|
|
||||||
- [#153](https://github.com/WireMock-Net/WireMock.Net/issues/153) - Feature: Add JsonMatcher to support Json mapping
|
|
||||||
|
|
||||||
# 1.0.4.0 (23 June 2018)
|
|
||||||
- [#131](https://github.com/WireMock-Net/WireMock.Net/issues/131) - Bug: CurlException Couldn't connect to Server when running multiple tests
|
|
||||||
- [#149](https://github.com/WireMock-Net/WireMock.Net/issues/149) - Question: Transformer and Delay in Static Mappings?
|
|
||||||
- [#151](https://github.com/WireMock-Net/WireMock.Net/issues/151) - Feature: Add logging of incoming request and body for tracability
|
|
||||||
|
|
||||||
# 1.0.3.20 (29 May 2018)
|
|
||||||
- [#147](https://github.com/WireMock-Net/WireMock.Net/pull/147) - Revert PortUtil.cs changes contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#129](https://github.com/WireMock-Net/WireMock.Net/issues/129) - Random test failures between WireMock.Net 1.0.3.1 and 1.0.3.2
|
|
||||||
- [#146](https://github.com/WireMock-Net/WireMock.Net/issues/146) - Hang possibly due to Windows firewall prompt
|
|
||||||
|
|
||||||
# 1.0.3.19 (28 May 2018)
|
|
||||||
- [#144](https://github.com/WireMock-Net/WireMock.Net/pull/144) - Fix ConcurrentDictionary (#129) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#145](https://github.com/WireMock-Net/WireMock.Net/pull/145) - Cancellation token not passed to server instance in .NET Core 2 [bug] contributed by [Bob11327](https://github.com/Bob11327)
|
|
||||||
|
|
||||||
# 1.0.3.18 (25 May 2018)
|
|
||||||
- [#142](https://github.com/WireMock-Net/WireMock.Net/pull/142) - Allow all headers to be set as Response headers contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#122](https://github.com/WireMock-Net/WireMock.Net/issues/122) - WireMock.Net not responding in unit tests - same works in console application
|
|
||||||
- [#126](https://github.com/WireMock-Net/WireMock.Net/issues/126) - Question: UsingHead always returns 0 for Content-Length header even when explicitly specified
|
|
||||||
- [#132](https://github.com/WireMock-Net/WireMock.Net/issues/132) - LogEntries not being recorded on subsequent tests
|
|
||||||
- [#136](https://github.com/WireMock-Net/WireMock.Net/issues/136) - Question: Does the WireMock send Content-Length response header
|
|
||||||
- [#137](https://github.com/WireMock-Net/WireMock.Net/issues/137) - Question: How to specify Transfer-Encoding response header?
|
|
||||||
- [#139](https://github.com/WireMock-Net/WireMock.Net/issues/139) - Wiki link https://github.com/StefH/WireMock.Net/wiki/Record-(via-proxy)-and-Save is dead
|
|
||||||
|
|
||||||
# 1.0.3.17 (16 May 2018)
|
|
||||||
- [#134](https://github.com/WireMock-Net/WireMock.Net/pull/134) - Stef negate matcher contributed by [alastairtree](https://github.com/alastairtree)
|
|
||||||
- [#135](https://github.com/WireMock-Net/WireMock.Net/pull/135) - Merge into the stef_negate_matcher branch (solves issue #133) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#138](https://github.com/WireMock-Net/WireMock.Net/pull/138) - Added Negate matcher logic contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#130](https://github.com/WireMock-Net/WireMock.Net/issues/130) - ...
|
|
||||||
|
|
||||||
# 1.0.3.16 (17 April 2018)
|
|
||||||
- [#121](https://github.com/WireMock-Net/WireMock.Net/pull/121) - Fix for issue #118 [bug] contributed by [raghavendrabankapur](https://github.com/raghavendrabankapur)
|
|
||||||
- [#125](https://github.com/WireMock-Net/WireMock.Net/pull/125) - Change listen from loopback to any ip address for dotnetcore2.0 apps contributed by [SubjectiveReality](https://github.com/SubjectiveReality)
|
|
||||||
- [#118](https://github.com/WireMock-Net/WireMock.Net/issues/118) - Not reading the response from a file when mappings are placed in json file
|
|
||||||
- [#124](https://github.com/WireMock-Net/WireMock.Net/issues/124) - Issue: Unable to get host to listen on ips other than 127.0.0.1 using StandAloneApp
|
|
||||||
|
|
||||||
# 1.0.3.15 (05 April 2018)
|
|
||||||
- [#117](https://github.com/WireMock-Net/WireMock.Net/pull/117) - Respect start timeout setting and expose exception from server startup contributed by [evanlwj](https://github.com/evanlwj)
|
|
||||||
|
|
||||||
# 1.0.3.14 (01 April 2018)
|
|
||||||
- [#111](https://github.com/WireMock-Net/WireMock.Net/issues/111) - Question: Adding wiki documentation on how to use WireMock.Net.WebApplication project
|
|
||||||
- [#112](https://github.com/WireMock-Net/WireMock.Net/issues/112) - Question: Request.Create().WithBody() not able to match with custom class which implements IMatcher
|
|
||||||
- [#113](https://github.com/WireMock-Net/WireMock.Net/issues/113) - Feature: Add BodyAsJsonIndented for response message [feature]
|
|
||||||
- [#114](https://github.com/WireMock-Net/WireMock.Net/issues/114) - Feature: Add PathSegments in Transform [feature]
|
|
||||||
|
|
||||||
# 1.0.3.11 (20 March 2018)
|
|
||||||
- [#110](https://github.com/WireMock-Net/WireMock.Net/issues/110) - Fix: remove `Func[]` from MappingModel
|
|
||||||
|
|
||||||
# 1.0.3.10 (17 March 2018)
|
|
||||||
- [#109](https://github.com/WireMock-Net/WireMock.Net/issues/109) - Issue: When proxying, MimeType is wrong for StringContent
|
|
||||||
|
|
||||||
# 1.0.3.9 (15 March 2018)
|
|
||||||
- [#108](https://github.com/WireMock-Net/WireMock.Net/issues/108) - Issue: provide correct contentTypeHeader value for the bodyparser [bug]
|
|
||||||
|
|
||||||
# 1.0.3.8 (10 March 2018)
|
|
||||||
- [#106](https://github.com/WireMock-Net/WireMock.Net/issues/106) - Issue: Params does not work, when there are multiple values for a key
|
|
||||||
|
|
||||||
# 1.0.3.4 (04 March 2018)
|
|
||||||
- [#95](https://github.com/WireMock-Net/WireMock.Net/pull/95) - Unittest fix contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#96](https://github.com/WireMock-Net/WireMock.Net/pull/96) - Replace log4net by custom logger (#94) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#101](https://github.com/WireMock-Net/WireMock.Net/pull/101) - ICallbackResponseBuilder + added more unit-tests [bug] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#102](https://github.com/WireMock-Net/WireMock.Net/pull/102) - Feature: add WithBody(req => dostuff) style callback [feature] contributed by [alastairtree](https://github.com/alastairtree)
|
|
||||||
- [#66](https://github.com/WireMock-Net/WireMock.Net/issues/66) - Interested in callbacks?
|
|
||||||
- [#93](https://github.com/WireMock-Net/WireMock.Net/issues/93) - Bug: FluentMockServer IsStarted after calling Start()
|
|
||||||
- [#94](https://github.com/WireMock-Net/WireMock.Net/issues/94) - Issue: Introduced dependency on log4net
|
|
||||||
- [#98](https://github.com/WireMock-Net/WireMock.Net/issues/98) - IBodyResponseBuilder.WithBody* should receive the request as a parameter
|
|
||||||
|
|
||||||
# 1.0.3.3 (24 February 2018)
|
|
||||||
- [#92](https://github.com/WireMock-Net/WireMock.Net/pull/92) - Json fixes (#91) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#91](https://github.com/WireMock-Net/WireMock.Net/issues/91) - Bug: WireMock.Net is not matching application/json http requests using JSONPathMatcher [bug]
|
|
||||||
|
|
||||||
# 1.0.3.2 (14 February 2018)
|
|
||||||
- [#90](https://github.com/WireMock-Net/WireMock.Net/pull/90) - Concurrent issue (#88) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#88](https://github.com/WireMock-Net/WireMock.Net/issues/88) - Bug: Standalone server throws 500 error when receiving concurrent requests [bug]
|
|
||||||
|
|
||||||
# 1.0.3.1 (14 February 2018)
|
|
||||||
- [#89](https://github.com/WireMock-Net/WireMock.Net/pull/89) - Add log4net logging contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#87](https://github.com/WireMock-Net/WireMock.Net/issues/87) - Feature: Add logging
|
|
||||||
|
|
||||||
# 1.0.3.0 (05 February 2018)
|
|
||||||
- [#80](https://github.com/WireMock-Net/WireMock.Net/issues/80) - Feature: When using proxy, in case Content-Type is JSON, use BodyAsJson in Response
|
|
||||||
- [#81](https://github.com/WireMock-Net/WireMock.Net/issues/81) - Feature: When using proxy, only BodyAsBytes in case of binary data?
|
|
||||||
- [#82](https://github.com/WireMock-Net/WireMock.Net/issues/82) - Feature: make it possible to ignore some headers when proxying [feature]
|
|
||||||
- [#83](https://github.com/WireMock-Net/WireMock.Net/issues/83) - Feature : Add also a method in IProxyResponseBuilder to provide proxy-settings [feature]
|
|
||||||
- [#85](https://github.com/WireMock-Net/WireMock.Net/issues/85) - Bug: https for netstandard does not work ? [bug]
|
|
||||||
- [#86](https://github.com/WireMock-Net/WireMock.Net/issues/86) - Feature : Add FileSystemWatcher logic for watching static mapping files [feature]
|
|
||||||
|
|
||||||
# 1.0.2.13 (23 January 2018)
|
|
||||||
- [#79](https://github.com/WireMock-Net/WireMock.Net/pull/79) - Fix missed content headers contributed by [vladimir-fed](https://github.com/vladimir-fed)
|
|
||||||
- [#57](https://github.com/WireMock-Net/WireMock.Net/issues/57) - ProxyAndRecord does not save query-parameters, headers and body [bug]
|
|
||||||
- [#78](https://github.com/WireMock-Net/WireMock.Net/issues/78) - WireMock not working when attempting to access from anything other than localhost.
|
|
||||||
|
|
||||||
# 1.0.2.12 (16 January 2018)
|
|
||||||
- [#75](https://github.com/WireMock-Net/WireMock.Net/pull/75) - Add WireMock.Net.WebApplication example contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#77](https://github.com/WireMock-Net/WireMock.Net/pull/77) - Fixed issue #76 contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#73](https://github.com/WireMock-Net/WireMock.Net/issues/73) - Updated mapping is not being picked and responded with the response
|
|
||||||
- [#76](https://github.com/WireMock-Net/WireMock.Net/issues/76) - Bug: IFluentMockServerAdmin is missing content-type for some POST/PUT calls
|
|
||||||
|
|
||||||
# 1.0.2.11 (20 December 2017)
|
|
||||||
- [#72](https://github.com/WireMock-Net/WireMock.Net/issues/72) - Matching WithParam on OData End Points
|
|
||||||
|
|
||||||
# 1.0.2.10 (12 December 2017)
|
|
||||||
- [#70](https://github.com/WireMock-Net/WireMock.Net/issues/70) - Proxy/Intercept pattern is throwing a keep alive header error with net461
|
|
||||||
|
|
||||||
# 1.0.2.9 (07 December 2017)
|
|
||||||
- [#71](https://github.com/WireMock-Net/WireMock.Net/pull/71) - Fixed restricted headers on response contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#69](https://github.com/WireMock-Net/WireMock.Net/issues/69) - Instructions are incorrect (?)
|
|
||||||
|
|
||||||
# 1.0.2.8 (23 November 2017)
|
|
||||||
- [#65](https://github.com/WireMock-Net/WireMock.Net/pull/65) - bug: Fix admin api client definition returning the wrong types contributed by [alastairtree](https://github.com/alastairtree)
|
|
||||||
- [#67](https://github.com/WireMock-Net/WireMock.Net/pull/67) - bug: fix supporting the Patch method and logging the body contributed by [alastairtree](https://github.com/alastairtree)
|
|
||||||
- [#64](https://github.com/WireMock-Net/WireMock.Net/issues/64) - Pull Requests do not trigger test + codecoverage ?
|
|
||||||
|
|
||||||
# 1.0.2.7 (18 November 2017)
|
|
||||||
- [#62](https://github.com/WireMock-Net/WireMock.Net/pull/62) - Add the Host, Protocol, Port and Origin to the Request message so they can be used in templating contributed by [alastairtree](https://github.com/alastairtree)
|
|
||||||
- [#63](https://github.com/WireMock-Net/WireMock.Net/pull/63) - Fix issue with concurrent logging contributed by [vladimir-fed](https://github.com/vladimir-fed)
|
|
||||||
- [#27](https://github.com/WireMock-Net/WireMock.Net/issues/27) - New feature: Record and Save
|
|
||||||
- [#42](https://github.com/WireMock-Net/WireMock.Net/issues/42) - Enhancement - Save/load request logs to/from disk [feature]
|
|
||||||
- [#53](https://github.com/WireMock-Net/WireMock.Net/issues/53) - New feature request: Access to Owin pipeline
|
|
||||||
|
|
||||||
# 1.0.2.6 (30 October 2017)
|
|
||||||
- [#59](https://github.com/WireMock-Net/WireMock.Net/pull/59) - Add ability to provide multiple values for headers in response contributed by [Dreamescaper](https://github.com/Dreamescaper)
|
|
||||||
- [#60](https://github.com/WireMock-Net/WireMock.Net/pull/60) - Fix proxy headers handling contributed by [Dreamescaper](https://github.com/Dreamescaper)
|
|
||||||
- [#54](https://github.com/WireMock-Net/WireMock.Net/issues/54) - Proxy for AWS: Error unmarshalling response back from AWS [bug]
|
|
||||||
- [#56](https://github.com/WireMock-Net/WireMock.Net/issues/56) - WithBodyFromFile Support [feature]
|
|
||||||
- [#58](https://github.com/WireMock-Net/WireMock.Net/issues/58) - Multiple headers with same name [feature]
|
|
||||||
|
|
||||||
# 1.0.2.5 (24 October 2017)
|
|
||||||
- [#55](https://github.com/WireMock-Net/WireMock.Net/pull/55) - Fix the problem with headers passthrough [bug] contributed by [deeptowncitizen](https://github.com/deeptowncitizen)
|
|
||||||
- [#44](https://github.com/WireMock-Net/WireMock.Net/issues/44) - Bug: Server not listening after Start() returns (on macOS) [bug]
|
|
||||||
- [#48](https://github.com/WireMock-Net/WireMock.Net/issues/48) - Stateful support [feature]
|
|
||||||
- [#52](https://github.com/WireMock-Net/WireMock.Net/issues/52) - SimMetrics.NET error when trying to install NuGet Package
|
|
||||||
|
|
||||||
# 1.0.2.4 (10 October 2017)
|
|
||||||
- [#32](https://github.com/WireMock-Net/WireMock.Net/pull/32) - [Feature] Add support for client certificate password and test with real services that require client certificate auth [feature] contributed by [phillee007](https://github.com/phillee007)
|
|
||||||
- [#35](https://github.com/WireMock-Net/WireMock.Net/pull/35) - Revert changes that were made by mistake in prior PR contributed by [phillee007](https://github.com/phillee007)
|
|
||||||
- [#39](https://github.com/WireMock-Net/WireMock.Net/pull/39) - Listen on http://*:9090 contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#40](https://github.com/WireMock-Net/WireMock.Net/pull/40) - Expose more settings to stand-alone app contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#41](https://github.com/WireMock-Net/WireMock.Net/pull/41) - Dotnet 20 preview final [feature] contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#45](https://github.com/WireMock-Net/WireMock.Net/pull/45) - Add RequestLogExpirationDuration and MaxRequestLogCount (#43) contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#51](https://github.com/WireMock-Net/WireMock.Net/pull/51) - Observable logs contributed by [deeptowncitizen](https://github.com/deeptowncitizen)
|
|
||||||
- [#15](https://github.com/WireMock-Net/WireMock.Net/issues/15) - New feature: Proxying [feature]
|
|
||||||
- [#31](https://github.com/WireMock-Net/WireMock.Net/issues/31) - Feature request: Nuget package for standalone version [feature]
|
|
||||||
- [#33](https://github.com/WireMock-Net/WireMock.Net/issues/33) - Issue with launching sample code (StandAlone server) [bug]
|
|
||||||
- [#38](https://github.com/WireMock-Net/WireMock.Net/issues/38) - Bug: support also listening on *:{port}
|
|
||||||
- [#43](https://github.com/WireMock-Net/WireMock.Net/issues/43) - Feature: Add RequestLogExpirationDuration and MaxRequestLogCount
|
|
||||||
- [#46](https://github.com/WireMock-Net/WireMock.Net/issues/46) - Log the ip-address from the client/caller also in the RequestLog [feature]
|
|
||||||
- [#47](https://github.com/WireMock-Net/WireMock.Net/issues/47) - Feature: add matcher details to Request to see which matchers match/not match [feature]
|
|
||||||
- [#50](https://github.com/WireMock-Net/WireMock.Net/issues/50) - New Feature: Callbacks
|
|
||||||
|
|
||||||
# 1.0.2.1 (14 June 2017)
|
|
||||||
- [#30](https://github.com/WireMock-Net/WireMock.Net/issues/30) - [Feature] Disable partial mappings by default in standalone version [bug, feature]
|
|
||||||
|
|
||||||
# 1.0.2.0 (05 May 2017)
|
|
||||||
- [#26](https://github.com/WireMock-Net/WireMock.Net/pull/26) - merge netstandard into main contributed by [StefH](https://github.com/StefH)
|
|
||||||
- [#21](https://github.com/WireMock-Net/WireMock.Net/issues/21) - Admin static json mappings [feature]
|
|
||||||
- [#23](https://github.com/WireMock-Net/WireMock.Net/issues/23) - Consider port to .Net Core
|
|
||||||
- [#25](https://github.com/WireMock-Net/WireMock.Net/issues/25) - Upgrade to vs2017 [feature]
|
|
||||||
|
|
||||||
# 1.0.1.2 (27 February 2017)
|
|
||||||
- [#24](https://github.com/WireMock-Net/WireMock.Net/pull/24) - Body Encoding contributed by [sbebrys](https://github.com/sbebrys)
|
|
||||||
- [#8](https://github.com/WireMock-Net/WireMock.Net/issues/8) - admin rest api
|
|
||||||
- [#22](https://github.com/WireMock-Net/WireMock.Net/issues/22) - Add basic-authentication for accessing admin-interface [feature]
|
|
||||||
|
|
||||||
# 1.0.1.1 (10 February 2017)
|
|
||||||
- [#1](https://github.com/WireMock-Net/WireMock.Net/issues/1) - Replace WildcardPatternMatcher by RegEx [feature]
|
|
||||||
- [#2](https://github.com/WireMock-Net/WireMock.Net/issues/2) - Func<string> matching [feature]
|
|
||||||
- [#3](https://github.com/WireMock-Net/WireMock.Net/issues/3) - WithUrls and WithHeaders and ...
|
|
||||||
- [#4](https://github.com/WireMock-Net/WireMock.Net/issues/4) - Handlebar support
|
|
||||||
- [#5](https://github.com/WireMock-Net/WireMock.Net/issues/5) - Xml(2)Path matching
|
|
||||||
- [#6](https://github.com/WireMock-Net/WireMock.Net/issues/6) - JsonPath support matching
|
|
||||||
- [#9](https://github.com/WireMock-Net/WireMock.Net/issues/9) - Cookie matching
|
|
||||||
- [#10](https://github.com/WireMock-Net/WireMock.Net/issues/10) - Add usingDelete [feature]
|
|
||||||
- [#11](https://github.com/WireMock-Net/WireMock.Net/issues/11) - Add response body in binary format [feature]
|
|
||||||
- [#12](https://github.com/WireMock-Net/WireMock.Net/issues/12) - Getting all currently registered stub mappings [feature]
|
|
||||||
- [#13](https://github.com/WireMock-Net/WireMock.Net/issues/13) - Handle Exception
|
|
||||||
- [#14](https://github.com/WireMock-Net/WireMock.Net/issues/14) - Allow Body as Base64
|
|
||||||
- [#16](https://github.com/WireMock-Net/WireMock.Net/issues/16) - Stub priority [feature]
|
|
||||||
- [#17](https://github.com/WireMock-Net/WireMock.Net/issues/17) - Add JsonBody to response [feature]
|
|
||||||
- [#18](https://github.com/WireMock-Net/WireMock.Net/issues/18) - Listen on more ip-address/ports [feature]
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,18 +4,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<VersionPrefix>1.4.1</VersionPrefix>
|
<VersionPrefix>1.0.4.20</VersionPrefix>
|
||||||
<PackageReleaseNotes>See CHANGELOG.md</PackageReleaseNotes>
|
|
||||||
<PackageIconUrl>https://raw.githubusercontent.com/WireMock-Net/WireMock.Net/master/WireMock.Net-Logo.png</PackageIconUrl>
|
|
||||||
<PackageProjectUrl>https://github.com/WireMock-Net/WireMock.Net</PackageProjectUrl>
|
|
||||||
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
|
||||||
<RepositoryType>git</RepositoryType>
|
|
||||||
<RepositoryUrl>https://github.com/WireMock-Net/WireMock.Net</RepositoryUrl>
|
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(TF_BUILD)' == 'true'">
|
|
||||||
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Choose>
|
<Choose>
|
||||||
@@ -27,4 +16,4 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</When>
|
</When>
|
||||||
</Choose>
|
</Choose>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
https://github.com/StefH/GitHubReleaseNotes
|
https://github.com/StefH/GitHubReleaseNotes
|
||||||
|
|
||||||
GitHubReleaseNotes --output CHANGELOG.md --skip-empty-releases --exclude-labels question invalid doc --version 1.4.2
|
GitHubReleaseNotes.exe --output CHANGELOG.md --skip-empty-releases --version 1.0.4.21
|
||||||
41
README.md
41
README.md
@@ -1,18 +1,14 @@
|
|||||||
# WireMock.Net
|
# 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.org](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
|
## Key Features
|
||||||
* HTTP response stubbing, matchable on URL/Path, headers, cookies and body content patterns
|
* HTTP response stubbing, matchable on URL/Path, headers, cookies and body content patterns
|
||||||
* Library can be used in unit tests and integration tests
|
* Runs in unit tests, as a standalone process, as windows service, as Azure or IIS or as docker
|
||||||
* 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 DotNet API, JSON files and JSON over HTTP
|
||||||
* Record/playback of stubs (proxying)
|
* Record/playback of stubs
|
||||||
* Per-request conditional proxying
|
* Per-request conditional proxying
|
||||||
* Stateful behaviour simulation
|
* Stateful behaviour simulation
|
||||||
* Response templating / transformation using Handlebars and extensions
|
* Configurable response delays
|
||||||
* Can be used locally or in CI/CD scenarios
|
|
||||||
|
|
||||||
## Info
|
## Info
|
||||||
| | |
|
| | |
|
||||||
@@ -23,19 +19,20 @@ For more info, see also this WIKI page: [What is WireMock.Net](https://github.co
|
|||||||
| | |
|
| | |
|
||||||
| ***Quality*** | |
|
| ***Quality*** | |
|
||||||
| **Build Azure** | [](https://stef.visualstudio.com/WireMock.Net/_build/latest?definitionId=7) |
|
| **Build Azure** | [](https://stef.visualstudio.com/WireMock.Net/_build/latest?definitionId=7) |
|
||||||
| **Quality** | [](https://sonarcloud.io/project/issues?id=WireMock-Net_WireMock.Net) [](https://www.codefactor.io/repository/github/wiremock-net/wiremock.net) |
|
| **CodeFactor** | [](https://www.codefactor.io/repository/github/wiremock-net/wiremock.net)
|
||||||
| **Sonar Bugs** | [](https://sonarcloud.io/project/issues?id=WireMock-Net_WireMock.Net&resolved=false&types=BUG) [](https://sonarcloud.io/project/issues?id=WireMock-Net_WireMock.Net&resolved=false&types=CODE_SMELL) |
|
| **Sonar Quality Gate** | [](https://sonarcloud.io/project/issues?id=wiremock) |
|
||||||
| **Coverage** | [](https://sonarcloud.io/component_measures?id=WireMock-Net_WireMock.Net&metric=coverage) [](https://codecov.io/gh/WireMock-Net/WireMock.Net)|
|
| **Sonar Bugs** | [](https://sonarcloud.io/project/issues?id=wiremock&resolved=false&types=BUG) |
|
||||||
|
| **Sonar Code Smells** | [](https://sonarcloud.io/project/issues?id=wiremock&resolved=false&types=CODE_SMELL) |
|
||||||
### NuGet packages
|
| **Sonar Coverage** | [](https://sonarcloud.io/component_measures?id=wiremock&metric=coverage) |
|
||||||
|
| **Codecov** | [](https://codecov.io/gh/WireMock-Net/WireMock.Net) |
|
||||||
| | Official | Preview |
|
| **Coveralls** | [](https://coveralls.io/github/WireMock-Net/WireMock.Net?branch=master) |
|
||||||
| - | - | - |
|
| |
|
||||||
| **WireMock.Net** | [](https://www.nuget.org/packages/WireMock.Net) | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net)
|
| ***NuGet*** | |
|
||||||
| **WireMock.Net.StandAlone** | [](https://www.nuget.org/packages/WireMock.Net.StandAlone) | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net.StandAlone)
|
| **WireMock.Net** | [](https://www.nuget.org/packages/WireMock.Net) |
|
||||||
| **WireMock.Net.FluentAssertions** | [](https://www.nuget.org/packages/WireMock.Net.FluentAssertions) | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net.FluentAssertions)
|
| **WireMock.Net.StandAlone** | [](https://www.nuget.org/packages/WireMock.Net.StandAlone) |
|
||||||
| **WireMock.Net.RestClient** | [](https://www.nuget.org/packages/WireMock.Net.RestClient) | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net.RestClient)
|
| ***MyGet (previews)*** | |
|
||||||
| **WireMock.Net.Matchers.CSharpCode** | [](https://www.nuget.org/packages/WireMock.Net.Matchers.CSharpCode) | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net.Matchers.CSharpCode)
|
| **WireMock.Net** | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net) |
|
||||||
|
| **WireMock.Net.StandAlone** | [](https://www.myget.org/feed/wiremock-net/package/nuget/WireMock.Net.StandAlone) |
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
For the supported frameworks and build information, see [this](https://github.com/WireMock-Net/WireMock.Net/wiki/Development-Information) page.
|
For the supported frameworks and build information, see [this](https://github.com/WireMock-Net/WireMock.Net/wiki/Development-Information) page.
|
||||||
@@ -60,13 +57,9 @@ WireMock.Net can be used in several ways:
|
|||||||
You can use your favorite test framework and use WireMock within your tests, see
|
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).
|
[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
|
### 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).
|
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
|
### 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).
|
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).
|
||||||
|
|
||||||
|
|||||||
@@ -1,238 +1,165 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 16
|
# Visual Studio 15
|
||||||
VisualStudioVersion = 16.0.30114.105
|
VisualStudioVersion = 15.0.27130.2036
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{8F890C6F-9ACC-438D-928A-AD61CDA862F2}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{EF242EDF-7133-4277-9A0C-18744DE08707}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0BB8B634-407A-4610-A91F-11586990767A}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{197A0EE3-94E5-4807-BBCF-2F1BCA28A6AE}"
|
||||||
EndProject
|
ProjectSection(SolutionItems) = preProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net", "src\WireMock.Net\WireMock.Net.csproj", "{D3804228-91F4-4502-9595-39584E5A01AD}"
|
.runsettings = .runsettings
|
||||||
EndProject
|
azure-pipelines-linux.yml = azure-pipelines-linux.yml
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Abstractions", "src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj", "{B6269AAC-170A-4346-8B9A-579DED3D9A94}"
|
azure-pipelines.yml = azure-pipelines.yml
|
||||||
EndProject
|
build-info.md = build-info.md
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.RestClient", "src\WireMock.Net.RestClient\WireMock.Net.RestClient.csproj", "{B6269AAC-170A-43D6-8B9A-579DED3D9A96}"
|
CHANGELOG.md = CHANGELOG.md
|
||||||
EndProject
|
Directory.Build.props = Directory.Build.props
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.StandAlone", "src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj", "{B6269AAC-170A-43D5-8B9A-579DED3D9A95}"
|
GitHubReleaseNotes.txt = GitHubReleaseNotes.txt
|
||||||
EndProject
|
README.md = README.md
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Tests", "test\WireMock.Net.Tests\WireMock.Net.Tests.csproj", "{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}"
|
ReSharper_WireMock.DotSettings = ReSharper_WireMock.DotSettings
|
||||||
EndProject
|
report\run-codecov-local.cmd = report\run-codecov-local.cmd
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{985E0ADB-D4B4-473A-AA40-567E279B7946}"
|
report\run-coverlet-local.cmd = report\run-coverlet-local.cmd
|
||||||
EndProject
|
WireMock.Net Solution.sln.DotSettings = WireMock.Net Solution.sln.DotSettings
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7EFB2C5B-1BB2-4AAF-BC9F-216ED80C594D}"
|
EndProjectSection
|
||||||
ProjectSection(SolutionItems) = preProject
|
EndProject
|
||||||
.gitignore = .gitignore
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{F0C22C47-DF71-463C-9B04-B4E0F3B8708A}"
|
||||||
azure-pipelines-ci-linux.yml = azure-pipelines-ci-linux.yml
|
EndProject
|
||||||
azure-pipelines-ci.yml = azure-pipelines-ci.yml
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{890A1DED-C229-4FA1-969E-AAC3BBFC05E5}"
|
||||||
azure-pipelines-linux.yml = azure-pipelines-linux.yml
|
EndProject
|
||||||
azure-pipelines-nuget.yml = azure-pipelines-nuget.yml
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net", "src\WireMock.Net\WireMock.Net.csproj", "{D3804228-91F4-4502-9595-39584E5A01AD}"
|
||||||
build-info.md = build-info.md
|
EndProject
|
||||||
CHANGELOG.md = CHANGELOG.md
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Tests", "test\WireMock.Net.Tests\WireMock.Net.Tests.csproj", "{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}"
|
||||||
Directory.Build.props = Directory.Build.props
|
EndProject
|
||||||
GitHubReleaseNotes.txt = GitHubReleaseNotes.txt
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NETCoreApp", "examples\WireMock.Net.Console.NETCoreApp\WireMock.Net.Console.NETCoreApp.csproj", "{FE281639-B014-4C8A-96FA-141164A74713}"
|
||||||
nuget.config = nuget.config
|
EndProject
|
||||||
README.md = README.md
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.Proxy.NETCoreApp", "examples\WireMock.Net.Console.Record.NETCoreApp\WireMock.Net.Console.Proxy.NETCoreApp.csproj", "{1995E414-F197-4AB4-90C2-68D806B5AF59}"
|
||||||
EndProjectSection
|
EndProject
|
||||||
EndProject
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Client", "examples\WireMock.Net.Client\WireMock.Net.Client.csproj", "{058D4B6C-C03E-49D0-91DB-A535B058FA0D}"
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NETCoreApp3", "examples\WireMock.Net.Console.NETCoreApp3\WireMock.Net.Console.NETCoreApp3.csproj", "{8C424EAF-8269-46A2-9FF1-F6D4EADB5CD5}"
|
EndProject
|
||||||
EndProject
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.StandAlone", "src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj", "{B6269AAC-170A-43D5-8B9A-579DED3D9A95}"
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.Proxy.NETCoreApp2", "examples\WireMock.Net.Console.Proxy.NETCoreApp2\WireMock.Net.Console.Proxy.NETCoreApp2.csproj", "{41C19451-E980-4ED4-A011-DA7A1C23FC05}"
|
EndProject
|
||||||
EndProject
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.StandAlone.NETCoreApp", "examples\WireMock.Net.StandAlone.NETCoreApp\WireMock.Net.StandAlone.NETCoreApp.csproj", "{10E16614-61CA-48D8-8BDD-664C13913DED}"
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Client", "examples\WireMock.Net.Client\WireMock.Net.Client.csproj", "{74D91AD0-D96D-4FD2-AEC5-CC49D38346C0}"
|
EndProject
|
||||||
EndProject
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.StandAlone.Net452", "examples\WireMock.Net.StandAlone.Net452\WireMock.Net.StandAlone.Net452.csproj", "{668F689E-57B4-422E-8846-C0FF643CA999}"
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NETCoreApp", "examples\WireMock.Net.Console.NETCoreApp\WireMock.Net.Console.NETCoreApp.csproj", "{FE281639-B014-4C8A-96FA-141164A74713}"
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
EndProject
|
{B6269AAC-170A-43D5-8B9A-579DED3D9A95} = {B6269AAC-170A-43D5-8B9A-579DED3D9A95}
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.Proxy.NETCoreApp", "examples\WireMock.Net.Console.Record.NETCoreApp\WireMock.Net.Console.Proxy.NETCoreApp.csproj", "{1995E414-F197-4AB4-90C2-68D806B5AF59}"
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.StandAlone.NETCoreApp", "examples\WireMock.Net.StandAlone.NETCoreApp\WireMock.Net.StandAlone.NETCoreApp.csproj", "{10E16614-61CA-48D8-8BDD-664C13913DED}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.WebApplication.NETCore2", "examples\WireMock.Net.WebApplication\WireMock.Net.WebApplication.NETCore2.csproj", "{049539C1-7A66-4559-AD7A-B1C73B97CBB0}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.StandAlone.Net452", "examples\WireMock.Net.StandAlone.Net452\WireMock.Net.StandAlone.Net452.csproj", "{668F689E-57B4-422E-8846-C0FF643CA999}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Console.Proxy.Net452", "examples\WireMock.Net.Console.Proxy.Net452\WireMock.Net.Console.Proxy.Net452.csproj", "{26433A8F-BF01-4962-97EB-81BFFBB61096}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Console.Proxy.Net452", "examples\WireMock.Net.Console.Proxy.Net452\WireMock.Net.Console.Proxy.Net452.csproj", "{26433A8F-BF01-4962-97EB-81BFFBB61096}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.Proxy.NETCoreApp2", "examples\WireMock.Net.Console.Proxy.NETCoreApp2\WireMock.Net.Console.Proxy.NETCoreApp2.csproj", "{23A9AA3C-40FC-42AA-8A5E-05899795A1C6}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.StandAlone.Net461", "examples\WireMock.Net.StandAlone.Net461\WireMock.Net.StandAlone.Net461.csproj", "{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.StandAlone.Net461", "examples\WireMock.Net.StandAlone.Net461\WireMock.Net.StandAlone.Net461.csproj", "{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Service", "examples\Wiremock.Net.Service\WireMock.Net.Service.csproj", "{7F0B2446-0363-4720-AF46-F47F83B557DC}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Service", "examples\Wiremock.Net.Service\WireMock.Net.Service.csproj", "{7F0B2446-0363-4720-AF46-F47F83B557DC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Console.Net461.Classic", "examples\WireMock.Net.Console.Net461.Classic\WireMock.Net.Console.Net461.Classic.csproj", "{1261BB9B-A7D4-456C-8985-3CE560361B8E}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.HeadersTest", "examples\WireMock.Net.Console.HeadersTest\WireMock.Net.Console.HeadersTest.csproj", "{B70278E7-A2C6-4A3B-BBA9-1C873CA6F03C}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Console.Net452.Classic", "examples\WireMock.Net.Console.Net452.Classic\WireMock.Net.Console.Net452.Classic.csproj", "{668F689E-57B4-422E-8846-C0FF643CA268}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Console.Net461.Classic", "examples\WireMock.Net.Console.Net461.Classic\WireMock.Net.Console.Net461.Classic.csproj", "{1261BB9B-A7D4-456C-8985-3CE560361B8E}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NETCoreApp2", "examples\WireMock.Net.Console.NETCoreApp2\WireMock.Net.Console.NETCoreApp2.csproj", "{83645809-9E01-4E81-8733-BA9497554ABF}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Console.Net452.Classic", "examples\WireMock.Net.Console.Net452.Classic\WireMock.Net.Console.Net452.Classic.csproj", "{668F689E-57B4-422E-8846-C0FF643CA268}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.RequestLogTest", "examples\WireMock.Net.Console.RequestLogTest\WireMock.Net.Console.RequestLogTest.csproj", "{A9D039B9-7509-4CF1-9EFD-87EB82998575}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NETCoreApp2", "examples\WireMock.Net.Console.NETCoreApp2\WireMock.Net.Console.NETCoreApp2.csproj", "{83645809-9E01-4E81-8733-BA9497554ABF}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.OpenApiParser", "src\WireMock.Net.OpenApiParser\WireMock.Net.OpenApiParser.csproj", "{D3804228-91F4-4502-9595-39584E5AADAD}"
|
Global
|
||||||
EndProject
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.OpenApiParser.ConsoleApp", "examples\WireMock.Net.OpenApiParser.ConsoleApp\WireMock.Net.OpenApiParser.ConsoleApp.csproj", "{5C09FB93-1535-4F92-AF26-21E8A061EE4A}"
|
Debug|Any CPU = Debug|Any CPU
|
||||||
EndProject
|
Release|Any CPU = Release|Any CPU
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.FluentAssertions", "src\WireMock.Net.FluentAssertions\WireMock.Net.FluentAssertions.csproj", "{B6269AAC-170A-4346-8B9A-579DED3D9A95}"
|
EndGlobalSection
|
||||||
EndProject
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.WebApplication.NETCore2", "examples\WireMock.Net.WebApplication.NETCore2\WireMock.Net.WebApplication.NETCore2.csproj", "{6F38CB3A-6DA1-408A-AECD-E434523C2838}"
|
{D3804228-91F4-4502-9595-39584E5A01AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
EndProject
|
{D3804228-91F4-4502-9595-39584E5A01AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.WebApplication.NETCore3", "examples\WireMock.Net.WebApplication.NETCore3\WireMock.Net.WebApplication.NETCore3.csproj", "{E1C56967-3DC7-46CB-A1DF-B13167A0D9D4}"
|
{D3804228-91F4-4502-9595-39584E5A01AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
EndProject
|
{D3804228-91F4-4502-9595-39584E5A01AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NETCoreApp3WithCertificate", "examples\WireMock.Net.Console.NETCoreApp3WithCertificate\WireMock.Net.Console.NETCoreApp3WithCertificate.csproj", "{925E421A-1B3F-4202-B48F-734743573A4B}"
|
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
EndProject
|
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-WireMock", "src\dotnet-WireMock.Net\dotnet-WireMock.csproj", "{40BF24B5-12E6-4610-9489-138798632E28}"
|
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
EndProject
|
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WireMock.Net.Console.NET5", "examples\WireMock.Net.Console.NET5\WireMock.Net.Console.NET5.csproj", "{3F8CF0AE-5F24-4A54-89E7-A3EE829DB5F8}"
|
{FE281639-B014-4C8A-96FA-141164A74713}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
EndProject
|
{FE281639-B014-4C8A-96FA-141164A74713}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WireMock.Net.Matchers.CSharpCode", "src\WireMock.Net.Matchers.CSharpCode\WireMock.Net.Matchers.CSharpCode.csproj", "{6437CE56-8AB9-4D6D-90F1-70CC5BBE1572}"
|
{FE281639-B014-4C8A-96FA-141164A74713}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
EndProject
|
{FE281639-B014-4C8A-96FA-141164A74713}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
Global
|
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
Debug|Any CPU = Debug|Any CPU
|
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
Release|Any CPU = Release|Any CPU
|
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
{058D4B6C-C03E-49D0-91DB-A535B058FA0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
{058D4B6C-C03E-49D0-91DB-A535B058FA0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D3804228-91F4-4502-9595-39584E5A01AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{058D4B6C-C03E-49D0-91DB-A535B058FA0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{D3804228-91F4-4502-9595-39584E5A01AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{058D4B6C-C03E-49D0-91DB-A535B058FA0D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{D3804228-91F4-4502-9595-39584E5A01AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{D3804228-91F4-4502-9595-39584E5A01AD}.Release|Any CPU.Build.0 = Release|Any CPU
|
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A94}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A94}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{10E16614-61CA-48D8-8BDD-664C13913DED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A94}.Release|Any CPU.Build.0 = Release|Any CPU
|
{10E16614-61CA-48D8-8BDD-664C13913DED}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B6269AAC-170A-43D6-8B9A-579DED3D9A96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{10E16614-61CA-48D8-8BDD-664C13913DED}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{B6269AAC-170A-43D6-8B9A-579DED3D9A96}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{10E16614-61CA-48D8-8BDD-664C13913DED}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{B6269AAC-170A-43D6-8B9A-579DED3D9A96}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA999}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{B6269AAC-170A-43D6-8B9A-579DED3D9A96}.Release|Any CPU.Build.0 = Release|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA999}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA999}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA999}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{049539C1-7A66-4559-AD7A-B1C73B97CBB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{B6269AAC-170A-43D5-8B9A-579DED3D9A95}.Release|Any CPU.Build.0 = Release|Any CPU
|
{049539C1-7A66-4559-AD7A-B1C73B97CBB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{049539C1-7A66-4559-AD7A-B1C73B97CBB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{049539C1-7A66-4559-AD7A-B1C73B97CBB0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E}.Release|Any CPU.Build.0 = Release|Any CPU
|
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{8C424EAF-8269-46A2-9FF1-F6D4EADB5CD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{8C424EAF-8269-46A2-9FF1-F6D4EADB5CD5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{8C424EAF-8269-46A2-9FF1-F6D4EADB5CD5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{23A9AA3C-40FC-42AA-8A5E-05899795A1C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{8C424EAF-8269-46A2-9FF1-F6D4EADB5CD5}.Release|Any CPU.Build.0 = Release|Any CPU
|
{23A9AA3C-40FC-42AA-8A5E-05899795A1C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{41C19451-E980-4ED4-A011-DA7A1C23FC05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{23A9AA3C-40FC-42AA-8A5E-05899795A1C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{41C19451-E980-4ED4-A011-DA7A1C23FC05}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{23A9AA3C-40FC-42AA-8A5E-05899795A1C6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{41C19451-E980-4ED4-A011-DA7A1C23FC05}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{41C19451-E980-4ED4-A011-DA7A1C23FC05}.Release|Any CPU.Build.0 = Release|Any CPU
|
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{74D91AD0-D96D-4FD2-AEC5-CC49D38346C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{74D91AD0-D96D-4FD2-AEC5-CC49D38346C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{74D91AD0-D96D-4FD2-AEC5-CC49D38346C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{74D91AD0-D96D-4FD2-AEC5-CC49D38346C0}.Release|Any CPU.Build.0 = Release|Any CPU
|
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{FE281639-B014-4C8A-96FA-141164A74713}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{FE281639-B014-4C8A-96FA-141164A74713}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{FE281639-B014-4C8A-96FA-141164A74713}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{B70278E7-A2C6-4A3B-BBA9-1C873CA6F03C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{FE281639-B014-4C8A-96FA-141164A74713}.Release|Any CPU.Build.0 = Release|Any CPU
|
{B70278E7-A2C6-4A3B-BBA9-1C873CA6F03C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{B70278E7-A2C6-4A3B-BBA9-1C873CA6F03C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{B70278E7-A2C6-4A3B-BBA9-1C873CA6F03C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{1995E414-F197-4AB4-90C2-68D806B5AF59}.Release|Any CPU.Build.0 = Release|Any CPU
|
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{10E16614-61CA-48D8-8BDD-664C13913DED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{10E16614-61CA-48D8-8BDD-664C13913DED}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{10E16614-61CA-48D8-8BDD-664C13913DED}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{10E16614-61CA-48D8-8BDD-664C13913DED}.Release|Any CPU.Build.0 = Release|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA268}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA999}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA268}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA999}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA268}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA999}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{83645809-9E01-4E81-8733-BA9497554ABF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA999}.Release|Any CPU.Build.0 = Release|Any CPU
|
{83645809-9E01-4E81-8733-BA9497554ABF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{83645809-9E01-4E81-8733-BA9497554ABF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{83645809-9E01-4E81-8733-BA9497554ABF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
EndGlobalSection
|
||||||
{26433A8F-BF01-4962-97EB-81BFFBB61096}.Release|Any CPU.Build.0 = Release|Any CPU
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
HideSolutionNode = FALSE
|
||||||
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
EndGlobalSection
|
||||||
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
GlobalSection(NestedProjects) = preSolution
|
||||||
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65}.Release|Any CPU.Build.0 = Release|Any CPU
|
{D3804228-91F4-4502-9595-39584E5A01AD} = {EF242EDF-7133-4277-9A0C-18744DE08707}
|
||||||
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E} = {890A1DED-C229-4FA1-969E-AAC3BBFC05E5}
|
||||||
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{FE281639-B014-4C8A-96FA-141164A74713} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{1995E414-F197-4AB4-90C2-68D806B5AF59} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{7F0B2446-0363-4720-AF46-F47F83B557DC}.Release|Any CPU.Build.0 = Release|Any CPU
|
{058D4B6C-C03E-49D0-91DB-A535B058FA0D} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{B6269AAC-170A-43D5-8B9A-579DED3D9A95} = {EF242EDF-7133-4277-9A0C-18744DE08707}
|
||||||
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{10E16614-61CA-48D8-8BDD-664C13913DED} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA999} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{1261BB9B-A7D4-456C-8985-3CE560361B8E}.Release|Any CPU.Build.0 = Release|Any CPU
|
{049539C1-7A66-4559-AD7A-B1C73B97CBB0} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{26433A8F-BF01-4962-97EB-81BFFBB61096} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA268}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{23A9AA3C-40FC-42AA-8A5E-05899795A1C6} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA268}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA268}.Release|Any CPU.Build.0 = Release|Any CPU
|
{7F0B2446-0363-4720-AF46-F47F83B557DC} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{83645809-9E01-4E81-8733-BA9497554ABF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{B70278E7-A2C6-4A3B-BBA9-1C873CA6F03C} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{83645809-9E01-4E81-8733-BA9497554ABF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{1261BB9B-A7D4-456C-8985-3CE560361B8E} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{83645809-9E01-4E81-8733-BA9497554ABF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{668F689E-57B4-422E-8846-C0FF643CA268} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{83645809-9E01-4E81-8733-BA9497554ABF}.Release|Any CPU.Build.0 = Release|Any CPU
|
{83645809-9E01-4E81-8733-BA9497554ABF} = {F0C22C47-DF71-463C-9B04-B4E0F3B8708A}
|
||||||
{A9D039B9-7509-4CF1-9EFD-87EB82998575}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
EndGlobalSection
|
||||||
{A9D039B9-7509-4CF1-9EFD-87EB82998575}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
{A9D039B9-7509-4CF1-9EFD-87EB82998575}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
SolutionGuid = {BF428BCC-C837-433B-87D2-15C7014B73E9}
|
||||||
{A9D039B9-7509-4CF1-9EFD-87EB82998575}.Release|Any CPU.Build.0 = Release|Any CPU
|
EndGlobalSection
|
||||||
{D3804228-91F4-4502-9595-39584E5AADAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
EndGlobal
|
||||||
{D3804228-91F4-4502-9595-39584E5AADAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{D3804228-91F4-4502-9595-39584E5AADAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{D3804228-91F4-4502-9595-39584E5AADAD}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{5C09FB93-1535-4F92-AF26-21E8A061EE4A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{5C09FB93-1535-4F92-AF26-21E8A061EE4A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{5C09FB93-1535-4F92-AF26-21E8A061EE4A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{5C09FB93-1535-4F92-AF26-21E8A061EE4A}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A95}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A95}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A95}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{6F38CB3A-6DA1-408A-AECD-E434523C2838}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{6F38CB3A-6DA1-408A-AECD-E434523C2838}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{6F38CB3A-6DA1-408A-AECD-E434523C2838}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{6F38CB3A-6DA1-408A-AECD-E434523C2838}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{E1C56967-3DC7-46CB-A1DF-B13167A0D9D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{E1C56967-3DC7-46CB-A1DF-B13167A0D9D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{E1C56967-3DC7-46CB-A1DF-B13167A0D9D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{E1C56967-3DC7-46CB-A1DF-B13167A0D9D4}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{925E421A-1B3F-4202-B48F-734743573A4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{925E421A-1B3F-4202-B48F-734743573A4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{925E421A-1B3F-4202-B48F-734743573A4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{925E421A-1B3F-4202-B48F-734743573A4B}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{40BF24B5-12E6-4610-9489-138798632E28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{40BF24B5-12E6-4610-9489-138798632E28}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{40BF24B5-12E6-4610-9489-138798632E28}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{40BF24B5-12E6-4610-9489-138798632E28}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{3F8CF0AE-5F24-4A54-89E7-A3EE829DB5F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{3F8CF0AE-5F24-4A54-89E7-A3EE829DB5F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{3F8CF0AE-5F24-4A54-89E7-A3EE829DB5F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{3F8CF0AE-5F24-4A54-89E7-A3EE829DB5F8}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
{6437CE56-8AB9-4D6D-90F1-70CC5BBE1572}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{6437CE56-8AB9-4D6D-90F1-70CC5BBE1572}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
|
||||||
{6437CE56-8AB9-4D6D-90F1-70CC5BBE1572}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
{6437CE56-8AB9-4D6D-90F1-70CC5BBE1572}.Release|Any CPU.Build.0 = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(NestedProjects) = preSolution
|
|
||||||
{D3804228-91F4-4502-9595-39584E5A01AD} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A94} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{B6269AAC-170A-43D6-8B9A-579DED3D9A96} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{B6269AAC-170A-43D5-8B9A-579DED3D9A95} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{31DC2EF8-C3FE-467D-84BE-FB5D956E612E} = {0BB8B634-407A-4610-A91F-11586990767A}
|
|
||||||
{8C424EAF-8269-46A2-9FF1-F6D4EADB5CD5} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{41C19451-E980-4ED4-A011-DA7A1C23FC05} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{74D91AD0-D96D-4FD2-AEC5-CC49D38346C0} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{FE281639-B014-4C8A-96FA-141164A74713} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{1995E414-F197-4AB4-90C2-68D806B5AF59} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{10E16614-61CA-48D8-8BDD-664C13913DED} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA999} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{26433A8F-BF01-4962-97EB-81BFFBB61096} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{3C279524-DB73-4DE3-BEF1-F2B2958C9F65} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{7F0B2446-0363-4720-AF46-F47F83B557DC} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{1261BB9B-A7D4-456C-8985-3CE560361B8E} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{668F689E-57B4-422E-8846-C0FF643CA268} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{83645809-9E01-4E81-8733-BA9497554ABF} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{A9D039B9-7509-4CF1-9EFD-87EB82998575} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{D3804228-91F4-4502-9595-39584E5AADAD} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{5C09FB93-1535-4F92-AF26-21E8A061EE4A} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{B6269AAC-170A-4346-8B9A-579DED3D9A95} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{6F38CB3A-6DA1-408A-AECD-E434523C2838} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{E1C56967-3DC7-46CB-A1DF-B13167A0D9D4} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{925E421A-1B3F-4202-B48F-734743573A4B} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{40BF24B5-12E6-4610-9489-138798632E28} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
{3F8CF0AE-5F24-4A54-89E7-A3EE829DB5F8} = {985E0ADB-D4B4-473A-AA40-567E279B7946}
|
|
||||||
{6437CE56-8AB9-4D6D-90F1-70CC5BBE1572} = {8F890C6F-9ACC-438D-928A-AD61CDA862F2}
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
||||||
SolutionGuid = {DC539027-9852-430C-B19F-FD035D018458}
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CS/@EntryIndexedValue">CS</s:String>
|
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ID/@EntryIndexedValue">ID</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=ID/@EntryIndexedValue">ID</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IP/@EntryIndexedValue">IP</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IP/@EntryIndexedValue">IP</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MD/@EntryIndexedValue">MD5</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MD/@EntryIndexedValue">MD5</s:String>
|
||||||
@@ -9,10 +8,8 @@
|
|||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=WWW/@EntryIndexedValue">WWW</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=WWW/@EntryIndexedValue">WWW</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=XMS/@EntryIndexedValue">XMS</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=XMS/@EntryIndexedValue">XMS</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=XUA/@EntryIndexedValue">XUA</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=XUA/@EntryIndexedValue">XUA</s:String>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Flurl/@EntryIndexedValue">True</s:Boolean>
|
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=funcs/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=funcs/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Heyenrath/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Heyenrath/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Jmes/@EntryIndexedValue">True</s:Boolean>
|
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=randomizer/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=randomizer/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stef/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stef/@EntryIndexedValue">True</s:Boolean>
|
||||||
</wpf:ResourceDictionary>
|
</wpf:ResourceDictionary>
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'Ubuntu-latest'
|
|
||||||
|
|
||||||
variables:
|
|
||||||
buildConfiguration: 'Release'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration $(buildConfiguration) --framework netcoreapp3.1 --logger trx
|
|
||||||
- task: PublishTestResults@2
|
|
||||||
inputs:
|
|
||||||
testRunner: VSTest
|
|
||||||
testResultsFiles: '**/*.trx'
|
|
||||||
@@ -1,136 +0,0 @@
|
|||||||
variables:
|
|
||||||
Prerelease: 'ci'
|
|
||||||
buildId: "1$(Build.BuildId)"
|
|
||||||
buildProjects: '**/src/**/*.csproj'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: Linux_Build_Test_SonarCloud
|
|
||||||
|
|
||||||
pool:
|
|
||||||
vmImage: 'Ubuntu-latest'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
echo "BuildId = $(buildId)"
|
|
||||||
displayName: 'Print buildId'
|
|
||||||
|
|
||||||
- task: PowerShell@2
|
|
||||||
displayName: "Use JDK11 by default"
|
|
||||||
inputs:
|
|
||||||
targetType: 'inline'
|
|
||||||
script: |
|
|
||||||
$jdkPath = $env:JAVA_HOME_11_X64
|
|
||||||
Write-Host "##vso[task.setvariable variable=JAVA_HOME]$jdkPath"
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
dotnet dev-certs https --trust || true
|
|
||||||
displayName: 'dotnet dev-certs https'
|
|
||||||
|
|
||||||
- task: SonarCloudPrepare@1
|
|
||||||
displayName: 'Prepare analysis on SonarCloud'
|
|
||||||
inputs:
|
|
||||||
SonarCloud: SonarCloud
|
|
||||||
organization: wiremock-net
|
|
||||||
projectKey: 'WireMock-Net_WireMock.Net'
|
|
||||||
projectName: 'WireMock.Net'
|
|
||||||
extraProperties: |
|
|
||||||
sonar.cs.opencover.reportsPaths=**/coverage.netcoreapp3.1.opencover.xml
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: 'Build Unit tests'
|
|
||||||
inputs:
|
|
||||||
command: 'build'
|
|
||||||
projects: './test/WireMock.Net.Tests/WireMock.Net.Tests.csproj'
|
|
||||||
arguments: '--configuration Debug --framework netcoreapp3.1'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: 'Execute Unit tests'
|
|
||||||
inputs:
|
|
||||||
command: 'test'
|
|
||||||
projects: './test/WireMock.Net.Tests/WireMock.Net.Tests.csproj'
|
|
||||||
arguments: '--no-build --configuration Debug --framework netcoreapp3.1 --collect:"XPlat Code Coverage" --logger trx /p:CollectCoverage=true /p:CoverletOutputFormat=opencover'
|
|
||||||
|
|
||||||
- task: SonarCloudAnalyze@1
|
|
||||||
displayName: 'SonarCloud: Run Code Analysis'
|
|
||||||
|
|
||||||
- task: SonarCloudPublish@1
|
|
||||||
displayName: 'SonarCloud: Publish Quality Gate Result'
|
|
||||||
|
|
||||||
- task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@19
|
|
||||||
displayName: 'WhiteSource Bolt'
|
|
||||||
condition: and(succeeded(), eq(variables['RUN_WHITESOURCE'], 'yes'))
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
bash <(curl https://codecov.io/bash) -t $(CODECOV_TOKEN) -f ./test/WireMock.Net.Tests/coverage.netcoreapp3.1.opencover.xml
|
|
||||||
displayName: 'codecov'
|
|
||||||
|
|
||||||
- task: PublishTestResults@2
|
|
||||||
condition: and(succeeded(), eq(variables['PUBLISH_TESTRESULTS'], 'yes'))
|
|
||||||
inputs:
|
|
||||||
testRunner: VSTest
|
|
||||||
testResultsFiles: '**/*.trx'
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: Publish coverage file
|
|
||||||
inputs:
|
|
||||||
PathtoPublish: '/home/vsts/work/1/s/test/WireMock.Net.Tests/coverage.netcoreapp3.1.opencover.xml'
|
|
||||||
|
|
||||||
- job: Windows_Build_Test
|
|
||||||
dependsOn: Linux_Build_Test_SonarCloud
|
|
||||||
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: 'Build Unit tests'
|
|
||||||
inputs:
|
|
||||||
command: 'build'
|
|
||||||
projects: './test/WireMock.Net.Tests/WireMock.Net.Tests.csproj'
|
|
||||||
arguments: '--configuration Debug --framework netcoreapp3.1'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: 'Execute Unit tests'
|
|
||||||
inputs:
|
|
||||||
command: 'test'
|
|
||||||
projects: './test/WireMock.Net.Tests/WireMock.Net.Tests.csproj'
|
|
||||||
arguments: '--no-build --configuration Debug --framework netcoreapp3.1 --collect:"XPlat Code Coverage" --logger trx /p:CollectCoverage=true /p:CoverletOutputFormat=opencover'
|
|
||||||
|
|
||||||
- job: Windows_Release_to_MyGet
|
|
||||||
dependsOn: Windows_Build_Test
|
|
||||||
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Build Release
|
|
||||||
inputs:
|
|
||||||
command: 'build'
|
|
||||||
arguments: /p:Configuration=Release
|
|
||||||
projects: $(buildProjects)
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Pack
|
|
||||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
||||||
inputs:
|
|
||||||
command: pack
|
|
||||||
configuration: 'Release'
|
|
||||||
packagesToPack: $(buildProjects)
|
|
||||||
nobuild: true
|
|
||||||
packDirectory: '$(Build.ArtifactStagingDirectory)/packages'
|
|
||||||
verbosityPack: 'normal'
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: Publish Artifacts
|
|
||||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
||||||
inputs:
|
|
||||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Push to MyGet
|
|
||||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
custom: nuget
|
|
||||||
arguments: push $(Build.ArtifactStagingDirectory)\packages\*.nupkg -n true -s https://www.myget.org/F/wiremock-net/api/v3/index.json -k $(MyGetKey)
|
|
||||||
@@ -1,23 +1,13 @@
|
|||||||
trigger:
|
|
||||||
- none
|
|
||||||
|
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'Ubuntu 16.04'
|
vmImage: 'Ubuntu 16.04'
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
buildProjects: '**/src/**/*.csproj'
|
|
||||||
buildConfiguration: 'Release'
|
buildConfiguration: 'Release'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- task: DotNetCoreCLI@2
|
- script: |
|
||||||
displayName: Build Release
|
dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration $(buildConfiguration) --framework netcoreapp2.1 --logger trx
|
||||||
|
- task: PublishTestResults@2
|
||||||
inputs:
|
inputs:
|
||||||
command: 'build'
|
testRunner: VSTest
|
||||||
arguments: /p:Configuration=$(buildConfiguration)
|
testResultsFiles: '**/*.trx'
|
||||||
projects: $(buildProjects)
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: Publish Artifacts
|
|
||||||
condition: succeeded()
|
|
||||||
inputs:
|
|
||||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
|
|
||||||
variables:
|
|
||||||
Prerelease: ''
|
|
||||||
buildId: "1$(Build.BuildId)"
|
|
||||||
buildProjects: '**/src/**/*.csproj'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
# Print buildId
|
|
||||||
- script: |
|
|
||||||
echo "BuildId = $(buildId)"
|
|
||||||
displayName: 'Print buildId'
|
|
||||||
|
|
||||||
# Based on https://whereslou.com/2018/09/versioning-and-publishing-nuget-packages-automatically-using-azure-devops-pipelines/
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Build Release
|
|
||||||
inputs:
|
|
||||||
command: 'build'
|
|
||||||
arguments: /p:Configuration=Release # https://github.com/MicrosoftDocs/vsts-docs/issues/1976
|
|
||||||
projects: $(buildProjects)
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Pack
|
|
||||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
||||||
inputs:
|
|
||||||
command: pack
|
|
||||||
configuration: 'Release'
|
|
||||||
packagesToPack: $(buildProjects)
|
|
||||||
nobuild: true
|
|
||||||
packDirectory: '$(Build.ArtifactStagingDirectory)/packages'
|
|
||||||
verbosityPack: 'normal'
|
|
||||||
|
|
||||||
- task: PublishBuildArtifacts@1
|
|
||||||
displayName: Publish Artifacts
|
|
||||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
||||||
inputs:
|
|
||||||
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
||||||
|
|
||||||
- task: DotNetCoreCLI@2
|
|
||||||
displayName: Push to NuGet
|
|
||||||
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
|
||||||
inputs:
|
|
||||||
command: custom
|
|
||||||
custom: nuget
|
|
||||||
arguments: push $(Build.ArtifactStagingDirectory)\packages\*.nupkg -n true -s https://api.nuget.org/v3/index.json -k $(NuGetKey) --skip-duplicate
|
|
||||||
82
azure-pipelines.yml
Normal file
82
azure-pipelines.yml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
pool:
|
||||||
|
vmImage: 'vs2017-win2016'
|
||||||
|
|
||||||
|
variables:
|
||||||
|
Prerelease: 'ci'
|
||||||
|
buildId: "1$(Build.BuildId)"
|
||||||
|
buildProjects: '**/src/**/*.csproj'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
# Print buildId
|
||||||
|
- script: |
|
||||||
|
echo "BuildId = $(buildId)"
|
||||||
|
displayName: 'Print buildId'
|
||||||
|
|
||||||
|
# Install Tools (SonarScanner)
|
||||||
|
- script: |
|
||||||
|
dotnet tool install --global dotnet-sonarscanner
|
||||||
|
displayName: Install Tools (SonarScanner)
|
||||||
|
|
||||||
|
# Begin SonarScanner
|
||||||
|
# See also
|
||||||
|
# - https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools, else you get this error: `Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed.`
|
||||||
|
# - https://github.com/dotnet/cli/issues/8368
|
||||||
|
# - https://github.com/Microsoft/vsts-tasks/issues/8291
|
||||||
|
#
|
||||||
|
- script: |
|
||||||
|
%USERPROFILE%\.dotnet\tools\dotnet-sonarscanner begin /k:"wiremock" /d:sonar.organization="stefh-github" /d:sonar.host.url="https://sonarcloud.io" /d:sonar.login="$(SONAR_TOKEN)" /v:"$(buildId)" /d:sonar.cs.opencover.reportsPaths="**\coverage.opencover.xml"
|
||||||
|
displayName: Begin SonarScanner
|
||||||
|
|
||||||
|
# Build source, tests and run tests for net452 and netcoreapp2.1 (with coverage)
|
||||||
|
- script: |
|
||||||
|
dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration Debug --framework net452
|
||||||
|
dotnet test ./test/WireMock.Net.Tests/WireMock.Net.Tests.csproj --configuration Debug --framework netcoreapp2.1 --logger trx /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
|
||||||
|
displayName: 'Build source, tests and run tests for net452 and netcoreapp2.1 (with coverage)'
|
||||||
|
|
||||||
|
# End SonarScanner
|
||||||
|
- script: |
|
||||||
|
%USERPROFILE%\.dotnet\tools\dotnet-sonarscanner end /d:sonar.login="$(SONAR_TOKEN)"
|
||||||
|
displayName: End SonarScanner
|
||||||
|
|
||||||
|
# Upload coverage to codecov.io
|
||||||
|
- script: |
|
||||||
|
%USERPROFILE%\.nuget\packages\codecov\1.1.0\tools\codecov.exe -f "./test/WireMock.Net.Tests/coverage.opencover.xml" -t $(CODECOV_TOKEN)
|
||||||
|
displayName: Upload coverage to codecov.io
|
||||||
|
|
||||||
|
- task: PublishTestResults@2
|
||||||
|
inputs:
|
||||||
|
testRunner: VSTest
|
||||||
|
testResultsFiles: '**/*.trx'
|
||||||
|
|
||||||
|
# Based on https://whereslou.com/2018/09/versioning-and-publishing-nuget-packages-automatically-using-azure-devops-pipelines/
|
||||||
|
- task: DotNetCoreCLI@2
|
||||||
|
displayName: Build Release
|
||||||
|
inputs:
|
||||||
|
command: 'build'
|
||||||
|
arguments: /p:Configuration=Release # https://github.com/MicrosoftDocs/vsts-docs/issues/1976
|
||||||
|
projects: $(buildProjects)
|
||||||
|
|
||||||
|
- task: DotNetCoreCLI@2
|
||||||
|
displayName: Pack
|
||||||
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
||||||
|
inputs:
|
||||||
|
command: pack
|
||||||
|
configuration: 'Release'
|
||||||
|
packagesToPack: $(buildProjects)
|
||||||
|
nobuild: true
|
||||||
|
packDirectory: '$(Build.ArtifactStagingDirectory)/packages'
|
||||||
|
verbosityPack: 'normal'
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: Publish Artifacts
|
||||||
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
||||||
|
inputs:
|
||||||
|
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||||
|
|
||||||
|
- task: DotNetCoreCLI@2
|
||||||
|
displayName: Push to MyGet
|
||||||
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) # Do not run for PullRequests
|
||||||
|
inputs:
|
||||||
|
command: custom
|
||||||
|
custom: nuget
|
||||||
|
arguments: push $(Build.ArtifactStagingDirectory)\packages\*.nupkg --source https://www.myget.org/F/wiremock-net/api/v3/index.json --no-service-endpoint --api-key $(MyGetKey)
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<configuration>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
|
||||||
</startup>
|
|
||||||
</configuration>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
using Newtonsoft.Json;
|
|
||||||
using RestEase;
|
|
||||||
using System;
|
|
||||||
using System.Net.Http.Headers;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using WireMock.Client;
|
|
||||||
|
|
||||||
namespace WireMock.Net.Client.Net472
|
|
||||||
{
|
|
||||||
class Program
|
|
||||||
{
|
|
||||||
static async Task Main(string[] args)
|
|
||||||
{
|
|
||||||
// Create an implementation of the IWireMockAdminApi and pass in the base URL for the API.
|
|
||||||
var api = RestClient.For<IWireMockAdminApi>("http://localhost:9091");
|
|
||||||
|
|
||||||
// Set BASIC Auth
|
|
||||||
var value = Convert.ToBase64String(Encoding.ASCII.GetBytes("a:b"));
|
|
||||||
api.Authorization = new AuthenticationHeaderValue("Basic", value);
|
|
||||||
|
|
||||||
var settings1 = await api.GetSettingsAsync();
|
|
||||||
Console.WriteLine($"settings1 = {JsonConvert.SerializeObject(settings1)}");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//public interface IWireMockAdminApi
|
|
||||||
//{
|
|
||||||
// /// <summary>
|
|
||||||
// /// Authentication header
|
|
||||||
// /// </summary>
|
|
||||||
// [Header("Authorization")]
|
|
||||||
// AuthenticationHeaderValue Authorization { get; set; }
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
using System.Reflection;
|
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
|
||||||
// set of attributes. Change these attribute values to modify the information
|
|
||||||
// associated with an assembly.
|
|
||||||
[assembly: AssemblyTitle("WireMock.Net.Client.Net472")]
|
|
||||||
[assembly: AssemblyDescription("")]
|
|
||||||
[assembly: AssemblyConfiguration("")]
|
|
||||||
[assembly: AssemblyCompany("mStack.nl")]
|
|
||||||
[assembly: AssemblyProduct("WireMock.Net.Client.Net472")]
|
|
||||||
[assembly: AssemblyCopyright("Copyright © mStack.nl 2020")]
|
|
||||||
[assembly: AssemblyTrademark("")]
|
|
||||||
[assembly: AssemblyCulture("")]
|
|
||||||
|
|
||||||
// Setting ComVisible to false makes the types in this assembly not visible
|
|
||||||
// to COM components. If you need to access a type in this assembly from
|
|
||||||
// COM, set the ComVisible attribute to true on that type.
|
|
||||||
[assembly: ComVisible(false)]
|
|
||||||
|
|
||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|
||||||
[assembly: Guid("02082e34-def2-47d0-af0b-3326faa908ce")]
|
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
|
||||||
//
|
|
||||||
// Major Version
|
|
||||||
// Minor Version
|
|
||||||
// Build Number
|
|
||||||
// Revision
|
|
||||||
//
|
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
|
||||||
// by using the '*' as shown below:
|
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ProjectGuid>{02082E34-DEF2-47D0-AF0B-3326FAA908CE}</ProjectGuid>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<RootNamespace>WireMock.Net.Client.Net472</RootNamespace>
|
|
||||||
<AssemblyName>WireMock.Net.Client.Net472</AssemblyName>
|
|
||||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
|
||||||
<FileAlignment>512</FileAlignment>
|
|
||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
||||||
<Deterministic>true</Deterministic>
|
|
||||||
<NuGetPackageImportStamp>
|
|
||||||
</NuGetPackageImportStamp>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
|
||||||
<DebugType>pdbonly</DebugType>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<DefineConstants>TRACE</DefineConstants>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<SignAssembly>false</SignAssembly>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<AssemblyOriginatorKeyFile>
|
|
||||||
</AssemblyOriginatorKeyFile>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\..\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="RestEase, Version=1.4.10.0, Culture=neutral, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\..\packages\RestEase.1.4.10\lib\net45\RestEase.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System" />
|
|
||||||
<Reference Include="System.Core" />
|
|
||||||
<Reference Include="System.Web" />
|
|
||||||
<Reference Include="System.Xml.Linq" />
|
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
|
||||||
<Reference Include="Microsoft.CSharp" />
|
|
||||||
<Reference Include="System.Data" />
|
|
||||||
<Reference Include="System.Net.Http" />
|
|
||||||
<Reference Include="System.Xml" />
|
|
||||||
<Reference Include="WireMock.Net.Abstractions, Version=1.2.0.0, Culture=neutral, PublicKeyToken=c8d65537854e1f03, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\..\packages\WireMock.Net.Abstractions.1.2.0\lib\net45\WireMock.Net.Abstractions.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="WireMock.Net.RestClient">
|
|
||||||
<HintPath>..\..\packages\WireMock.Net.RestClient.1.2.0\lib\net45\WireMock.Net.RestClient.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="Program.cs" />
|
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="App.config" />
|
|
||||||
<None Include="packages.config" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
|
||||||
<Import Project="..\..\packages\Brutal.Dev.StrongNameSigner.2.7.1\build\Brutal.Dev.StrongNameSigner.targets" Condition="Exists('..\..\packages\Brutal.Dev.StrongNameSigner.2.7.1\build\Brutal.Dev.StrongNameSigner.targets')" />
|
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Error Condition="!Exists('..\..\packages\Brutal.Dev.StrongNameSigner.2.7.1\build\Brutal.Dev.StrongNameSigner.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Brutal.Dev.StrongNameSigner.2.7.1\build\Brutal.Dev.StrongNameSigner.targets'))" />
|
|
||||||
</Target>
|
|
||||||
</Project>
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="Brutal.Dev.StrongNameSigner" version="2.7.1" targetFramework="net472" />
|
|
||||||
<package id="Newtonsoft.Json" version="6.0.1" targetFramework="net472" />
|
|
||||||
<package id="RestEase" version="1.4.10" targetFramework="net472" />
|
|
||||||
<package id="WireMock.Net.Abstractions" version="1.2.0" targetFramework="net472" />
|
|
||||||
<package id="WireMock.Net.RestClient" version="1.2.0" targetFramework="net472" />
|
|
||||||
</packages>
|
|
||||||
@@ -3,45 +3,44 @@ using RestEase;
|
|||||||
using System;
|
using System;
|
||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
|
||||||
using WireMock.Client;
|
using WireMock.Client;
|
||||||
|
|
||||||
namespace WireMock.Net.Client
|
namespace WireMock.Net.Client
|
||||||
{
|
{
|
||||||
class Program
|
class Program
|
||||||
{
|
{
|
||||||
static async Task Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
// Create an implementation of the IWireMockAdminApi and pass in the base URL for the API.
|
// Create an implementation of the IFluentMockServerAdmin and pass in the base URL for the API.
|
||||||
var api = RestClient.For<IWireMockAdminApi>("http://localhost:9091");
|
var api = RestClient.For<IFluentMockServerAdmin>("http://localhost:9091");
|
||||||
|
|
||||||
// Set BASIC Auth
|
// Set BASIC Auth
|
||||||
var value = Convert.ToBase64String(Encoding.ASCII.GetBytes("a:b"));
|
var value = Convert.ToBase64String(Encoding.ASCII.GetBytes("a:b"));
|
||||||
api.Authorization = new AuthenticationHeaderValue("Basic", value);
|
api.Authorization = new AuthenticationHeaderValue("Basic", value);
|
||||||
|
|
||||||
var settings1 = await api.GetSettingsAsync();
|
var settings1 = api.GetSettingsAsync().Result;
|
||||||
Console.WriteLine($"settings1 = {JsonConvert.SerializeObject(settings1)}");
|
Console.WriteLine($"settings1 = {JsonConvert.SerializeObject(settings1)}");
|
||||||
|
|
||||||
settings1.GlobalProcessingDelay = 1077;
|
settings1.GlobalProcessingDelay = 1077;
|
||||||
api.PostSettingsAsync(settings1).Wait();
|
api.PostSettingsAsync(settings1).Wait();
|
||||||
|
|
||||||
var settings2 = await api.GetSettingsAsync();
|
var settings2 = api.GetSettingsAsync().Result;
|
||||||
Console.WriteLine($"settings2 = {JsonConvert.SerializeObject(settings2)}");
|
Console.WriteLine($"settings2 = {JsonConvert.SerializeObject(settings2)}");
|
||||||
|
|
||||||
var mappings = await api.GetMappingsAsync();
|
var mappings = api.GetMappingsAsync().Result;
|
||||||
Console.WriteLine($"mappings = {JsonConvert.SerializeObject(mappings)}");
|
Console.WriteLine($"mappings = {JsonConvert.SerializeObject(mappings)}");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var guid = Guid.Parse("11111110-a633-40e8-a244-5cb80bc0ab66");
|
var guid = Guid.Parse("11111110-a633-40e8-a244-5cb80bc0ab66");
|
||||||
var mapping = await api.GetMappingAsync(guid);
|
var mapping = api.GetMappingAsync(guid).Result;
|
||||||
Console.WriteLine($"mapping = {JsonConvert.SerializeObject(mapping)}");
|
Console.WriteLine($"mapping = {JsonConvert.SerializeObject(mapping)}");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
var request = await api.GetRequestsAsync();
|
var request = api.GetRequestsAsync().Result;
|
||||||
Console.WriteLine($"request = {JsonConvert.SerializeObject(request)}");
|
Console.WriteLine($"request = {JsonConvert.SerializeObject(request)}");
|
||||||
|
|
||||||
//var deleteRequestsAsync = api.DeleteRequestsAsync().Result;
|
//var deleteRequestsAsync = api.DeleteRequestsAsync().Result;
|
||||||
@@ -50,21 +49,9 @@ namespace WireMock.Net.Client
|
|||||||
//var resetRequestsAsync = api.ResetRequestsAsync().Result;
|
//var resetRequestsAsync = api.ResetRequestsAsync().Result;
|
||||||
//Console.WriteLine($"ResetRequestsAsync = {resetRequestsAsync.Status}");
|
//Console.WriteLine($"ResetRequestsAsync = {resetRequestsAsync.Status}");
|
||||||
|
|
||||||
var scenarioStates = await api.GetScenariosAsync();
|
var scenarioStates = api.GetScenariosAsync().Result;
|
||||||
Console.WriteLine($"GetScenariosAsync = {JsonConvert.SerializeObject(scenarioStates)}");
|
Console.WriteLine($"GetScenariosAsync = {JsonConvert.SerializeObject(scenarioStates)}");
|
||||||
|
|
||||||
var postFileResult = await api.PostFileAsync("1.cs", "C# Hello");
|
|
||||||
Console.WriteLine($"postFileResult = {JsonConvert.SerializeObject(postFileResult)}");
|
|
||||||
|
|
||||||
var getFileResult = await api.GetFileAsync("1.cs");
|
|
||||||
Console.WriteLine($"getFileResult = {getFileResult}");
|
|
||||||
|
|
||||||
var resetMappingsAsync = await api.ResetMappingsAsync();
|
|
||||||
Console.WriteLine($"resetMappingsAsync = {resetMappingsAsync.Status}");
|
|
||||||
|
|
||||||
var resetMappingsAndReloadStaticMappingsAsync = await api.ResetMappingsAsync(true);
|
|
||||||
Console.WriteLine($"resetMappingsAndReloadStaticMappingsAsync = {resetMappingsAndReloadStaticMappingsAsync.Status}");
|
|
||||||
|
|
||||||
Console.WriteLine("Press any key to quit");
|
Console.WriteLine("Press any key to quit");
|
||||||
Console.ReadKey();
|
Console.ReadKey();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,18 +2,18 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||||
|
<!-- <RuntimeFrameworkVersion>1.0.1</RuntimeFrameworkVersion> -->
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
<PackageReference Include="RestEase" Version="1.4.10" />
|
<PackageReference Include="RestEase" Version="1.4.7" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj" />
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.RestClient\WireMock.Net.RestClient.csproj" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
60
examples/WireMock.Net.Console.HeadersTest/Program.cs
Normal file
60
examples/WireMock.Net.Console.HeadersTest/Program.cs
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
using log4net;
|
||||||
|
using log4net.Config;
|
||||||
|
using log4net.Repository;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using WireMock.Logging;
|
||||||
|
using WireMock.RequestBuilders;
|
||||||
|
using WireMock.ResponseBuilders;
|
||||||
|
using WireMock.Server;
|
||||||
|
using WireMock.Settings;
|
||||||
|
|
||||||
|
namespace WireMock.Net.Console.NETCoreApp
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
private static readonly ILoggerRepository LogRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
|
||||||
|
private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
|
||||||
|
|
||||||
|
static void Main(params string[] args)
|
||||||
|
{
|
||||||
|
XmlConfigurator.Configure(LogRepository, new FileInfo("log4net.config"));
|
||||||
|
|
||||||
|
string url = "http://localhost:9999/";
|
||||||
|
|
||||||
|
var server = FluentMockServer.Start(new FluentMockServerSettings
|
||||||
|
{
|
||||||
|
Urls = new[] { url },
|
||||||
|
StartAdminInterface = true,
|
||||||
|
Logger = new WireMockConsoleLogger()
|
||||||
|
});
|
||||||
|
System.Console.WriteLine("FluentMockServer listening at {0}", string.Join(",", server.Urls));
|
||||||
|
|
||||||
|
server.SetBasicAuthentication("a", "b");
|
||||||
|
|
||||||
|
server.AllowPartialMapping();
|
||||||
|
|
||||||
|
server
|
||||||
|
.Given(Request.Create()
|
||||||
|
.UsingGet()
|
||||||
|
.WithHeader("Keep-Alive-Test", "stef")
|
||||||
|
)
|
||||||
|
.RespondWith(Response.Create()
|
||||||
|
.WithHeader("Keep-Alive", "timeout=1, max=1")
|
||||||
|
.WithBody("Keep-Alive OK")
|
||||||
|
);
|
||||||
|
|
||||||
|
System.Console.WriteLine("Press any key to stop the server");
|
||||||
|
System.Console.ReadKey();
|
||||||
|
server.Stop();
|
||||||
|
|
||||||
|
System.Console.WriteLine("Displaying all requests");
|
||||||
|
var allRequests = server.LogEntries;
|
||||||
|
System.Console.WriteLine(JsonConvert.SerializeObject(allRequests, Formatting.Indented));
|
||||||
|
|
||||||
|
System.Console.WriteLine("Press any key to quit");
|
||||||
|
System.Console.ReadKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>netcoreapp1.1</TargetFramework>
|
||||||
|
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||||
|
<PackageReference Include="log4net" Version="2.0.8" />
|
||||||
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<None Update="log4net.config">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Update="nlog.config">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
20
examples/WireMock.Net.Console.HeadersTest/log4net.config
Normal file
20
examples/WireMock.Net.Console.HeadersTest/log4net.config
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
|
||||||
|
</configSections>
|
||||||
|
<appSettings>
|
||||||
|
<add key="log4net.Internal.Debug" value="true"/>
|
||||||
|
</appSettings>
|
||||||
|
<log4net>
|
||||||
|
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
|
||||||
|
<layout type="log4net.Layout.PatternLayout">
|
||||||
|
<conversionPattern value="%date [%thread] %-5level %logger{1} - %message%newline" />
|
||||||
|
</layout>
|
||||||
|
</appender>
|
||||||
|
<root>
|
||||||
|
<level value="DEBUG" />
|
||||||
|
<appender-ref ref="ConsoleAppender" />
|
||||||
|
</root>
|
||||||
|
</log4net>
|
||||||
|
</configuration>
|
||||||
18
examples/WireMock.Net.Console.HeadersTest/nlog.config
Normal file
18
examples/WireMock.Net.Console.HeadersTest/nlog.config
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
autoReload="true"
|
||||||
|
internalLogLevel="info"
|
||||||
|
internalLogFile="c:\temp\wiremock-internal-nlog.log">
|
||||||
|
|
||||||
|
<targets>
|
||||||
|
<!-- write logs to file -->
|
||||||
|
<target xsi:type="File" name="all" fileName="c:\temp\wiremock-${shortdate}.log"
|
||||||
|
layout="${longdate}|${event-properties:item=EventId.Id}|${uppercase:${level}}|${logger}|${message} ${exception}" />
|
||||||
|
</targets>
|
||||||
|
|
||||||
|
<!-- rules to map from logger name to target -->
|
||||||
|
<rules>
|
||||||
|
<logger name="*" minlevel="Debug" writeTo="all" />
|
||||||
|
</rules>
|
||||||
|
</nlog>
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="..\WireMock.Net.Console.Net452.Classic\MainApp.cs" Link="MainApp.cs" />
|
|
||||||
<Compile Include="..\WireMock.Net.Console.Net452.Classic\CustomFileSystemFileHandler.cs" Link="CustomFileSystemFileHandler.cs" />
|
|
||||||
<Compile Include="..\WireMock.Net.Console.NETCoreApp\Program.cs" Link="Program.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="__admin\mappings\*.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Remove="__admin\mappings\1.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Remove="__admin\mappings\array.json" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
|
||||||
<PackageReference Include="Handlebars.Net.Helpers" Version="1.1.0" />
|
|
||||||
<PackageReference Include="log4net" Version="2.0.8" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
|
||||||
<!--<PackageReference Include="Microsoft.CodeAnalysis.Scripting.Common" Version="3.4.0" />-->
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="log4net.config">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="nlog.config">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\791a3f31-6946-4ce7-8e6f-0237c7443275.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\791a3f31-6946-4ce7-8e6f-0237c7443275.json">
|
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\MyXmlResponse.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
// C# Hello
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/static/mapping"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "body": "static mapping" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
"Test-X": [ "test 1", "test 2" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
"Guid": "791a3f31-6946-4ce7-8e6f-0237c7443275",
|
|
||||||
"Title": "",
|
|
||||||
"Priority": 0,
|
|
||||||
"Request": {
|
|
||||||
"Path": "/proxy-google-test-post",
|
|
||||||
"Methods": [
|
|
||||||
"post"
|
|
||||||
],
|
|
||||||
"Body": {}
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 404,
|
|
||||||
"Body": "<!DOCTYPE html>\n<html lang=en>\n <meta charset=utf-8>\n <meta name=viewport content=\"initial-scale=1, minimum-scale=1, width=device-width\">\n <title>Error 404 (Not Found)!!1</title>\n <style>\n *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}\n </style>\n <a href=//www.google.com/><span id=logo aria-label=Google></span></a>\n <p><b>404.</b> <ins>That’s an error.</ins>\n <p>The requested URL <code>/proxy-google-test-post</code> was not found on this server. <ins>That’s all we know.</ins>\n",
|
|
||||||
"BodyAsBytes": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ZW4+CiAgPG1ldGEgY2hhcnNldD11dGYtOD4KICA8bWV0YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCB3aWR0aD1kZXZpY2Utd2lkdGgiPgogIDx0aXRsZT5FcnJvciA0MDQgKE5vdCBGb3VuZCkhITE8L3RpdGxlPgogIDxzdHlsZT4KICAgICp7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsY29kZXtmb250OjE1cHgvMjJweCBhcmlhbCxzYW5zLXNlcmlmfWh0bWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMjI7cGFkZGluZzoxNXB4fWJvZHl7bWFyZ2luOjclIGF1dG8gMDttYXgtd2lkdGg6MzkwcHg7bWluLWhlaWdodDoxODBweDtwYWRkaW5nOjMwcHggMCAxNXB4fSogPiBib2R5e2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2Vycm9ycy9yb2JvdC5wbmcpIDEwMCUgNXB4IG5vLXJlcGVhdDtwYWRkaW5nLXJpZ2h0OjIwNXB4fXB7bWFyZ2luOjExcHggMCAyMnB4O292ZXJmbG93OmhpZGRlbn1pbnN7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZX1hIGltZ3tib3JkZXI6MH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc3MnB4KXtib2R5e2JhY2tncm91bmQ6bm9uZTttYXJnaW4tdG9wOjA7bWF4LXdpZHRoOm5vbmU7cGFkZGluZy1yaWdodDowfX0jbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6LTVweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjoxOTJkcGkpeyNsb2dve2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIG5vLXJlcGVhdCAwJSAwJS8xMDAlIDEwMCU7LW1vei1ib3JkZXItaW1hZ2U6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIDB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoyKXsjbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzJ4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfX0jbG9nb3tkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NTRweDt3aWR0aDoxNTBweH0KICA8L3N0eWxlPgogIDxhIGhyZWY9Ly93d3cuZ29vZ2xlLmNvbS8+PHNwYW4gaWQ9bG9nbyBhcmlhLWxhYmVsPUdvb2dsZT48L3NwYW4+PC9hPgogIDxwPjxiPjQwNC48L2I+IDxpbnM+VGhhdOKAmXMgYW4gZXJyb3IuPC9pbnM+CiAgPHA+VGhlIHJlcXVlc3RlZCBVUkwgPGNvZGU+L3Byb3h5LWdvb2dsZS10ZXN0LXBvc3Q8L2NvZGU+IHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuICA8aW5zPlRoYXTigJlzIGFsbCB3ZSBrbm93LjwvaW5zPgo=",
|
|
||||||
"BodyEncoding": {
|
|
||||||
"CodePage": 65001,
|
|
||||||
"EncodingName": "Unicode (UTF-8)",
|
|
||||||
"WebName": "utf-8"
|
|
||||||
},
|
|
||||||
"UseTransformer": false,
|
|
||||||
"Headers": {
|
|
||||||
"Date": "Wed, 27 Oct 2017 18:57:40 GMT",
|
|
||||||
"Alt-Svc": "quic=\":443\"; ma=2592000; v=\"39,38,37,35\"",
|
|
||||||
"Referrer-Policy": "no-referrer",
|
|
||||||
"Connection": "close"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"Guid": "873d495f-940e-4b86-a1f4-4f0fc7be8b8b",
|
|
||||||
"Priority": 4,
|
|
||||||
"Request": {
|
|
||||||
"Path": {},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyDestination": "SameAsSource",
|
|
||||||
"Body": "NO PATH OR URL",
|
|
||||||
"UseTransformer": false,
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/bodyasfilexmltest",
|
|
||||||
"IgnoreCase": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"Headers": {"Content-Type": "application/xml"},
|
|
||||||
"BodyAsFile": "MyXmlResponse.xml",
|
|
||||||
"UseTransformer": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
<xml>
|
|
||||||
<hello>world</hello>
|
|
||||||
</xml>
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"Title": "1",
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/mappings_static_1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "result": "mappings static_1" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Title": "2",
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/mappings_static_2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "result": "mappings static_2" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||||
<PackageReference Include="Handlebars.Net" Version="1.9.5" />
|
|
||||||
<PackageReference Include="log4net" Version="2.0.8" />
|
<PackageReference Include="log4net" Version="2.0.8" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
|
||||||
using log4net;
|
|
||||||
using log4net.Config;
|
|
||||||
using log4net.Repository;
|
|
||||||
using WireMock.Net.ConsoleApplication;
|
|
||||||
|
|
||||||
namespace WireMock.Net.Console.NETCoreApp2
|
|
||||||
{
|
|
||||||
static class Program
|
|
||||||
{
|
|
||||||
private static readonly ILoggerRepository LogRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
|
|
||||||
private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
|
|
||||||
|
|
||||||
static void Main(params string[] args)
|
|
||||||
{
|
|
||||||
XmlConfigurator.Configure(LogRepository, new FileInfo("log4net.config"));
|
|
||||||
|
|
||||||
foreach (var file in Directory.GetFiles("__admin").Where(f => !f.StartsWith("wiremock")))
|
|
||||||
{
|
|
||||||
File.Delete(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
MainApp.Run();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -9,6 +9,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\WireMock.Net.Console.Net452.Classic\MainApp.cs" Link="MainApp.cs" />
|
<Compile Include="..\WireMock.Net.Console.Net452.Classic\MainApp.cs" Link="MainApp.cs" />
|
||||||
<Compile Include="..\WireMock.Net.Console.Net452.Classic\CustomFileSystemFileHandler.cs" Link="CustomFileSystemFileHandler.cs" />
|
<Compile Include="..\WireMock.Net.Console.Net452.Classic\CustomFileSystemFileHandler.cs" Link="CustomFileSystemFileHandler.cs" />
|
||||||
|
<Compile Include="..\WireMock.Net.Console.NETCoreApp\Program.cs" Link="Program.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -17,21 +18,8 @@
|
|||||||
</Content>
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Remove="__admin\mappings\1.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Remove="__admin\mappings\wiremock-petstore-openapi3.json" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Remove="__admin\mappings\array.json" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||||
<PackageReference Include="Handlebars.Net" Version="1.9.5" />
|
|
||||||
<PackageReference Include="log4net" Version="2.0.8" />
|
<PackageReference Include="log4net" Version="2.0.8" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -49,12 +37,6 @@
|
|||||||
<None Update="__admin\mappings\791a3f31-6946-4ce7-8e6f-0237c7443275.json">
|
<None Update="__admin\mappings\791a3f31-6946-4ce7-8e6f-0237c7443275.json">
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Update="__admin\mappings\MyXmlResponse.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\wiremock-petstore-openapi3.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@@ -1 +0,0 @@
|
|||||||
// C# Hello
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/bodyasfilexmltest",
|
|
||||||
"IgnoreCase": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"Headers": {"Content-Type": "application/xml"},
|
|
||||||
"BodyAsFile": "MyXmlResponse.xml",
|
|
||||||
"UseTransformer": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
<xml>
|
|
||||||
<hello>world</hello>
|
|
||||||
</xml>
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"Title": "1",
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/mappings_static_1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "result": "mappings static_1" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Title": "2",
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/mappings_static_2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "result": "mappings static_2" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,602 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"Guid": "9d2fde55-e420-4724-bf40-616e8aeaf53e",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet",
|
|
||||||
"Methods": [
|
|
||||||
"PUT"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": "example-string",
|
|
||||||
"tags": "example-string",
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "1f7acffa-05f4-4640-bda4-4c71c8d5e6e3",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": "example-string",
|
|
||||||
"tags": "example-string",
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "a04ed51d-ad5b-4c69-b22f-d0eaeea18bc1",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/findByStatus",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "status",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "8d5df48a-05fb-4861-816f-3f77adf5562f",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/findByTags",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "tags",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "065f790b-125c-419e-8fbd-3616bf09b142",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": "example-string",
|
|
||||||
"tags": "example-string",
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "737aaddd-5bab-489d-914b-deb4ba773539",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "name",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "status",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "0619896c-c3b3-4a30-903e-59792134898c",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42",
|
|
||||||
"Methods": [
|
|
||||||
"DELETE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "9aaa6a6d-ca4b-4da3-8a9a-844e3af02272",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42/uploadImage",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "additionalMetadata",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"code": 42,
|
|
||||||
"type": "example-string",
|
|
||||||
"message": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "085ef9c2-425d-45c2-9311-d3e4697c407f",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/inventory",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "a68c50e9-418c-45e7-8340-c0426cf5b87c",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/order",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"petId": 42,
|
|
||||||
"quantity": 42,
|
|
||||||
"shipDate": "2020-06-16T12:54:18.885+00:00",
|
|
||||||
"status": "example-string",
|
|
||||||
"complete": true
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "16061ffc-97a5-4419-874f-66d857998f76",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/order/42",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"petId": 42,
|
|
||||||
"quantity": 42,
|
|
||||||
"shipDate": "2020-06-16T12:54:18.887+00:00",
|
|
||||||
"status": "example-string",
|
|
||||||
"complete": true
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "55c071d3-eeb5-4a9c-8692-486585e45e2e",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/order/42",
|
|
||||||
"Methods": [
|
|
||||||
"DELETE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "2d9d895d-58e9-4734-92f4-903e2b364dda",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 0,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"username": "example-string",
|
|
||||||
"firstName": "example-string",
|
|
||||||
"lastName": "example-string",
|
|
||||||
"email": "example-string",
|
|
||||||
"password": "example-string",
|
|
||||||
"phone": "example-string",
|
|
||||||
"userStatus": 42
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "c17eeba0-da58-4128-9ae6-33a6a31971e2",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/createWithList",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"username": "example-string",
|
|
||||||
"firstName": "example-string",
|
|
||||||
"lastName": "example-string",
|
|
||||||
"email": "example-string",
|
|
||||||
"password": "example-string",
|
|
||||||
"phone": "example-string",
|
|
||||||
"userStatus": 42
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "c95da645-9449-438e-a8c8-0278ea514558",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/login",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "username",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "password",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": "example-string",
|
|
||||||
"Headers": {
|
|
||||||
"X-Rate-Limit": "example-string",
|
|
||||||
"X-Expires-After": "example-string",
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "bd05033f-1189-4d89-8cdc-f681399a46b3",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/logout",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "7c1d49d4-e9f0-49b9-b898-f8c7d55ae472",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/example-string",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"username": "example-string",
|
|
||||||
"firstName": "example-string",
|
|
||||||
"lastName": "example-string",
|
|
||||||
"email": "example-string",
|
|
||||||
"password": "example-string",
|
|
||||||
"phone": "example-string",
|
|
||||||
"userStatus": 42
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "1b7c4cd8-b251-480a-982e-c42d40dbfd4e",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/example-string",
|
|
||||||
"Methods": [
|
|
||||||
"PUT"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "8a86e775-4bf9-490d-a52f-641458c256f7",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/example-string",
|
|
||||||
"Methods": [
|
|
||||||
"DELETE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="..\WireMock.Net.Console.Net452.Classic\MainApp.cs" Link="MainApp.cs" />
|
|
||||||
<Compile Include="..\WireMock.Net.Console.Net452.Classic\CustomFileSystemFileHandler.cs" Link="CustomFileSystemFileHandler.cs" />
|
|
||||||
<Compile Include="..\WireMock.Net.Console.NETCoreApp\Program.cs" Link="Program.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Content Include="__admin\mappings\*.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Remove="__admin\mappings\1.cs" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Remove="__admin\mappings\array.json" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
|
||||||
<PackageReference Include="Handlebars.Net.Helpers" Version="1.1.0" />
|
|
||||||
<PackageReference Include="log4net" Version="2.0.8" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
|
||||||
<!--<PackageReference Include="Microsoft.CodeAnalysis.Scripting.Common" Version="3.4.0" />-->
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="log4net.config">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="nlog.config">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\791a3f31-6946-4ce7-8e6f-0237c7443275.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\791a3f31-6946-4ce7-8e6f-0237c7443275.json">
|
|
||||||
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="__admin\mappings\MyXmlResponse.xml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
// C# Hello
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/static/mapping"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "body": "static mapping" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
"Test-X": [ "test 1", "test 2" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
"Guid": "791a3f31-6946-4ce7-8e6f-0237c7443275",
|
|
||||||
"Title": "",
|
|
||||||
"Priority": 0,
|
|
||||||
"Request": {
|
|
||||||
"Path": "/proxy-google-test-post",
|
|
||||||
"Methods": [
|
|
||||||
"post"
|
|
||||||
],
|
|
||||||
"Body": {}
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 404,
|
|
||||||
"Body": "<!DOCTYPE html>\n<html lang=en>\n <meta charset=utf-8>\n <meta name=viewport content=\"initial-scale=1, minimum-scale=1, width=device-width\">\n <title>Error 404 (Not Found)!!1</title>\n <style>\n *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}\n </style>\n <a href=//www.google.com/><span id=logo aria-label=Google></span></a>\n <p><b>404.</b> <ins>That’s an error.</ins>\n <p>The requested URL <code>/proxy-google-test-post</code> was not found on this server. <ins>That’s all we know.</ins>\n",
|
|
||||||
"BodyAsBytes": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ZW4+CiAgPG1ldGEgY2hhcnNldD11dGYtOD4KICA8bWV0YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCB3aWR0aD1kZXZpY2Utd2lkdGgiPgogIDx0aXRsZT5FcnJvciA0MDQgKE5vdCBGb3VuZCkhITE8L3RpdGxlPgogIDxzdHlsZT4KICAgICp7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsY29kZXtmb250OjE1cHgvMjJweCBhcmlhbCxzYW5zLXNlcmlmfWh0bWx7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMjI7cGFkZGluZzoxNXB4fWJvZHl7bWFyZ2luOjclIGF1dG8gMDttYXgtd2lkdGg6MzkwcHg7bWluLWhlaWdodDoxODBweDtwYWRkaW5nOjMwcHggMCAxNXB4fSogPiBib2R5e2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2Vycm9ycy9yb2JvdC5wbmcpIDEwMCUgNXB4IG5vLXJlcGVhdDtwYWRkaW5nLXJpZ2h0OjIwNXB4fXB7bWFyZ2luOjExcHggMCAyMnB4O292ZXJmbG93OmhpZGRlbn1pbnN7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZX1hIGltZ3tib3JkZXI6MH1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc3MnB4KXtib2R5e2JhY2tncm91bmQ6bm9uZTttYXJnaW4tdG9wOjA7bWF4LXdpZHRoOm5vbmU7cGFkZGluZy1yaWdodDowfX0jbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzF4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7bWFyZ2luLWxlZnQ6LTVweH1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjoxOTJkcGkpeyNsb2dve2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIG5vLXJlcGVhdCAwJSAwJS8xMDAlIDEwMCU7LW1vei1ib3JkZXItaW1hZ2U6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19jb2xvcl8xNTB4NTRkcC5wbmcpIDB9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoyKXsjbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9icmFuZGluZy9nb29nbGVsb2dvLzJ4L2dvb2dsZWxvZ29fY29sb3JfMTUweDU0ZHAucG5nKSBuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfX0jbG9nb3tkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6NTRweDt3aWR0aDoxNTBweH0KICA8L3N0eWxlPgogIDxhIGhyZWY9Ly93d3cuZ29vZ2xlLmNvbS8+PHNwYW4gaWQ9bG9nbyBhcmlhLWxhYmVsPUdvb2dsZT48L3NwYW4+PC9hPgogIDxwPjxiPjQwNC48L2I+IDxpbnM+VGhhdOKAmXMgYW4gZXJyb3IuPC9pbnM+CiAgPHA+VGhlIHJlcXVlc3RlZCBVUkwgPGNvZGU+L3Byb3h5LWdvb2dsZS10ZXN0LXBvc3Q8L2NvZGU+IHdhcyBub3QgZm91bmQgb24gdGhpcyBzZXJ2ZXIuICA8aW5zPlRoYXTigJlzIGFsbCB3ZSBrbm93LjwvaW5zPgo=",
|
|
||||||
"BodyEncoding": {
|
|
||||||
"CodePage": 65001,
|
|
||||||
"EncodingName": "Unicode (UTF-8)",
|
|
||||||
"WebName": "utf-8"
|
|
||||||
},
|
|
||||||
"UseTransformer": false,
|
|
||||||
"Headers": {
|
|
||||||
"Date": "Wed, 27 Oct 2017 18:57:40 GMT",
|
|
||||||
"Alt-Svc": "quic=\":443\"; ma=2592000; v=\"39,38,37,35\"",
|
|
||||||
"Referrer-Policy": "no-referrer",
|
|
||||||
"Connection": "close"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
"Guid": "873d495f-940e-4b86-a1f4-4f0fc7be8b8b",
|
|
||||||
"Priority": 4,
|
|
||||||
"Request": {
|
|
||||||
"Path": {},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyDestination": "SameAsSource",
|
|
||||||
"Body": "NO PATH OR URL",
|
|
||||||
"UseTransformer": false,
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/bodyasfilexmltest",
|
|
||||||
"IgnoreCase": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"Headers": {"Content-Type": "application/xml"},
|
|
||||||
"BodyAsFile": "MyXmlResponse.xml",
|
|
||||||
"UseTransformer": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
<xml>
|
|
||||||
<hello>world</hello>
|
|
||||||
</xml>
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"Title": "1",
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/mappings_static_1"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "result": "mappings static_1" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Title": "2",
|
|
||||||
"Request": {
|
|
||||||
"Path": {
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "WildcardMatcher",
|
|
||||||
"Pattern": "/mappings_static_2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Methods": [
|
|
||||||
"get"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"BodyAsJson": { "result": "mappings static_2" },
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
using WireMock.Logging;
|
|
||||||
using WireMock.Server;
|
|
||||||
using WireMock.Settings;
|
|
||||||
|
|
||||||
namespace WireMock.Net.Console.NETCoreApp3WithCertificate
|
|
||||||
{
|
|
||||||
class Program
|
|
||||||
{
|
|
||||||
static void Main(string[] args)
|
|
||||||
{
|
|
||||||
string url = "https://localhost:8433/";
|
|
||||||
|
|
||||||
var server = WireMockServer.Start(new WireMockServerSettings
|
|
||||||
{
|
|
||||||
Urls = new[] { url },
|
|
||||||
StartAdminInterface = true,
|
|
||||||
Logger = new WireMockConsoleLogger(),
|
|
||||||
CertificateSettings = new WireMockCertificateSettings
|
|
||||||
{
|
|
||||||
X509StoreName = "My",
|
|
||||||
X509StoreLocation = "CurrentUser",
|
|
||||||
X509StoreThumbprintOrSubjectName = "FE16586076A8B3F3E2F1466803A6C4C7CA35455B"
|
|
||||||
|
|
||||||
// X509CertificateFilePath = "example.pfx",
|
|
||||||
// X509CertificatePassword = "wiremock"
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
System.Console.WriteLine("WireMockServer listening at {0}", string.Join(",", server.Urls));
|
|
||||||
|
|
||||||
System.Console.WriteLine("Press any key to stop the server");
|
|
||||||
System.Console.ReadKey();
|
|
||||||
server.Stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="example.pfx">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIEsDCCApigAwIBAgIQJbH6hSGKdoFI0B7qCIOK7jANBgkqhkiG9w0BAQUFADAU
|
|
||||||
MRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMjAxMDMwMjMwMDAwWhcNMzAxMTA2MjMw
|
|
||||||
MDAwWjAUMRIwEAYDVQQDEwlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
|
||||||
DwAwggIKAoICAQCl5fQSrRgT3Q6WoULR98Y+rrDWtTTgVpbLU04G0hLZ4yUeP7Wa
|
|
||||||
yuVbvx7zX8XT4lA8Hu5T/GG91U077JcSSEjnPBFsh4hE7FkRoSYIEW6BFG7D7eUG
|
|
||||||
dGHnDV8UkSRQ97LJPyjXuHVDJzNDJ9xQGMzOZ4n8vQ7SEKBw9hRG2ugkP5b2jVIN
|
|
||||||
e1E549tq2jnIVpKCZ4+prf64ZLsaokX7VHe+b/CW3GoAqUUaUjdTpAQ7LpypJuFz
|
|
||||||
415enOrKQe+UEBdqhGlgcC/O/Bw0uq4qVk+NNe5DEINVwoYs9XjNdzxuIkkAtcCt
|
|
||||||
avTEzhHf8zWYLb5Nt2DIOcRGVELvRhsBX4um5f7dOGzMbXzBfUdjkP2O4hi6crhm
|
|
||||||
Hba5bNkj4Zw2EHR9Xua3nadGCj22z0vpMKP2gXdFVnxFqQlaUWBLtwwN9p6tCQHl
|
|
||||||
kU7wypvOHUsMa2Ojg5eZP4RpYFvZG3kkc9zTZCSakgw2n0ampBbvxPP11/AYIXtz
|
|
||||||
HKu3CKcpjVQ+lE0DAU/Mm77QJ24TMbXmAydwCf1UCdFbDUZhdM9lspHvA0J9eiCv
|
|
||||||
LOE94BrpVKuZ6TrAW0LZjAmBnkqYQAewhTW7GSgARE+QQcwfyu03Ck7id3Zt4FeQ
|
|
||||||
sQDo0NNj7zQOy3Y1GK0ZYAVZv/GUeHMkxpClSWPoub/f5SJ4YzD5Il0cQQIDAQAB
|
|
||||||
MA0GCSqGSIb3DQEBBQUAA4ICAQBd91xfUepnWcKwmupie2h1CAAQZEunyW78i++t
|
|
||||||
evABfBu0TgV4s6Xe0umFv9V4r+O+rrF3ddSudbSOPBEb0Ooe+e3YGlNk1JrI1EEn
|
|
||||||
fhb0YI8bMfBNpl85yNqxgByra7JF2mG4qbAnjrCs/PZkXo/34N29SY6dyZ7mffR3
|
|
||||||
r/l01Rdm3ogRwGkiMUeKb3iGwLUy1T55svuI3Zc13N+NJT1s9NqpwWeK/jFK/WRN
|
|
||||||
5Hi9W3DmlGCYAwFPCyBaQagxpGuGIpNsU0hKp86W5EvJpBpmCihfwlydH8ZbkHJ9
|
|
||||||
jx2UDgTCaDzmaiKysiTP2HHDBsReL4tjakBksa9jkTfy5ajB53F3aUVs4jvTA46L
|
|
||||||
w8wcAJlRPBz5siBrv4CH/0lBMyNeYzuqmDY3ulF4IMKNb5Kk9Ye4Pt0474z50A4v
|
|
||||||
fSah+9iwI/mubaJ5tK522AtWtUoOIAswIwpDQyNeJPOggyzT2Y2OYZdGuFAoMYuq
|
|
||||||
ZD58k4Yo+vky9K88l8NuzNJJvtgTKtT+/9qfMucxFmnvwbKEEULP3sw1FUKkPtM4
|
|
||||||
f242FIV/XnOeloDmhGGeTB7aODB+gGCvgmOH92njjUEIv+SnYQkflQaRhhyNIACi
|
|
||||||
ZvWlP/96H+X4fUG5kVNBHY021ZWmurUDqVxWUaswg63+DfsZcYtt6wgxiAN4ssXG
|
|
||||||
wLnLPw==
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -21,9 +21,9 @@ namespace WireMock.Net.ConsoleApplication
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.EnumerateFiles"/>
|
/// <inheritdoc cref="IFileSystemHandler.EnumerateFiles"/>
|
||||||
public IEnumerable<string> EnumerateFiles(string path, bool includeSubdirectories)
|
public IEnumerable<string> EnumerateFiles(string path)
|
||||||
{
|
{
|
||||||
return includeSubdirectories ? Directory.EnumerateFiles(path, "*", SearchOption.AllDirectories) : Directory.EnumerateFiles(path);
|
return Directory.EnumerateFiles(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.GetMappingFolder"/>
|
/// <inheritdoc cref="IFileSystemHandler.GetMappingFolder"/>
|
||||||
@@ -43,51 +43,5 @@ namespace WireMock.Net.ConsoleApplication
|
|||||||
{
|
{
|
||||||
File.WriteAllText(path, text);
|
File.WriteAllText(path, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.ReadResponseBodyAsFile"/>
|
|
||||||
public byte[] ReadResponseBodyAsFile(string path)
|
|
||||||
{
|
|
||||||
return File.ReadAllBytes(Path.GetFileName(path) == path ? Path.Combine(GetMappingFolder(), path) : path);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.ReadResponseBodyAsFile"/>
|
|
||||||
public string ReadResponseBodyAsString(string path)
|
|
||||||
{
|
|
||||||
return File.ReadAllText(Path.GetFileName(path) == path ? Path.Combine(GetMappingFolder(), path) : path);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.FileExists"/>
|
|
||||||
public bool FileExists(string path)
|
|
||||||
{
|
|
||||||
return File.Exists(AdjustPath(path));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.WriteFile(string, byte[])"/>
|
|
||||||
public void WriteFile(string path, byte[] bytes)
|
|
||||||
{
|
|
||||||
File.WriteAllBytes(AdjustPath(path), bytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.DeleteFile"/>
|
|
||||||
public void DeleteFile(string path)
|
|
||||||
{
|
|
||||||
File.Delete(AdjustPath(path));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc cref="IFileSystemHandler.ReadFile"/>
|
|
||||||
public byte[] ReadFile(string path)
|
|
||||||
{
|
|
||||||
return File.ReadAllBytes(AdjustPath(path));
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Adjusts the path to the MappingFolder.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="path">The path.</param>
|
|
||||||
/// <returns>Adjusted path</returns>
|
|
||||||
private string AdjustPath(string path)
|
|
||||||
{
|
|
||||||
return Path.Combine(GetMappingFolder(), path);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -36,9 +36,6 @@
|
|||||||
<ApplicationIcon>..\..\WireMock.Net-Logo.ico</ApplicationIcon>
|
<ApplicationIcon>..\..\WireMock.Net-Logo.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Handlebars, Version=1.9.5.0, Culture=neutral, PublicKeyToken=22225d0bf33cd661, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\..\packages\Handlebars.Net.1.9.5\lib\net452\Handlebars.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
<HintPath>..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -80,9 +77,9 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj">
|
||||||
<Project>{b6269aac-170a-4346-8b9a-579ded3d9a94}</Project>
|
<Project>{b6269aac-170a-43d5-8b9a-579ded3d9a95}</Project>
|
||||||
<Name>WireMock.Net.Abstractions</Name>
|
<Name>WireMock.Net.StandAlone</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
||||||
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Handlebars.Net" version="1.9.5" targetFramework="net452" />
|
|
||||||
<package id="log4net" version="2.0.8" targetFramework="net452" />
|
<package id="log4net" version="2.0.8" targetFramework="net452" />
|
||||||
<package id="Microsoft.Owin.Host.HttpListener" version="3.1.0" targetFramework="net452" />
|
<package id="Microsoft.Owin.Host.HttpListener" version="3.1.0" targetFramework="net452" />
|
||||||
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net452" />
|
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net452" />
|
||||||
|
|||||||
@@ -35,9 +35,6 @@
|
|||||||
<StartupObject>WireMock.Net.ConsoleApplication.Program</StartupObject>
|
<StartupObject>WireMock.Net.ConsoleApplication.Program</StartupObject>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Handlebars, Version=1.9.5.0, Culture=neutral, PublicKeyToken=22225d0bf33cd661, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\..\packages\Handlebars.Net.1.9.5\lib\net452\Handlebars.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
<HintPath>..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -76,9 +73,9 @@
|
|||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj">
|
||||||
<Project>{b6269aac-170a-4346-8b9a-579ded3d9a94}</Project>
|
<Project>{b6269aac-170a-43d5-8b9a-579ded3d9a95}</Project>
|
||||||
<Name>WireMock.Net.Abstractions</Name>
|
<Name>WireMock.Net.StandAlone</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
||||||
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Handlebars.Net" version="1.9.5" targetFramework="net461" />
|
|
||||||
<package id="log4net" version="2.0.8" targetFramework="net461" />
|
<package id="log4net" version="2.0.8" targetFramework="net461" />
|
||||||
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
|
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
|
||||||
<package id="SimMetrics.Net" version="1.0.5" targetFramework="net461" />
|
<package id="SimMetrics.Net" version="1.0.5" targetFramework="net461" />
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ using System.Net.Http;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using WireMock.Logging;
|
|
||||||
using WireMock.RequestBuilders;
|
using WireMock.RequestBuilders;
|
||||||
using WireMock.ResponseBuilders;
|
using WireMock.ResponseBuilders;
|
||||||
using WireMock.Server;
|
using WireMock.Server;
|
||||||
@@ -15,7 +14,10 @@ namespace WireMock.Net.Console.Proxy.NETCoreApp2
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
var server = WireMockServer.Start(new WireMockServerSettings
|
RunTestDifferentPort().Wait(20000); // prints "1"
|
||||||
|
RunTestDifferentPort().Wait(20000); // prints "1"
|
||||||
|
|
||||||
|
var server = FluentMockServer.Start(new FluentMockServerSettings
|
||||||
{
|
{
|
||||||
Urls = new[] { "http://localhost:9091", "https://localhost:9443" },
|
Urls = new[] { "http://localhost:9091", "https://localhost:9443" },
|
||||||
StartAdminInterface = true,
|
StartAdminInterface = true,
|
||||||
@@ -26,19 +28,35 @@ namespace WireMock.Net.Console.Proxy.NETCoreApp2
|
|||||||
//ClientX509Certificate2ThumbprintOrSubjectName = "www.yourclientcertname.com OR yourcertificatethumbprint (only if the service you're proxying to requires it)",
|
//ClientX509Certificate2ThumbprintOrSubjectName = "www.yourclientcertname.com OR yourcertificatethumbprint (only if the service you're proxying to requires it)",
|
||||||
SaveMapping = true,
|
SaveMapping = true,
|
||||||
SaveMappingToFile = false,
|
SaveMappingToFile = false,
|
||||||
ExcludedHeaders = new[] { "dnt", "Content-Length" }
|
BlackListedHeaders = new[] { "dnt", "Content-Length" }
|
||||||
},
|
}
|
||||||
Logger= new WireMockConsoleLogger()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
//server.LogEntriesChanged += (sender, eventRecordArgs) =>
|
server.LogEntriesChanged += (sender, eventRecordArgs) =>
|
||||||
//{
|
{
|
||||||
// System.Console.WriteLine(JsonConvert.SerializeObject(eventRecordArgs.NewItems, Formatting.Indented));
|
System.Console.WriteLine(JsonConvert.SerializeObject(eventRecordArgs.NewItems, Formatting.Indented));
|
||||||
//};
|
};
|
||||||
|
|
||||||
System.Console.WriteLine("Press any key to stop the server");
|
System.Console.WriteLine("Press any key to stop the server");
|
||||||
System.Console.ReadKey();
|
System.Console.ReadKey();
|
||||||
server.Stop();
|
server.Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static async Task RunTestDifferentPort()
|
||||||
|
{
|
||||||
|
var server = FluentMockServer.Start();
|
||||||
|
|
||||||
|
server.Given(Request.Create().WithPath("/").UsingGet())
|
||||||
|
.RespondWith(Response.Create().WithStatusCode(200).WithBody("Hello"));
|
||||||
|
|
||||||
|
Thread.Sleep(1000);
|
||||||
|
|
||||||
|
var response = await new HttpClient().GetAsync(server.Urls[0]);
|
||||||
|
response.EnsureSuccessStatusCode();
|
||||||
|
|
||||||
|
System.Console.WriteLine("RunTestDifferentPort - server.LogEntries.Count() = " + server.LogEntries.Count());
|
||||||
|
|
||||||
|
server.Stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFrameworks>netcoreapp2.1;netcoreapp3.1;net5.0</TargetFrameworks>
|
<TargetFramework>netcoreapp2.1</TargetFramework>
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj" />
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using System;
|
using Newtonsoft.Json;
|
||||||
using System.Net.Http;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using WireMock.Server;
|
using WireMock.Server;
|
||||||
using WireMock.Settings;
|
using WireMock.Settings;
|
||||||
|
|
||||||
@@ -10,19 +8,18 @@ namespace WireMock.Net.Console.Proxy.Net452
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
string[] urls = { "http://localhost:9091/", "https://localhost:9443/" };
|
var server = FluentMockServer.Start(new FluentMockServerSettings
|
||||||
var server = WireMockServer.Start(new WireMockServerSettings
|
|
||||||
{
|
{
|
||||||
Urls = urls,
|
Urls = new[] { "http://localhost:9091/", "https://localhost:9443/" },
|
||||||
StartAdminInterface = true,
|
StartAdminInterface = true,
|
||||||
ReadStaticMappings = false,
|
ReadStaticMappings = false,
|
||||||
ProxyAndRecordSettings = new ProxyAndRecordSettings
|
ProxyAndRecordSettings = new ProxyAndRecordSettings
|
||||||
{
|
{
|
||||||
Url = "http://postman-echo.com/post",
|
Url = "https://www.google.com",
|
||||||
//ClientX509Certificate2ThumbprintOrSubjectName = "www.yourclientcertname.com OR yourcertificatethumbprint (only if the service you're proxying to requires it)",
|
//ClientX509Certificate2ThumbprintOrSubjectName = "www.yourclientcertname.com OR yourcertificatethumbprint (only if the service you're proxying to requires it)",
|
||||||
SaveMapping = true,
|
SaveMapping = true,
|
||||||
SaveMappingToFile = false,
|
SaveMappingToFile = false,
|
||||||
ExcludedHeaders = new[] { "dnt", "Content-Length" }
|
BlackListedHeaders = new[] { "dnt", "Content-Length" }
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -31,13 +28,6 @@ namespace WireMock.Net.Console.Proxy.Net452
|
|||||||
System.Console.WriteLine(JsonConvert.SerializeObject(eventRecordArgs.NewItems, Formatting.Indented));
|
System.Console.WriteLine(JsonConvert.SerializeObject(eventRecordArgs.NewItems, Formatting.Indented));
|
||||||
};
|
};
|
||||||
|
|
||||||
var uri = new Uri(urls[0]);
|
|
||||||
var form = new MultipartFormDataContent
|
|
||||||
{
|
|
||||||
{ new StringContent("data"), "test", "test.txt" }
|
|
||||||
};
|
|
||||||
new HttpClient().PostAsync(uri, form).GetAwaiter().GetResult();
|
|
||||||
|
|
||||||
System.Console.WriteLine("Press any key to stop the server");
|
System.Console.WriteLine("Press any key to stop the server");
|
||||||
System.Console.ReadKey();
|
System.Console.ReadKey();
|
||||||
server.Stop();
|
server.Stop();
|
||||||
|
|||||||
@@ -92,6 +92,10 @@
|
|||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj">
|
||||||
|
<Project>{b6269aac-170a-43d5-8b9a-579ded3d9a95}</Project>
|
||||||
|
<Name>WireMock.Net.StandAlone</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
||||||
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
||||||
<Name>WireMock.Net</Name>
|
<Name>WireMock.Net</Name>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using WireMock.RequestBuilders;
|
|
||||||
using WireMock.ResponseBuilders;
|
|
||||||
using WireMock.Server;
|
using WireMock.Server;
|
||||||
using WireMock.Settings;
|
using WireMock.Settings;
|
||||||
|
|
||||||
@@ -10,31 +8,21 @@ namespace WireMock.Net.Console.Proxy.NETCoreApp
|
|||||||
{
|
{
|
||||||
static void Main(params string[] args)
|
static void Main(params string[] args)
|
||||||
{
|
{
|
||||||
var server = WireMockServer.Start(new WireMockServerSettings
|
var server = FluentMockServer.Start(new FluentMockServerSettings
|
||||||
{
|
{
|
||||||
Urls = new[] { "http://localhost:9091/", "https://localhost:9443/" },
|
Urls = new[] { "http://localhost:9091/", "https://localhost:9443/" },
|
||||||
StartAdminInterface = true,
|
StartAdminInterface = true,
|
||||||
ReadStaticMappings = false,
|
ReadStaticMappings = false,
|
||||||
//ProxyAndRecordSettings = new ProxyAndRecordSettings
|
ProxyAndRecordSettings = new ProxyAndRecordSettings
|
||||||
//{
|
{
|
||||||
// Url = "https://www.google.com",
|
Url = "https://www.google.com",
|
||||||
// //ClientX509Certificate2ThumbprintOrSubjectName = "www.yourclientcertname.com OR yourcertificatethumbprint (only if the service you're proxying to requires it)",
|
//ClientX509Certificate2ThumbprintOrSubjectName = "www.yourclientcertname.com OR yourcertificatethumbprint (only if the service you're proxying to requires it)",
|
||||||
// SaveMapping = true,
|
SaveMapping = true,
|
||||||
// SaveMappingToFile = false,
|
SaveMappingToFile = false,
|
||||||
// ExcludedHeaders = new [] { "dnt", "Content-Length" }
|
BlackListedHeaders = new [] { "dnt", "Content-Length" }
|
||||||
//}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
server
|
|
||||||
.Given(Request.Create().UsingGet())
|
|
||||||
.RespondWith(Response.Create()
|
|
||||||
.WithProxy(new ProxyAndRecordSettings
|
|
||||||
{
|
|
||||||
Url = "http://postman-echo.com/post",
|
|
||||||
SaveMapping = true,
|
|
||||||
SaveMappingToFile = true
|
|
||||||
}));
|
|
||||||
|
|
||||||
System.Console.WriteLine("Press any key to stop the server");
|
System.Console.WriteLine("Press any key to stop the server");
|
||||||
System.Console.ReadKey();
|
System.Console.ReadKey();
|
||||||
server.Stop();
|
server.Stop();
|
||||||
|
|||||||
@@ -2,13 +2,12 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net5.0</TargetFramework>
|
<TargetFramework>netcoreapp1.1</TargetFramework>
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Net.Http;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using WireMock.Logging;
|
|
||||||
using WireMock.Net.StandAlone;
|
|
||||||
using WireMock.RequestBuilders;
|
|
||||||
using WireMock.ResponseBuilders;
|
|
||||||
using WireMock.Settings;
|
|
||||||
|
|
||||||
namespace WireMock.Net.Console.RequestLogTest
|
|
||||||
{
|
|
||||||
class Program
|
|
||||||
{
|
|
||||||
static async Task Main(string[] args)
|
|
||||||
{
|
|
||||||
var server = StandAloneApp.Start(new WireMockServerSettings
|
|
||||||
{
|
|
||||||
Port = 19019,
|
|
||||||
StartAdminInterface = true,
|
|
||||||
StartTimeout = 1000,
|
|
||||||
MaxRequestLogCount = 100,
|
|
||||||
RequestLogExpirationDuration = 6,
|
|
||||||
Logger = new WireMockConsoleLogger()
|
|
||||||
});
|
|
||||||
|
|
||||||
server
|
|
||||||
.Given(Request
|
|
||||||
.Create()
|
|
||||||
.UsingGet())
|
|
||||||
.RespondWith(Response.Create()
|
|
||||||
.WithHeader("Content-Type", "application/json")
|
|
||||||
.WithBodyAsJson(new { result = "x" }));
|
|
||||||
|
|
||||||
await Task.Delay(2000);
|
|
||||||
|
|
||||||
var client = new HttpClient();
|
|
||||||
client.BaseAddress = new Uri(server.Urls[0]);
|
|
||||||
|
|
||||||
var options = new ParallelOptions()
|
|
||||||
{
|
|
||||||
MaxDegreeOfParallelism = 2
|
|
||||||
};
|
|
||||||
|
|
||||||
var list = Enumerable.Range(1, 1000);
|
|
||||||
Parallel.ForEach(list, options, async i =>
|
|
||||||
{
|
|
||||||
string result = await client.GetStringAsync("/x");
|
|
||||||
System.Console.WriteLine(result);
|
|
||||||
});
|
|
||||||
|
|
||||||
//for (int i = 0; i < 1000; i++)
|
|
||||||
//{
|
|
||||||
// string result = await client.GetStringAsync("/x");
|
|
||||||
// System.Console.WriteLine(result);
|
|
||||||
//}
|
|
||||||
|
|
||||||
System.Console.WriteLine("Press any key to stop the server");
|
|
||||||
System.Console.ReadKey();
|
|
||||||
server.Stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>netcoreapp2.2</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj" />
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
using Microsoft.OpenApi.Readers;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace WireMock.Net.OpenApiParser.ConsoleApp
|
|
||||||
{
|
|
||||||
class Program
|
|
||||||
{
|
|
||||||
private static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
|
|
||||||
{
|
|
||||||
NullValueHandling = NullValueHandling.Ignore,
|
|
||||||
Formatting = Formatting.Indented
|
|
||||||
};
|
|
||||||
|
|
||||||
static void Main(string[] args)
|
|
||||||
{
|
|
||||||
Run.RunServer("petstore-openapi3.json");
|
|
||||||
|
|
||||||
//IWireMockOpenApiParser parser = new WireMockOpenApiParser();
|
|
||||||
|
|
||||||
//var petStoreModels = parser.FromStream(File.OpenRead("petstore-openapi3.json"), out OpenApiDiagnostic diagnostic1);
|
|
||||||
//string petStoreJson = JsonConvert.SerializeObject(petStoreModels, Settings);
|
|
||||||
// File.WriteAllText("../../../wiremock-petstore-openapi3.json", petStoreJson);
|
|
||||||
|
|
||||||
//Run.RunServer(petStoreModels);
|
|
||||||
|
|
||||||
//var mappingModels2 = parser.FromStream(File.OpenRead("infura.yaml"), out OpenApiDiagnostic diagnostic2);
|
|
||||||
//Console.WriteLine(JsonConvert.SerializeObject(diagnostic2, Settings));
|
|
||||||
|
|
||||||
//string json2 = JsonConvert.SerializeObject(mappingModels2, Settings);
|
|
||||||
//Console.WriteLine(json2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using WireMock.Admin.Mappings;
|
|
||||||
using WireMock.Logging;
|
|
||||||
using WireMock.Server;
|
|
||||||
using WireMock.Settings;
|
|
||||||
using WireMock.Net.OpenApiParser.Extensions;
|
|
||||||
|
|
||||||
namespace WireMock.Net.OpenApiParser.ConsoleApp
|
|
||||||
{
|
|
||||||
public static class Run
|
|
||||||
{
|
|
||||||
public static void RunServer(string path)
|
|
||||||
{
|
|
||||||
string url1 = "http://localhost:9091/";
|
|
||||||
|
|
||||||
var server = WireMockServer.Start(new WireMockServerSettings
|
|
||||||
{
|
|
||||||
AllowCSharpCodeMatcher = true,
|
|
||||||
Urls = new[] { url1 },
|
|
||||||
StartAdminInterface = true,
|
|
||||||
ReadStaticMappings = false,
|
|
||||||
WatchStaticMappings = false,
|
|
||||||
WatchStaticMappingsInSubdirectories = false,
|
|
||||||
Logger = new WireMockConsoleLogger(),
|
|
||||||
});
|
|
||||||
Console.WriteLine("WireMockServer listening at {0}", string.Join(",", server.Urls));
|
|
||||||
|
|
||||||
server.SetBasicAuthentication("a", "b");
|
|
||||||
|
|
||||||
server.WithMappingFromOpenApiFile(path, out var diag);
|
|
||||||
|
|
||||||
Console.WriteLine("Press any key to stop the server");
|
|
||||||
System.Console.ReadKey();
|
|
||||||
server.Stop();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void RunServer(IEnumerable<MappingModel> mappings)
|
|
||||||
{
|
|
||||||
string url1 = "http://localhost:9091/";
|
|
||||||
|
|
||||||
var server = WireMockServer.Start(new WireMockServerSettings
|
|
||||||
{
|
|
||||||
AllowCSharpCodeMatcher = true,
|
|
||||||
Urls = new[] { url1 },
|
|
||||||
StartAdminInterface = true,
|
|
||||||
ReadStaticMappings = false,
|
|
||||||
WatchStaticMappings = false,
|
|
||||||
WatchStaticMappingsInSubdirectories = false,
|
|
||||||
Logger = new WireMockConsoleLogger(),
|
|
||||||
});
|
|
||||||
Console.WriteLine("WireMockServer listening at {0}", string.Join(",", server.Urls));
|
|
||||||
|
|
||||||
server.SetBasicAuthentication("a", "b");
|
|
||||||
|
|
||||||
server.WithMapping(mappings.ToArray());
|
|
||||||
|
|
||||||
Console.WriteLine("Press any key to stop the server");
|
|
||||||
System.Console.ReadKey();
|
|
||||||
server.Stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<OutputType>Exe</OutputType>
|
|
||||||
<TargetFramework>netcoreapp2.1</TargetFramework>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj" />
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.OpenApiParser\WireMock.Net.OpenApiParser.csproj" />
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<None Update="infura.yaml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="petstore-openapi3.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Update="petstore.yml">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
||||||
@@ -1,337 +0,0 @@
|
|||||||
swagger: "2.0"
|
|
||||||
info:
|
|
||||||
version: 1.0.0
|
|
||||||
title: "Infura API"
|
|
||||||
description: APIs for the Ethereum community by the Infura team, a project of ConsenSys
|
|
||||||
contact:
|
|
||||||
name: Infura Team
|
|
||||||
email: infura@infura.io
|
|
||||||
url: https://infura.io
|
|
||||||
host: api.infura.io
|
|
||||||
basePath: /
|
|
||||||
schemes:
|
|
||||||
- https
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
produces:
|
|
||||||
- application/json
|
|
||||||
paths:
|
|
||||||
/v1/jsonrpc/{network}/methods:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
The JSON-RPC methods supported by the `/v1/jsonrpc/{network}/{method}` (GET) and `/v1/jsonrpc/{network}` (POST) endpoints.
|
|
||||||
parameters:
|
|
||||||
- name: network
|
|
||||||
in: path
|
|
||||||
description: Ethereum network in lowercase
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- mainnet
|
|
||||||
- ropsten
|
|
||||||
- kovan
|
|
||||||
- rinkeby
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: Methods response
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/MethodsResponse'
|
|
||||||
500:
|
|
||||||
description: Server error
|
|
||||||
/v1/jsonrpc/{network}/{method}:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
A request using an "HTTP GET-compatible" (non-state-changing) JSON-RPC method. Most Ethereum JSON-RPC methods can be described in this way, since they query the blockchain for various pieces of information. Use the `/v1/jsonrpc/{network}/methods` endpoint to get the list of permitted methods.
|
|
||||||
parameters:
|
|
||||||
- name: network
|
|
||||||
in: path
|
|
||||||
description: Ethereum network in lowercase
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- mainnet
|
|
||||||
- ropsten
|
|
||||||
- kovan
|
|
||||||
- rinkeby
|
|
||||||
- name: method
|
|
||||||
in: path
|
|
||||||
description: JSON-RPC method. Use the `/v1/jsonrpc/{network}/methods` endpoint to get the list of permitted methods.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
- name: params
|
|
||||||
in: query
|
|
||||||
description: This is the `params` field that would normally be part of the JSON-RPC POST body. Use the exact same format. If it's omitted, it will default to an empty array.
|
|
||||||
required: false
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: JSON-RPC response
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/JSONRPCResponse'
|
|
||||||
400:
|
|
||||||
description: Bad JSON in `params` query parameter
|
|
||||||
404:
|
|
||||||
description: JSON-RPC method is not a valid GET method
|
|
||||||
500:
|
|
||||||
description: Server error
|
|
||||||
502:
|
|
||||||
description: Ethereum client error
|
|
||||||
/v1/jsonrpc/{network}:
|
|
||||||
post:
|
|
||||||
description: |
|
|
||||||
A request using an "HTTP POST-compatible" (state-changing) JSON-RPC method. Use the `/v1/jsonrpc/{network}/methods` endpoint to get the list of permitted methods. Use the regular Ethereum JSON-RPC format for the POST body.
|
|
||||||
parameters:
|
|
||||||
- name: network
|
|
||||||
in: path
|
|
||||||
description: Ethereum network in lowercase
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- mainnet
|
|
||||||
- ropsten
|
|
||||||
- kovan
|
|
||||||
- rinkeby
|
|
||||||
- name: payload
|
|
||||||
in: body
|
|
||||||
description: Regular JSON-RPC payload (POST body)
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/JSONRPCRequest'
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: JSON-RPC response
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/JSONRPCResponse'
|
|
||||||
400:
|
|
||||||
description: Bad JSON in POST body or missing Content-Type header
|
|
||||||
404:
|
|
||||||
description: JSON-RPC method is not a valid POST method
|
|
||||||
500:
|
|
||||||
description: Server error
|
|
||||||
502:
|
|
||||||
description: Ethereum client error
|
|
||||||
/v1/ticker/symbols:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
Get a list of supported symbols (currency pairs), including fiat, crypto, and tokens
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: Symbols response
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/SymbolsResponse'
|
|
||||||
/v1/ticker/{symbol}:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
Get pricing (ticker) data for various currency pairs (fiat, crypto, and tokens) using data from several exchanges. This endpoint shows the price at the exchange with the most volume for the symbol. Use the `/v1/ticker/symbols` endpoint for the full list of supported symbols.
|
|
||||||
parameters:
|
|
||||||
- name: symbol
|
|
||||||
in: path
|
|
||||||
description: Ticker symbol (currency pair)
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: Ticker response
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/TickerResponse'
|
|
||||||
/v1/ticker/{symbol}/full:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
Get pricing (ticker) data for various currency pairs (fiat, crypto, and tokens) using data from several exchanges. This endpoint shows the price at various exchanges where the symbol is traded. Use the `/v1/ticker/symbols` endpoint for the full list of supported symbols.
|
|
||||||
parameters:
|
|
||||||
- name: symbol
|
|
||||||
in: path
|
|
||||||
description: Ticker symbol (currency pair)
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: Full ticker response
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/TickerFullResponse'
|
|
||||||
/v1/blacklist:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
Return a blacklist of phishing sites. This list is maintained by GitHub user 409H at https://github.com/409H/EtherAddressLookup/blob/master/blacklists/domains.json .
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: List of blacklisted phishing domains
|
|
||||||
schema:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
502:
|
|
||||||
description: GitHub is having issues
|
|
||||||
/v2/blacklist:
|
|
||||||
get:
|
|
||||||
description: |
|
|
||||||
Return a blacklist of phishing sites, as well as a whitelist and a fuzzylist. This list is maintained by the MetaMask project at https://github.com/MetaMask/eth-phishing-detect/blob/master/src/config.json .
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: Phishing blacklist, whitelist, and fuzzylist
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/BlacklistResponse'
|
|
||||||
502:
|
|
||||||
description: GitHub is having issues
|
|
||||||
|
|
||||||
definitions:
|
|
||||||
MethodsResponse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
get:
|
|
||||||
type: array
|
|
||||||
description: List of methods supported by the /v1/jsonrpc/{network}/{method} endpoint (GET)
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
post:
|
|
||||||
type: array
|
|
||||||
description: List of methods supported by the /v1/jsonrpc/{network} endpoint (POST)
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- get
|
|
||||||
- post
|
|
||||||
JSONRPCRequest:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
jsonrpc:
|
|
||||||
type: string
|
|
||||||
description: JSON-RPC version
|
|
||||||
enum:
|
|
||||||
- "2.0"
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
description: JSON-RPC request ID
|
|
||||||
method:
|
|
||||||
type: string
|
|
||||||
description: Ethereum JSON-RPC method
|
|
||||||
enum:
|
|
||||||
- eth_sendRawTransaction
|
|
||||||
- eth_estimateGas
|
|
||||||
- eth_submitWork
|
|
||||||
- eth_submitHashrate
|
|
||||||
params:
|
|
||||||
type: array
|
|
||||||
description: JSON-RPC parameters (can be empty)
|
|
||||||
required:
|
|
||||||
- jsonrpc
|
|
||||||
- id
|
|
||||||
- method
|
|
||||||
- params
|
|
||||||
JSONRPCResponse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
jsonrpc:
|
|
||||||
type: string
|
|
||||||
description: JSON-RPC version
|
|
||||||
enum:
|
|
||||||
- "2.0"
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
description: JSON-RPC request ID
|
|
||||||
result:
|
|
||||||
type: string
|
|
||||||
description: JSON-RPC result (can also be an object)
|
|
||||||
required:
|
|
||||||
- jsonrpc
|
|
||||||
- id
|
|
||||||
SymbolsResponse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
symbols:
|
|
||||||
type: array
|
|
||||||
description: List of supported symbols (currency pairs)
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
TickerResponse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
base:
|
|
||||||
type: string
|
|
||||||
description: Currency pair base
|
|
||||||
quote:
|
|
||||||
type: string
|
|
||||||
description: Currency pair quote
|
|
||||||
bid:
|
|
||||||
type: number
|
|
||||||
description: Bid at the exchange with the most volume
|
|
||||||
ask:
|
|
||||||
type: number
|
|
||||||
description: Ask at the exchange with the most volume
|
|
||||||
exchange:
|
|
||||||
type: string
|
|
||||||
description: The exchange with the most volume
|
|
||||||
volume:
|
|
||||||
type: number
|
|
||||||
description: Volume at the exchange with the most volume
|
|
||||||
num_exchanges:
|
|
||||||
type: integer
|
|
||||||
description: Number of exchanges queried
|
|
||||||
total_volume:
|
|
||||||
type: number
|
|
||||||
description: Total volume across all exchanges queried
|
|
||||||
timestamp:
|
|
||||||
type: integer
|
|
||||||
description: Unix timestamp
|
|
||||||
TickerFullResponse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
base:
|
|
||||||
type: string
|
|
||||||
description: Currency pair base
|
|
||||||
quote:
|
|
||||||
type: string
|
|
||||||
description: Currency pair quote
|
|
||||||
tickers:
|
|
||||||
type: array
|
|
||||||
description: List of tickers at various exchanges
|
|
||||||
items:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
bid:
|
|
||||||
type: number
|
|
||||||
description: Bid
|
|
||||||
ask:
|
|
||||||
type: number
|
|
||||||
description: Ask
|
|
||||||
exchange:
|
|
||||||
type: string
|
|
||||||
description: Exchange
|
|
||||||
volume:
|
|
||||||
type: number
|
|
||||||
description: Volume
|
|
||||||
timestamp:
|
|
||||||
type: integer
|
|
||||||
description: Unix timestamp
|
|
||||||
BlacklistResponse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
version:
|
|
||||||
type: integer
|
|
||||||
description: Version
|
|
||||||
tolerance:
|
|
||||||
type: integer
|
|
||||||
description: Tolerance
|
|
||||||
fuzzylist:
|
|
||||||
description: Fuzzylist
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
whitelist:
|
|
||||||
description: Whitelist
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
blacklist:
|
|
||||||
description: Blacklist
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
required:
|
|
||||||
- version
|
|
||||||
- tolerance
|
|
||||||
- fuzzylist
|
|
||||||
- whitelist
|
|
||||||
- blacklist
|
|
||||||
@@ -1,840 +0,0 @@
|
|||||||
{
|
|
||||||
"openapi": "3.0.2",
|
|
||||||
"info": {
|
|
||||||
"title": "Swagger Petstore - OpenAPI 3.0",
|
|
||||||
"description": "This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about\nSwagger at [http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach!\nYou can now help us improve the API whether it's by making changes to the definition itself or to the code.\nThat way, with time, we can improve the API in general, and expose some of the new features in OAS3.\n\nSome useful links:\n- [The Pet Store repository](https://github.com/swagger-api/swagger-petstore)\n- [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml) ",
|
|
||||||
"termsOfService": "http://swagger.io/terms/",
|
|
||||||
"contact": { "email": "apiteam@swagger.io" },
|
|
||||||
"license": {
|
|
||||||
"name": "Apache 2.0",
|
|
||||||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
|
||||||
},
|
|
||||||
"version": "1.0.4"
|
|
||||||
},
|
|
||||||
"externalDocs": {
|
|
||||||
"description": "Find out more about Swagger",
|
|
||||||
"url": "http://swagger.io"
|
|
||||||
},
|
|
||||||
"servers": [ { "url": "/api/v3" } ],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"name": "pet",
|
|
||||||
"description": "Everything about your Pets",
|
|
||||||
"externalDocs": {
|
|
||||||
"description": "Find out more",
|
|
||||||
"url": "http://swagger.io"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "store",
|
|
||||||
"description": "Operations about user"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "user",
|
|
||||||
"description": "Access to Petstore orders",
|
|
||||||
"externalDocs": {
|
|
||||||
"description": "Find out more about our store",
|
|
||||||
"url": "http://swagger.io"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"paths": {
|
|
||||||
"/pet": {
|
|
||||||
"put": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Update an existing pet",
|
|
||||||
"description": "Update an existing pet by Id",
|
|
||||||
"operationId": "updatePet",
|
|
||||||
"requestBody": {
|
|
||||||
"description": "Update an existent pet in the store",
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Pet" } }
|
|
||||||
},
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "Successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid ID supplied" },
|
|
||||||
"404": { "description": "Pet not found" },
|
|
||||||
"405": { "description": "Validation exception" }
|
|
||||||
},
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
},
|
|
||||||
"post": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Add a new pet to the store",
|
|
||||||
"description": "Add a new pet to the store",
|
|
||||||
"operationId": "addPet",
|
|
||||||
"requestBody": {
|
|
||||||
"description": "Create a new pet in the store",
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Pet" } }
|
|
||||||
},
|
|
||||||
"required": true
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "Successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"405": { "description": "Invalid input" }
|
|
||||||
},
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/pet/findByStatus": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Finds Pets by status",
|
|
||||||
"description": "Multiple status values can be provided with comma separated strings",
|
|
||||||
"operationId": "findPetsByStatus",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "status",
|
|
||||||
"in": "query",
|
|
||||||
"description": "Status values that need to be considered for filter",
|
|
||||||
"required": false,
|
|
||||||
"explode": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "string",
|
|
||||||
"default": "available",
|
|
||||||
"enum": [ "available", "pending", "sold" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": {
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#/components/schemas/Pet" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#/components/schemas/Pet" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid status value" }
|
|
||||||
},
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/pet/findByTags": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Finds Pets by tags",
|
|
||||||
"description": "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.",
|
|
||||||
"operationId": "findPetsByTags",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "tags",
|
|
||||||
"in": "query",
|
|
||||||
"description": "Tags to filter by",
|
|
||||||
"required": false,
|
|
||||||
"explode": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "type": "string" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": {
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#/components/schemas/Pet" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#/components/schemas/Pet" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid tag value" }
|
|
||||||
},
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/pet/{petId}": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Find pet by ID",
|
|
||||||
"description": "Returns a single pet",
|
|
||||||
"operationId": "getPetById",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "petId",
|
|
||||||
"in": "path",
|
|
||||||
"description": "ID of pet to return",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid ID supplied" },
|
|
||||||
"404": { "description": "Pet not found" }
|
|
||||||
},
|
|
||||||
"security": [
|
|
||||||
{ "api_key": [] },
|
|
||||||
{ "petstore_auth": [ "write:pets", "read:pets" ] }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"post": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Updates a pet in the store with form data",
|
|
||||||
"description": "",
|
|
||||||
"operationId": "updatePetWithForm",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "petId",
|
|
||||||
"in": "path",
|
|
||||||
"description": "ID of pet that needs to be updated",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "name",
|
|
||||||
"in": "query",
|
|
||||||
"description": "Name of pet that needs to be updated",
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "status",
|
|
||||||
"in": "query",
|
|
||||||
"description": "Status of pet that needs to be updated",
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": { "405": { "description": "Invalid input" } },
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
},
|
|
||||||
"delete": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "Deletes a pet",
|
|
||||||
"description": "",
|
|
||||||
"operationId": "deletePet",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "api_key",
|
|
||||||
"in": "header",
|
|
||||||
"description": "",
|
|
||||||
"required": false,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "petId",
|
|
||||||
"in": "path",
|
|
||||||
"description": "Pet id to delete",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": { "400": { "description": "Invalid pet value" } },
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/pet/{petId}/uploadImage": {
|
|
||||||
"post": {
|
|
||||||
"tags": [ "pet" ],
|
|
||||||
"summary": "uploads an image",
|
|
||||||
"description": "",
|
|
||||||
"operationId": "uploadFile",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "petId",
|
|
||||||
"in": "path",
|
|
||||||
"description": "ID of pet to update",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "additionalMetadata",
|
|
||||||
"in": "query",
|
|
||||||
"description": "Additional Metadata",
|
|
||||||
"required": false,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"requestBody": {
|
|
||||||
"content": {
|
|
||||||
"application/octet-stream": {
|
|
||||||
"schema": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "binary"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponse" } } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"security": [ { "petstore_auth": [ "write:pets", "read:pets" ] } ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/store/inventory": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "store" ],
|
|
||||||
"summary": "Returns pet inventories by status",
|
|
||||||
"description": "Returns a map of status codes to quantities",
|
|
||||||
"operationId": "getInventory",
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int32"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"security": [ { "api_key": [] } ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/store/order": {
|
|
||||||
"post": {
|
|
||||||
"tags": [ "store" ],
|
|
||||||
"summary": "Place an order for a pet",
|
|
||||||
"description": "Place a new order in the store",
|
|
||||||
"operationId": "placeOrder",
|
|
||||||
"requestBody": {
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Order" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Order" } },
|
|
||||||
"application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Order" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": { "application/json": { "schema": { "$ref": "#/components/schemas/Order" } } }
|
|
||||||
},
|
|
||||||
"405": { "description": "Invalid input" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/store/order/{orderId}": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "store" ],
|
|
||||||
"summary": "Find purchase order by ID",
|
|
||||||
"description": "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions",
|
|
||||||
"operationId": "getOrderById",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "orderId",
|
|
||||||
"in": "path",
|
|
||||||
"description": "ID of order that needs to be fetched",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Order" } },
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Order" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid ID supplied" },
|
|
||||||
"404": { "description": "Order not found" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"delete": {
|
|
||||||
"tags": [ "store" ],
|
|
||||||
"summary": "Delete purchase order by ID",
|
|
||||||
"description": "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors",
|
|
||||||
"operationId": "deleteOrder",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "orderId",
|
|
||||||
"in": "path",
|
|
||||||
"description": "ID of the order that needs to be deleted",
|
|
||||||
"required": true,
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"400": { "description": "Invalid ID supplied" },
|
|
||||||
"404": { "description": "Order not found" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/user": {
|
|
||||||
"post": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Create user",
|
|
||||||
"description": "This can only be done by the logged in user.",
|
|
||||||
"operationId": "createUser",
|
|
||||||
"requestBody": {
|
|
||||||
"description": "Created user object",
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/User" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"default": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/User" } }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/user/createWithList": {
|
|
||||||
"post": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Creates list of users with given input array",
|
|
||||||
"description": "Creates list of users with given input array",
|
|
||||||
"operationId": "createUsersWithListInput",
|
|
||||||
"requestBody": {
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#/components/schemas/User" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "Successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/User" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"default": { "description": "successful operation" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/user/login": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Logs user into the system",
|
|
||||||
"description": "",
|
|
||||||
"operationId": "loginUser",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "username",
|
|
||||||
"in": "query",
|
|
||||||
"description": "The user name for login",
|
|
||||||
"required": false,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "password",
|
|
||||||
"in": "query",
|
|
||||||
"description": "The password for login in clear text",
|
|
||||||
"required": false,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"headers": {
|
|
||||||
"X-Rate-Limit": {
|
|
||||||
"description": "calls per hour allowed by the user",
|
|
||||||
"schema": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int32"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"X-Expires-After": {
|
|
||||||
"description": "date in UTC when toekn expires",
|
|
||||||
"schema": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "date-time"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "type": "string" } },
|
|
||||||
"application/json": { "schema": { "type": "string" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid username/password supplied" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/user/logout": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Logs out current logged in user session",
|
|
||||||
"description": "",
|
|
||||||
"operationId": "logoutUser",
|
|
||||||
"parameters": [],
|
|
||||||
"responses": { "default": { "description": "successful operation" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"/user/{username}": {
|
|
||||||
"get": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Get user by user name",
|
|
||||||
"description": "",
|
|
||||||
"operationId": "getUserByName",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "username",
|
|
||||||
"in": "path",
|
|
||||||
"description": "The name that needs to be fetched. Use user1 for testing. ",
|
|
||||||
"required": true,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"200": {
|
|
||||||
"description": "successful operation",
|
|
||||||
"content": {
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/User" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"400": { "description": "Invalid username supplied" },
|
|
||||||
"404": { "description": "User not found" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"put": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Update user",
|
|
||||||
"description": "This can only be done by the logged in user.",
|
|
||||||
"operationId": "updateUser",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "username",
|
|
||||||
"in": "path",
|
|
||||||
"description": "name that need to be deleted",
|
|
||||||
"required": true,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"requestBody": {
|
|
||||||
"description": "Update an existent user in the store",
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/User" } },
|
|
||||||
"application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/User" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"responses": { "default": { "description": "successful operation" } }
|
|
||||||
},
|
|
||||||
"delete": {
|
|
||||||
"tags": [ "user" ],
|
|
||||||
"summary": "Delete user",
|
|
||||||
"description": "This can only be done by the logged in user.",
|
|
||||||
"operationId": "deleteUser",
|
|
||||||
"parameters": [
|
|
||||||
{
|
|
||||||
"name": "username",
|
|
||||||
"in": "path",
|
|
||||||
"description": "The name that needs to be deleted",
|
|
||||||
"required": true,
|
|
||||||
"schema": { "type": "string" }
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"responses": {
|
|
||||||
"400": { "description": "Invalid username supplied" },
|
|
||||||
"404": { "description": "User not found" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"components": {
|
|
||||||
"schemas": {
|
|
||||||
"Order": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"example": 10
|
|
||||||
},
|
|
||||||
"petId": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"example": 198772
|
|
||||||
},
|
|
||||||
"quantity": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int32",
|
|
||||||
"example": 7
|
|
||||||
},
|
|
||||||
"shipDate": {
|
|
||||||
"type": "string",
|
|
||||||
"format": "date-time"
|
|
||||||
},
|
|
||||||
"status": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "Order Status",
|
|
||||||
"example": "approved",
|
|
||||||
"enum": [ "placed", "approved", "delivered" ]
|
|
||||||
},
|
|
||||||
"complete": { "type": "boolean" }
|
|
||||||
},
|
|
||||||
"xml": { "name": "order" }
|
|
||||||
},
|
|
||||||
"Customer": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"example": 100000
|
|
||||||
},
|
|
||||||
"username": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "fehguy"
|
|
||||||
},
|
|
||||||
"address": {
|
|
||||||
"type": "array",
|
|
||||||
"xml": {
|
|
||||||
"name": "addresses",
|
|
||||||
"wrapped": true
|
|
||||||
},
|
|
||||||
"items": { "$ref": "#/components/schemas/Address" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": { "name": "customer" }
|
|
||||||
},
|
|
||||||
"Address": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"street": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "437 Lytton"
|
|
||||||
},
|
|
||||||
"city": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Palo Alto"
|
|
||||||
},
|
|
||||||
"state": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "CA"
|
|
||||||
},
|
|
||||||
"zip": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "94301"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": { "name": "address" }
|
|
||||||
},
|
|
||||||
"Category": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"example": 1
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "Dogs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": { "name": "category" }
|
|
||||||
},
|
|
||||||
"User": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"example": 10
|
|
||||||
},
|
|
||||||
"username": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "theUser"
|
|
||||||
},
|
|
||||||
"firstName": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "John"
|
|
||||||
},
|
|
||||||
"lastName": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "James"
|
|
||||||
},
|
|
||||||
"email": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "john@email.com"
|
|
||||||
},
|
|
||||||
"password": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "12345"
|
|
||||||
},
|
|
||||||
"phone": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "12345"
|
|
||||||
},
|
|
||||||
"userStatus": {
|
|
||||||
"type": "integer",
|
|
||||||
"description": "User Status",
|
|
||||||
"format": "int32",
|
|
||||||
"example": 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": { "name": "user" }
|
|
||||||
},
|
|
||||||
"Tag": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64"
|
|
||||||
},
|
|
||||||
"name": { "type": "string" }
|
|
||||||
},
|
|
||||||
"xml": { "name": "tag" }
|
|
||||||
},
|
|
||||||
"Pet": {
|
|
||||||
"required": [ "name", "photoUrls" ],
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"id": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int64",
|
|
||||||
"example": 10
|
|
||||||
},
|
|
||||||
"name": {
|
|
||||||
"type": "string",
|
|
||||||
"example": "doggie"
|
|
||||||
},
|
|
||||||
"category": { "$ref": "#/components/schemas/Category" },
|
|
||||||
"photoUrls": {
|
|
||||||
"type": "array",
|
|
||||||
"xml": { "wrapped": true },
|
|
||||||
"items": {
|
|
||||||
"type": "string",
|
|
||||||
"xml": { "name": "photoUrl" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tags": {
|
|
||||||
"type": "array",
|
|
||||||
"xml": { "wrapped": true },
|
|
||||||
"items": { "$ref": "#/components/schemas/Tag" }
|
|
||||||
},
|
|
||||||
"status": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "pet status in the store",
|
|
||||||
"enum": [ "available", "pending", "sold" ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xml": { "name": "pet" }
|
|
||||||
},
|
|
||||||
"ApiResponse": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"code": {
|
|
||||||
"type": "integer",
|
|
||||||
"format": "int32"
|
|
||||||
},
|
|
||||||
"type": { "type": "string" },
|
|
||||||
"message": { "type": "string" }
|
|
||||||
},
|
|
||||||
"xml": { "name": "##default" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requestBodies": {
|
|
||||||
"Pet": {
|
|
||||||
"description": "Pet object that needs to be added to the store",
|
|
||||||
"content": {
|
|
||||||
"application/json": { "schema": { "$ref": "#/components/schemas/Pet" } },
|
|
||||||
"application/xml": { "schema": { "$ref": "#/components/schemas/Pet" } }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"UserArray": {
|
|
||||||
"description": "List of user object",
|
|
||||||
"content": {
|
|
||||||
"application/json": {
|
|
||||||
"schema": {
|
|
||||||
"type": "array",
|
|
||||||
"items": { "$ref": "#/components/schemas/User" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"securitySchemes": {
|
|
||||||
"petstore_auth": {
|
|
||||||
"type": "oauth2",
|
|
||||||
"flows": {
|
|
||||||
"implicit": {
|
|
||||||
"authorizationUrl": "https://petstore.swagger.io/oauth/authorize",
|
|
||||||
"scopes": {
|
|
||||||
"write:pets": "modify pets in your account",
|
|
||||||
"read:pets": "read your pets"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"api_key": {
|
|
||||||
"type": "apiKey",
|
|
||||||
"name": "api_key",
|
|
||||||
"in": "header"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,730 +0,0 @@
|
|||||||
swagger: '2.0'
|
|
||||||
info:
|
|
||||||
description: 'This is a sample server Petstore server. Copied from https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen/src/test/resources/2_0/petstore.yaml.'
|
|
||||||
version: 1.0.0
|
|
||||||
title: Swagger Petstore
|
|
||||||
termsOfService: 'http://swagger.io/terms/'
|
|
||||||
contact:
|
|
||||||
email: apiteam@swagger.io
|
|
||||||
license:
|
|
||||||
name: Apache-2.0
|
|
||||||
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
|
|
||||||
host: petstore.swagger.io
|
|
||||||
basePath: /v2
|
|
||||||
tags:
|
|
||||||
- name: pet
|
|
||||||
description: Everything about your Pets
|
|
||||||
externalDocs:
|
|
||||||
description: Find out more
|
|
||||||
url: 'http://swagger.io'
|
|
||||||
- name: store
|
|
||||||
description: Access to Petstore orders
|
|
||||||
- name: user
|
|
||||||
description: Operations about user
|
|
||||||
externalDocs:
|
|
||||||
description: Find out more about our store
|
|
||||||
url: 'http://swagger.io'
|
|
||||||
schemes:
|
|
||||||
- http
|
|
||||||
paths:
|
|
||||||
/pet:
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Add a new pet to the store
|
|
||||||
description: ''
|
|
||||||
operationId: addPet
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
- application/xml
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: Pet object that needs to be added to the store
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/Pet'
|
|
||||||
responses:
|
|
||||||
'405':
|
|
||||||
description: Invalid input
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
put:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Update an existing pet
|
|
||||||
description: ''
|
|
||||||
operationId: updatePet
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
- application/xml
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: Pet object that needs to be added to the store
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/Pet'
|
|
||||||
responses:
|
|
||||||
'400':
|
|
||||||
description: Invalid ID supplied
|
|
||||||
'404':
|
|
||||||
description: Pet not found
|
|
||||||
'405':
|
|
||||||
description: Validation exception
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
/pet/findByStatus:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Finds Pets by status
|
|
||||||
description: Multiple status values can be provided with comma separated strings
|
|
||||||
operationId: findPetsByStatus
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: status
|
|
||||||
in: query
|
|
||||||
description: Status values that need to be considered for filter
|
|
||||||
required: true
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
enum:
|
|
||||||
- available
|
|
||||||
- pending
|
|
||||||
- sold
|
|
||||||
default: available
|
|
||||||
collectionFormat: csv
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: '#/definitions/Pet'
|
|
||||||
'400':
|
|
||||||
description: Invalid status value
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
/pet/findByTags:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Finds Pets by tags
|
|
||||||
description: 'Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.'
|
|
||||||
operationId: findPetsByTags
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: tags
|
|
||||||
in: query
|
|
||||||
description: Tags to filter by
|
|
||||||
required: true
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
collectionFormat: csv
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: '#/definitions/Pet'
|
|
||||||
'400':
|
|
||||||
description: Invalid tag value
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
deprecated: true
|
|
||||||
'/pet/{petId}':
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Find pet by ID
|
|
||||||
description: Returns a single pet
|
|
||||||
operationId: getPetById
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: petId
|
|
||||||
in: path
|
|
||||||
description: ID of pet to return
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/Pet'
|
|
||||||
'400':
|
|
||||||
description: Invalid ID supplied
|
|
||||||
'404':
|
|
||||||
description: Pet not found
|
|
||||||
security:
|
|
||||||
- api_key: []
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Updates a pet in the store with form data
|
|
||||||
description: ''
|
|
||||||
operationId: updatePetWithForm
|
|
||||||
consumes:
|
|
||||||
- application/x-www-form-urlencoded
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: petId
|
|
||||||
in: path
|
|
||||||
description: ID of pet that needs to be updated
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
- name: name
|
|
||||||
in: formData
|
|
||||||
description: Updated name of the pet
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
- name: status
|
|
||||||
in: formData
|
|
||||||
description: Updated status of the pet
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
'405':
|
|
||||||
description: Invalid input
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
delete:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: Deletes a pet
|
|
||||||
description: ''
|
|
||||||
operationId: deletePet
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: api_key
|
|
||||||
in: header
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
- name: petId
|
|
||||||
in: path
|
|
||||||
description: Pet id to delete
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
responses:
|
|
||||||
'400':
|
|
||||||
description: Invalid pet value
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
'/pet/{petId}/uploadImage':
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- pet
|
|
||||||
summary: uploads an image
|
|
||||||
description: ''
|
|
||||||
operationId: uploadFile
|
|
||||||
consumes:
|
|
||||||
- multipart/form-data
|
|
||||||
produces:
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: petId
|
|
||||||
in: path
|
|
||||||
description: ID of pet to update
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
- name: additionalMetadata
|
|
||||||
in: formData
|
|
||||||
description: Additional data to pass to server
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
- name: file
|
|
||||||
in: formData
|
|
||||||
description: file to upload
|
|
||||||
required: false
|
|
||||||
type: file
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/ApiResponse'
|
|
||||||
security:
|
|
||||||
- petstore_auth:
|
|
||||||
- 'write:pets'
|
|
||||||
- 'read:pets'
|
|
||||||
/store/inventory:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- store
|
|
||||||
summary: Returns pet inventories by status
|
|
||||||
description: Returns a map of status codes to quantities
|
|
||||||
operationId: getInventory
|
|
||||||
produces:
|
|
||||||
- application/json
|
|
||||||
parameters: []
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
type: object
|
|
||||||
additionalProperties:
|
|
||||||
type: integer
|
|
||||||
format: int32
|
|
||||||
security:
|
|
||||||
- api_key: []
|
|
||||||
/store/order:
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- store
|
|
||||||
summary: Place an order for a pet
|
|
||||||
description: ''
|
|
||||||
operationId: placeOrder
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: order placed for purchasing the pet
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/Order'
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/Order'
|
|
||||||
'400':
|
|
||||||
description: Invalid Order
|
|
||||||
'/store/order/{orderId}':
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- store
|
|
||||||
summary: Find purchase order by ID
|
|
||||||
description: 'For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions'
|
|
||||||
operationId: getOrderById
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: orderId
|
|
||||||
in: path
|
|
||||||
description: ID of pet that needs to be fetched
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
maximum: 5
|
|
||||||
minimum: 1
|
|
||||||
format: int64
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/Order'
|
|
||||||
'400':
|
|
||||||
description: Invalid ID supplied
|
|
||||||
'404':
|
|
||||||
description: Order not found
|
|
||||||
delete:
|
|
||||||
tags:
|
|
||||||
- store
|
|
||||||
summary: Delete purchase order by ID
|
|
||||||
description: For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
|
|
||||||
operationId: deleteOrder
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: orderId
|
|
||||||
in: path
|
|
||||||
description: ID of the order that needs to be deleted
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
'400':
|
|
||||||
description: Invalid ID supplied
|
|
||||||
'404':
|
|
||||||
description: Order not found
|
|
||||||
/user:
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Create user
|
|
||||||
description: This can only be done by the logged in user.
|
|
||||||
operationId: createUser
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: Created user object
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/User'
|
|
||||||
responses:
|
|
||||||
default:
|
|
||||||
description: successful operation
|
|
||||||
/user/createWithArray:
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Creates list of users with given input array
|
|
||||||
description: ''
|
|
||||||
operationId: createUsersWithArrayInput
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: List of user object
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: '#/definitions/User'
|
|
||||||
responses:
|
|
||||||
default:
|
|
||||||
description: successful operation
|
|
||||||
/user/createWithList:
|
|
||||||
post:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Creates list of users with given input array
|
|
||||||
description: ''
|
|
||||||
operationId: createUsersWithListInput
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: List of user object
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
$ref: '#/definitions/User'
|
|
||||||
responses:
|
|
||||||
default:
|
|
||||||
description: successful operation
|
|
||||||
/user/login:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Logs user into the system
|
|
||||||
description: ''
|
|
||||||
operationId: loginUser
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: username
|
|
||||||
in: query
|
|
||||||
description: The user name for login
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
- name: password
|
|
||||||
in: query
|
|
||||||
description: The password for login in clear text
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
type: string
|
|
||||||
headers:
|
|
||||||
X-Rate-Limit:
|
|
||||||
type: integer
|
|
||||||
format: int32
|
|
||||||
description: calls per hour allowed by the user
|
|
||||||
X-Expires-After:
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
description: date in UTC when toekn expires
|
|
||||||
'400':
|
|
||||||
description: Invalid username/password supplied
|
|
||||||
/user/logout:
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Logs out current logged in user session
|
|
||||||
description: ''
|
|
||||||
operationId: logoutUser
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters: []
|
|
||||||
responses:
|
|
||||||
default:
|
|
||||||
description: successful operation
|
|
||||||
'/user/{username}':
|
|
||||||
get:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Get user by user name
|
|
||||||
description: ''
|
|
||||||
operationId: getUserByName
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: username
|
|
||||||
in: path
|
|
||||||
description: 'The name that needs to be fetched. Use user1 for testing.'
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
'200':
|
|
||||||
description: successful operation
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/User'
|
|
||||||
'400':
|
|
||||||
description: Invalid username supplied
|
|
||||||
'404':
|
|
||||||
description: User not found
|
|
||||||
put:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Updated user
|
|
||||||
description: This can only be done by the logged in user.
|
|
||||||
operationId: updateUser
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: username
|
|
||||||
in: path
|
|
||||||
description: name that need to be deleted
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
- in: body
|
|
||||||
name: body
|
|
||||||
description: Updated user object
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/User'
|
|
||||||
responses:
|
|
||||||
'400':
|
|
||||||
description: Invalid user supplied
|
|
||||||
'404':
|
|
||||||
description: User not found
|
|
||||||
delete:
|
|
||||||
tags:
|
|
||||||
- user
|
|
||||||
summary: Delete user
|
|
||||||
description: This can only be done by the logged in user.
|
|
||||||
operationId: deleteUser
|
|
||||||
produces:
|
|
||||||
- application/xml
|
|
||||||
- application/json
|
|
||||||
parameters:
|
|
||||||
- name: username
|
|
||||||
in: path
|
|
||||||
description: The name that needs to be deleted
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
responses:
|
|
||||||
'400':
|
|
||||||
description: Invalid username supplied
|
|
||||||
'404':
|
|
||||||
description: User not found
|
|
||||||
securityDefinitions:
|
|
||||||
petstore_auth:
|
|
||||||
type: oauth2
|
|
||||||
authorizationUrl: 'http://petstore.swagger.io/api/oauth/dialog'
|
|
||||||
flow: implicit
|
|
||||||
scopes:
|
|
||||||
'write:pets': modify pets in your account
|
|
||||||
'read:pets': read your pets
|
|
||||||
api_key:
|
|
||||||
type: apiKey
|
|
||||||
name: api_key
|
|
||||||
in: header
|
|
||||||
definitions:
|
|
||||||
Order:
|
|
||||||
title: Pet Order
|
|
||||||
description: An order for a pets from the pet store
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
petId:
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
quantity:
|
|
||||||
type: integer
|
|
||||||
format: int32
|
|
||||||
shipDate:
|
|
||||||
type: string
|
|
||||||
format: date-time
|
|
||||||
status:
|
|
||||||
type: string
|
|
||||||
description: Order Status
|
|
||||||
enum:
|
|
||||||
- placed
|
|
||||||
- approved
|
|
||||||
- delivered
|
|
||||||
complete:
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
xml:
|
|
||||||
name: Order
|
|
||||||
Category:
|
|
||||||
title: Pet category
|
|
||||||
description: A category for a pet
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
xml:
|
|
||||||
name: Category
|
|
||||||
User:
|
|
||||||
title: a User
|
|
||||||
description: A User who is purchasing from the pet store
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
username:
|
|
||||||
type: string
|
|
||||||
firstName:
|
|
||||||
type: string
|
|
||||||
lastName:
|
|
||||||
type: string
|
|
||||||
email:
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
type: string
|
|
||||||
phone:
|
|
||||||
type: string
|
|
||||||
userStatus:
|
|
||||||
type: integer
|
|
||||||
format: int32
|
|
||||||
description: User Status
|
|
||||||
xml:
|
|
||||||
name: User
|
|
||||||
Tag:
|
|
||||||
title: Pet Tag
|
|
||||||
description: A tag for a pet
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
xml:
|
|
||||||
name: Tag
|
|
||||||
Pet:
|
|
||||||
title: a Pet
|
|
||||||
description: A pet for sale in the pet store
|
|
||||||
type: object
|
|
||||||
required:
|
|
||||||
- name
|
|
||||||
- photoUrls
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
format: int64
|
|
||||||
category:
|
|
||||||
$ref: '#/definitions/Category'
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
example: doggie
|
|
||||||
photoUrls:
|
|
||||||
type: array
|
|
||||||
xml:
|
|
||||||
name: photoUrl
|
|
||||||
wrapped: true
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
tags:
|
|
||||||
type: array
|
|
||||||
xml:
|
|
||||||
name: tag
|
|
||||||
wrapped: true
|
|
||||||
items:
|
|
||||||
$ref: '#/definitions/Tag'
|
|
||||||
status:
|
|
||||||
type: string
|
|
||||||
description: pet status in the store
|
|
||||||
enum:
|
|
||||||
- available
|
|
||||||
- pending
|
|
||||||
- sold
|
|
||||||
xml:
|
|
||||||
name: Pet
|
|
||||||
ApiResponse:
|
|
||||||
title: An uploaded response
|
|
||||||
description: Describes the result of uploading an image resource
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
code:
|
|
||||||
type: integer
|
|
||||||
format: int32
|
|
||||||
type:
|
|
||||||
type: string
|
|
||||||
message:
|
|
||||||
type: string
|
|
||||||
#issue: https://github.com/swagger-api/swagger-codegen/issues/7980
|
|
||||||
Amount:
|
|
||||||
type: object
|
|
||||||
description: >
|
|
||||||
some description
|
|
||||||
properties:
|
|
||||||
value:
|
|
||||||
format: double
|
|
||||||
type: number
|
|
||||||
minimum: 0.01
|
|
||||||
maximum: 1000000000000000
|
|
||||||
description: >
|
|
||||||
some description
|
|
||||||
currency:
|
|
||||||
$ref: '#/definitions/Currency'
|
|
||||||
required:
|
|
||||||
- value
|
|
||||||
- currency
|
|
||||||
Currency:
|
|
||||||
type: string
|
|
||||||
pattern: '^[A-Z]{3,3}$'
|
|
||||||
description: >
|
|
||||||
some description
|
|
||||||
externalDocs:
|
|
||||||
description: Find out more about Swagger
|
|
||||||
url: 'http://swagger.io'
|
|
||||||
@@ -1,602 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"Guid": "532889c2-f84d-4dc8-b847-9ea2c6aca7d5",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet",
|
|
||||||
"Methods": [
|
|
||||||
"PUT"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": "example-string",
|
|
||||||
"tags": "example-string",
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "6e8cd307-28aa-411f-a7df-3a197a7a53b1",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": "example-string",
|
|
||||||
"tags": "example-string",
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "edf4cf89-2bfb-4207-bb97-d739834319bb",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/findByStatus",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "status",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "8c7a6324-1108-4df6-8fd6-53e062222724",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/findByTags",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "tags",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": [
|
|
||||||
"example-string",
|
|
||||||
"example-string",
|
|
||||||
"example-string"
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"status": "example-string"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "2335189b-89f0-4559-a980-7930a9543df8",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string",
|
|
||||||
"category": {
|
|
||||||
"id": 42,
|
|
||||||
"name": "example-string"
|
|
||||||
},
|
|
||||||
"photoUrls": "example-string",
|
|
||||||
"tags": "example-string",
|
|
||||||
"status": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "7d3ca67b-a4eb-4108-8f3c-9ba63b42e6d4",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "name",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "status",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "96e43f42-deb0-4dd7-a137-3f69eb3eb884",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42",
|
|
||||||
"Methods": [
|
|
||||||
"DELETE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "ba7719dc-25a0-4481-b013-ed3bdf095472",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/pet/42/uploadImage",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "additionalMetadata",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"code": 42,
|
|
||||||
"type": "example-string",
|
|
||||||
"message": "example-string"
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "79f902a1-797e-4edd-ad30-91fcbe6ae065",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/inventory",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "65abf25e-30cf-483e-b1ef-333095e13e9b",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/order",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"petId": 42,
|
|
||||||
"quantity": 42,
|
|
||||||
"shipDate": "2020-06-17T09:56:32.715+00:00",
|
|
||||||
"status": "example-string",
|
|
||||||
"complete": true
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "5f0eba3c-1bda-48f9-a554-042a4b9f0cb6",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/order/42",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"petId": 42,
|
|
||||||
"quantity": 42,
|
|
||||||
"shipDate": "2020-06-17T09:56:32.716+00:00",
|
|
||||||
"status": "example-string",
|
|
||||||
"complete": true
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "55307736-9c16-42be-a1a4-723c01f3502a",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/store/order/42",
|
|
||||||
"Methods": [
|
|
||||||
"DELETE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "6c3be046-6880-414e-bbe5-0f57e901b96c",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 0,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"username": "example-string",
|
|
||||||
"firstName": "example-string",
|
|
||||||
"lastName": "example-string",
|
|
||||||
"email": "example-string",
|
|
||||||
"password": "example-string",
|
|
||||||
"phone": "example-string",
|
|
||||||
"userStatus": 42
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "e973fb9b-b596-4605-abd1-bd99fb718b58",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/createWithList",
|
|
||||||
"Methods": [
|
|
||||||
"POST"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"username": "example-string",
|
|
||||||
"firstName": "example-string",
|
|
||||||
"lastName": "example-string",
|
|
||||||
"email": "example-string",
|
|
||||||
"password": "example-string",
|
|
||||||
"phone": "example-string",
|
|
||||||
"userStatus": 42
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "2d1fd4ed-e186-42d4-b2ea-5cc5cd46e931",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/login",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
],
|
|
||||||
"Params": [
|
|
||||||
{
|
|
||||||
"Name": "username",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "password",
|
|
||||||
"Matchers": [
|
|
||||||
{
|
|
||||||
"Name": "ExactMatcher",
|
|
||||||
"Pattern": "example-string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": "example-string",
|
|
||||||
"Headers": {
|
|
||||||
"X-Rate-Limit": "example-string",
|
|
||||||
"X-Expires-After": "example-string",
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "916e527a-36cc-44fb-983f-16e3a5eb2e4c",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/logout",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "b4a95c37-df9e-4844-8b46-3a84fce23ce2",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/example-string",
|
|
||||||
"Methods": [
|
|
||||||
"GET"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200,
|
|
||||||
"BodyAsJson": {
|
|
||||||
"id": 42,
|
|
||||||
"username": "example-string",
|
|
||||||
"firstName": "example-string",
|
|
||||||
"lastName": "example-string",
|
|
||||||
"email": "example-string",
|
|
||||||
"password": "example-string",
|
|
||||||
"phone": "example-string",
|
|
||||||
"userStatus": 42
|
|
||||||
},
|
|
||||||
"Headers": {
|
|
||||||
"Content-Type": "application/json"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "e6e77a13-f470-4543-bbff-483a4d7454b3",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/example-string",
|
|
||||||
"Methods": [
|
|
||||||
"PUT"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Guid": "c371d65b-896a-4782-bde5-00af37e401f2",
|
|
||||||
"Request": {
|
|
||||||
"Path": "/user/example-string",
|
|
||||||
"Methods": [
|
|
||||||
"DELETE"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"Response": {
|
|
||||||
"StatusCode": 200
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
using log4net.Config;
|
using System;
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.ServiceProcess;
|
using System.ServiceProcess;
|
||||||
using WireMock.Net.Service;
|
using WireMock.Logging;
|
||||||
|
using WireMock.Net.StandAlone;
|
||||||
using WireMock.Server;
|
using WireMock.Server;
|
||||||
using WireMock.Settings;
|
using WireMock.Settings;
|
||||||
|
|
||||||
@@ -11,7 +10,7 @@ namespace Wiremock.Net.Service
|
|||||||
public static class Program
|
public static class Program
|
||||||
{
|
{
|
||||||
#region Nested classes to support running as service
|
#region Nested classes to support running as service
|
||||||
public const string ServiceName = "WireMock.Net.Service";
|
public const string ServiceName = "Wiremock.Net.Service";
|
||||||
|
|
||||||
public class Service : ServiceBase
|
public class Service : ServiceBase
|
||||||
{
|
{
|
||||||
@@ -22,7 +21,7 @@ namespace Wiremock.Net.Service
|
|||||||
|
|
||||||
protected override void OnStart(string[] args)
|
protected override void OnStart(string[] args)
|
||||||
{
|
{
|
||||||
Start();
|
Start(new WireMockNullLogger());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnStop()
|
protected override void OnStop()
|
||||||
@@ -32,15 +31,10 @@ namespace Wiremock.Net.Service
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private static WireMockServer _server;
|
private static FluentMockServer _server;
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
//Setting the current directory explicitly is required if the application is running as Windows Service,
|
|
||||||
//as the current directory of a Windows Service is %WinDir%\System32 per default.
|
|
||||||
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
|
|
||||||
XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config"));
|
|
||||||
|
|
||||||
// running as service
|
// running as service
|
||||||
if (!Environment.UserInteractive)
|
if (!Environment.UserInteractive)
|
||||||
{
|
{
|
||||||
@@ -52,7 +46,7 @@ namespace Wiremock.Net.Service
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// running as console app
|
// running as console app
|
||||||
Start();
|
Start(new WireMockConsoleLogger());
|
||||||
|
|
||||||
Console.WriteLine("Press any key to stop...");
|
Console.WriteLine("Press any key to stop...");
|
||||||
Console.ReadKey(true);
|
Console.ReadKey(true);
|
||||||
@@ -61,14 +55,14 @@ namespace Wiremock.Net.Service
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Start()
|
private static void Start(IWireMockLogger logger)
|
||||||
{
|
{
|
||||||
_server = WireMockServer.Start(new WireMockServerSettings
|
_server = StandAloneApp.Start(new FluentMockServerSettings
|
||||||
{
|
{
|
||||||
Urls = new[] { "http://*:9091/" },
|
Urls = new[] { "http://*:9091/" },
|
||||||
StartAdminInterface = true,
|
StartAdminInterface = true,
|
||||||
ReadStaticMappings = true,
|
ReadStaticMappings = true,
|
||||||
Logger = new WireMockLog4NetLogger()
|
Logger = logger
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,9 +35,6 @@
|
|||||||
<Reference Include="Handlebars, Version=1.9.5.0, Culture=neutral, PublicKeyToken=22225d0bf33cd661, processorArchitecture=MSIL">
|
<Reference Include="Handlebars, Version=1.9.5.0, Culture=neutral, PublicKeyToken=22225d0bf33cd661, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Handlebars.Net.1.9.5\lib\net452\Handlebars.dll</HintPath>
|
<HintPath>..\..\packages\Handlebars.Net.1.9.5\lib\net452\Handlebars.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
|
||||||
<HintPath>..\..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="Microsoft.Owin, Version=2.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Owin, Version=2.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Microsoft.Owin.2.0.2\lib\net45\Microsoft.Owin.dll</HintPath>
|
<HintPath>..\..\packages\Microsoft.Owin.2.0.2\lib\net45\Microsoft.Owin.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -47,12 +44,18 @@
|
|||||||
<Reference Include="Microsoft.Owin.Hosting, Version=2.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="Microsoft.Owin.Hosting, Version=2.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Microsoft.Owin.Hosting.2.0.2\lib\net45\Microsoft.Owin.Hosting.dll</HintPath>
|
<HintPath>..\..\packages\Microsoft.Owin.Hosting.2.0.2\lib\net45\Microsoft.Owin.Hosting.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="MimeKitLite, Version=2.0.0.0, Culture=neutral, PublicKeyToken=bede1c8a46c66814, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\MimeKitLite.2.0.1\lib\net45\MimeKitLite.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
<HintPath>..\..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
<HintPath>..\..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="RestEase, Version=1.4.7.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\RestEase.1.4.7\lib\net45\RestEase.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="SimMetrics.Net, Version=1.0.5.0, Culture=neutral, PublicKeyToken=c58dc06d59f3391b, processorArchitecture=MSIL">
|
<Reference Include="SimMetrics.Net, Version=1.0.5.0, Culture=neutral, PublicKeyToken=c58dc06d59f3391b, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\SimMetrics.Net.1.0.5\lib\net45\SimMetrics.Net.dll</HintPath>
|
<HintPath>..\..\packages\SimMetrics.Net.1.0.5\lib\net45\SimMetrics.Net.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -80,8 +83,8 @@
|
|||||||
<Reference Include="System.Data" />
|
<Reference Include="System.Data" />
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="XPath2, Version=1.1.0.0, Culture=neutral, PublicKeyToken=463c6d7fb740c7e5, processorArchitecture=MSIL">
|
<Reference Include="XPath2, Version=1.0.7.0, Culture=neutral, PublicKeyToken=463c6d7fb740c7e5, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\XPath2.1.1.0\lib\net40\XPath2.dll</HintPath>
|
<HintPath>..\..\packages\XPath2.1.0.6.1\lib\net40\XPath2.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -93,13 +96,9 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="WireMockLog4NetLogger.cs" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="App.config" />
|
<None Include="App.config" />
|
||||||
<None Include="log4net.config">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="Service-Start.bat">
|
<None Include="Service-Start.bat">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
@@ -115,9 +114,9 @@
|
|||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj">
|
||||||
<Project>{b6269aac-170a-4346-8b9a-579ded3d9a94}</Project>
|
<Project>{b6269aac-170a-43d5-8b9a-579ded3d9a95}</Project>
|
||||||
<Name>WireMock.Net.Abstractions</Name>
|
<Name>WireMock.Net.StandAlone</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
||||||
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
using System;
|
|
||||||
using log4net;
|
|
||||||
using Newtonsoft.Json;
|
|
||||||
using Wiremock.Net.Service;
|
|
||||||
using WireMock.Admin.Requests;
|
|
||||||
using WireMock.Logging;
|
|
||||||
|
|
||||||
namespace WireMock.Net.Service
|
|
||||||
{
|
|
||||||
internal class WireMockLog4NetLogger : IWireMockLogger
|
|
||||||
{
|
|
||||||
private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
|
|
||||||
|
|
||||||
public void Debug(string formatString, params object[] args)
|
|
||||||
{
|
|
||||||
Log.DebugFormat(formatString, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Info(string formatString, params object[] args)
|
|
||||||
{
|
|
||||||
Log.InfoFormat(formatString, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Warn(string formatString, params object[] args)
|
|
||||||
{
|
|
||||||
Log.WarnFormat(formatString, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Error(string formatString, params object[] args)
|
|
||||||
{
|
|
||||||
Log.ErrorFormat(formatString, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Error(string message, Exception exception)
|
|
||||||
{
|
|
||||||
Log.Error(message, exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest)
|
|
||||||
{
|
|
||||||
string message = JsonConvert.SerializeObject(logEntryModel, Formatting.Indented);
|
|
||||||
Log.DebugFormat("Admin[{0}] {1}", isAdminRequest, message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<configuration>
|
|
||||||
<configSections>
|
|
||||||
<section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
|
|
||||||
</configSections>
|
|
||||||
<appSettings>
|
|
||||||
<add key="log4net.Internal.Debug" value="true"/>
|
|
||||||
</appSettings>
|
|
||||||
<log4net>
|
|
||||||
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
|
|
||||||
<layout type="log4net.Layout.PatternLayout">
|
|
||||||
<conversionPattern value="%date [%thread] %-5level %logger{1} - %message%newline" />
|
|
||||||
</layout>
|
|
||||||
</appender>
|
|
||||||
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
|
|
||||||
<file value="log.txt" />
|
|
||||||
<appendToFile value="true" />
|
|
||||||
<rollingStyle value="Size" />
|
|
||||||
<maxSizeRollBackups value="10" />
|
|
||||||
<maximumFileSize value="10000KB" />
|
|
||||||
<staticLogFileName value="true" />
|
|
||||||
<layout type="log4net.Layout.PatternLayout">
|
|
||||||
<conversionPattern value="%date [%thread] %-5level %logger{1} - %message%newline" />
|
|
||||||
</layout>
|
|
||||||
</appender>
|
|
||||||
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
|
|
||||||
<layout type="log4net.Layout.PatternLayout">
|
|
||||||
<conversionPattern value="%date [%thread] %-5level %logger{1} - %message%newline" />
|
|
||||||
</layout>
|
|
||||||
</appender>
|
|
||||||
<root>
|
|
||||||
<level value="DEBUG" />
|
|
||||||
<appender-ref ref="ConsoleAppender" />
|
|
||||||
<appender-ref ref="RollingLogFileAppender" />
|
|
||||||
<!--<appender-ref ref="EventLogAppender" /> --> <!-- comment in if needed -->
|
|
||||||
</root>
|
|
||||||
</log4net>
|
|
||||||
</configuration>
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="Handlebars.Net" version="1.9.5" targetFramework="net452" />
|
<package id="Handlebars.Net" version="1.9.5" targetFramework="net452" />
|
||||||
<package id="log4net" version="2.0.8" targetFramework="net452" />
|
|
||||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
|
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
|
||||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
|
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
|
||||||
<package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net452" />
|
<package id="Microsoft.AspNet.WebApi.Owin" version="5.2.3" targetFramework="net452" />
|
||||||
@@ -9,9 +8,11 @@
|
|||||||
<package id="Microsoft.Owin" version="2.0.2" targetFramework="net452" />
|
<package id="Microsoft.Owin" version="2.0.2" targetFramework="net452" />
|
||||||
<package id="Microsoft.Owin.Host.HttpListener" version="2.0.2" targetFramework="net452" />
|
<package id="Microsoft.Owin.Host.HttpListener" version="2.0.2" targetFramework="net452" />
|
||||||
<package id="Microsoft.Owin.Hosting" version="2.0.2" targetFramework="net452" />
|
<package id="Microsoft.Owin.Hosting" version="2.0.2" targetFramework="net452" />
|
||||||
|
<package id="MimeKitLite" version="2.0.1" targetFramework="net452" />
|
||||||
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net452" />
|
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net452" />
|
||||||
<package id="Owin" version="1.0" targetFramework="net452" />
|
<package id="Owin" version="1.0" targetFramework="net452" />
|
||||||
|
<package id="RestEase" version="1.4.7" targetFramework="net452" />
|
||||||
<package id="SimMetrics.Net" version="1.0.5" targetFramework="net452" />
|
<package id="SimMetrics.Net" version="1.0.5" targetFramework="net452" />
|
||||||
<package id="System.Net.Http" version="4.3.3" targetFramework="net452" />
|
<package id="System.Net.Http" version="4.3.3" targetFramework="net452" />
|
||||||
<package id="XPath2" version="1.1.0" targetFramework="net452" />
|
<package id="XPath2" version="1.0.6.1" targetFramework="net452" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,15 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using log4net;
|
using log4net;
|
||||||
using log4net.Config;
|
using log4net.Config;
|
||||||
using log4net.Repository;
|
using log4net.Repository;
|
||||||
using WireMock.RequestBuilders;
|
|
||||||
using WireMock.ResponseBuilders;
|
|
||||||
using WireMock.Server;
|
using WireMock.Server;
|
||||||
using WireMock.Settings;
|
|
||||||
|
|
||||||
namespace WireMock.Net.StandAlone.NETCoreApp
|
namespace WireMock.Net.StandAlone.NETCoreApp
|
||||||
{
|
{
|
||||||
@@ -19,26 +15,13 @@ namespace WireMock.Net.StandAlone.NETCoreApp
|
|||||||
// private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
|
// private static readonly ILog Log = LogManager.GetLogger(typeof(Program));
|
||||||
|
|
||||||
private static int sleepTime = 30000;
|
private static int sleepTime = 30000;
|
||||||
private static WireMockServer _server;
|
private static FluentMockServer _server;
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
XmlConfigurator.Configure(LogRepository, new FileInfo("log4net.config"));
|
XmlConfigurator.Configure(LogRepository, new FileInfo("log4net.config"));
|
||||||
|
|
||||||
if (!WireMockServerSettingsParser.TryParseArguments(args, out var settings, new WireMockLog4NetLogger()))
|
_server = StandAloneApp.Start(args, new WireMockLog4NetLogger());
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
settings.Logger.Debug("WireMock.Net server arguments [{0}]", string.Join(", ", args.Select(a => $"'{a}'")));
|
|
||||||
|
|
||||||
_server = WireMockServer.Start(settings);
|
|
||||||
|
|
||||||
//_server
|
|
||||||
// .Given(Request.Create()
|
|
||||||
// .UsingAnyMethod())
|
|
||||||
// .RespondWith(Response.Create()
|
|
||||||
// .WithProxy("https://www.google.com"));
|
|
||||||
|
|
||||||
Console.WriteLine($"{DateTime.UtcNow} Press Ctrl+C to shut down");
|
Console.WriteLine($"{DateTime.UtcNow} Press Ctrl+C to shut down");
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"WireMock.Net.StandAlone.NETCoreApp": {
|
"WireMock.Net.StandAlone.NETCoreApp": {
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"commandLineArgs": "--Urls https://localhost:10080 --WireMockLogger WireMockConsoleLogger"
|
"commandLineArgs": "--Urls http://*:9091"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFrameworks>netcoreapp3.1</TargetFrameworks>
|
<TargetFrameworks>netcoreapp2.1;netcoreapp2.0;netcoreapp1.1</TargetFrameworks>
|
||||||
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
<ApplicationIcon>../../WireMock.Net-Logo.ico</ApplicationIcon>
|
||||||
<StartupObject>WireMock.Net.StandAlone.NETCoreApp.Program</StartupObject>
|
<StartupObject>WireMock.Net.StandAlone.NETCoreApp.Program</StartupObject>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -12,8 +12,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj" />
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj" />
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using System;
|
using log4net;
|
||||||
using log4net;
|
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using WireMock.Admin.Requests;
|
using WireMock.Admin.Requests;
|
||||||
using WireMock.Logging;
|
using WireMock.Logging;
|
||||||
@@ -30,11 +29,6 @@ namespace WireMock.Net.StandAlone.NETCoreApp
|
|||||||
Log.ErrorFormat(formatString, args);
|
Log.ErrorFormat(formatString, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Error(string message, Exception exception)
|
|
||||||
{
|
|
||||||
Log.Error(message, exception);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest)
|
public void DebugRequestResponse(LogEntryModel logEntryModel, bool isAdminRequest)
|
||||||
{
|
{
|
||||||
string message = JsonConvert.SerializeObject(logEntryModel, Formatting.Indented);
|
string message = JsonConvert.SerializeObject(logEntryModel, Formatting.Indented);
|
||||||
|
|||||||
1
examples/WireMock.Net.StandAlone.NETCoreApp/run10.cmd
Normal file
1
examples/WireMock.Net.StandAlone.NETCoreApp/run10.cmd
Normal file
@@ -0,0 +1 @@
|
|||||||
|
dotnet run --framework netcoreapp1.1
|
||||||
1
examples/WireMock.Net.StandAlone.NETCoreApp/run20.cmd
Normal file
1
examples/WireMock.Net.StandAlone.NETCoreApp/run20.cmd
Normal file
@@ -0,0 +1 @@
|
|||||||
|
dotnet run --framework netcoreapp2.0
|
||||||
1
examples/WireMock.Net.StandAlone.NETCoreApp/run21.cmd
Normal file
1
examples/WireMock.Net.StandAlone.NETCoreApp/run21.cmd
Normal file
@@ -0,0 +1 @@
|
|||||||
|
dotnet run --framework netcoreapp2.1
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
|
||||||
using log4net.Config;
|
using log4net.Config;
|
||||||
using WireMock.Server;
|
|
||||||
using WireMock.Settings;
|
|
||||||
|
|
||||||
namespace WireMock.Net.StandAlone.Net452
|
namespace WireMock.Net.StandAlone.Net452
|
||||||
{
|
{
|
||||||
@@ -13,15 +10,10 @@ namespace WireMock.Net.StandAlone.Net452
|
|||||||
{
|
{
|
||||||
XmlConfigurator.Configure(new FileInfo("log4net.config"));
|
XmlConfigurator.Configure(new FileInfo("log4net.config"));
|
||||||
|
|
||||||
if (WireMockServerSettingsParser.TryParseArguments(args, out var settings))
|
StandAloneApp.Start(args);
|
||||||
{
|
|
||||||
settings.Logger.Debug("WireMock.Net server arguments [{0}]", string.Join(", ", args.Select(a => $"'{a}'")));
|
Console.WriteLine("Press any key to stop the server");
|
||||||
|
Console.ReadKey();
|
||||||
WireMockServer.Start(settings);
|
|
||||||
|
|
||||||
Console.WriteLine("Press any key to stop the server");
|
|
||||||
Console.ReadKey();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -70,9 +70,9 @@
|
|||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net.StandAlone\WireMock.Net.StandAlone.csproj">
|
||||||
<Project>{b6269aac-170a-4346-8b9a-579ded3d9a94}</Project>
|
<Project>{b6269aac-170a-43d5-8b9a-579ded3d9a95}</Project>
|
||||||
<Name>WireMock.Net.Abstractions</Name>
|
<Name>WireMock.Net.StandAlone</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
||||||
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
<Project>{d3804228-91f4-4502-9595-39584e5a01ad}</Project>
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Linq.Dynamic.Core" publicKeyToken="0f07ec44de6ac832" culture="neutral" />
|
<assemblyIdentity name="System.Linq.Dynamic.Core" publicKeyToken="0f07ec44de6ac832" culture="neutral" />
|
||||||
<bindingRedirect oldVersion="0.0.0.0-1.0.12.0" newVersion="1.0.12.0" />
|
<bindingRedirect oldVersion="0.0.0.0-1.0.9.0" newVersion="1.0.9.0" />
|
||||||
</dependentAssembly>
|
</dependentAssembly>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using WireMock.RequestBuilders;
|
||||||
using WireMock.Server;
|
using WireMock.ResponseBuilders;
|
||||||
using WireMock.Settings;
|
|
||||||
|
|
||||||
namespace WireMock.Net.StandAlone.Net461
|
namespace WireMock.Net.StandAlone.Net461
|
||||||
{
|
{
|
||||||
@@ -9,15 +8,12 @@ namespace WireMock.Net.StandAlone.Net461
|
|||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
if (WireMockServerSettingsParser.TryParseArguments(args, out var settings))
|
var server = StandAloneApp.Start(args);
|
||||||
{
|
server.Given(Request.Create())
|
||||||
settings.Logger.Debug("WireMock.Net server arguments [{0}]", string.Join(", ", args.Select(a => $"'{a}'")));
|
.RespondWith(Response.Create().WithProxy("http://10.10.66.65"));
|
||||||
|
|
||||||
WireMockServer.Start(settings);
|
Console.WriteLine("Press any key to stop the server");
|
||||||
|
Console.ReadKey();
|
||||||
Console.WriteLine("Press any key to stop the server");
|
|
||||||
Console.ReadKey();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -204,8 +204,8 @@
|
|||||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
<HintPath>..\..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="RestEase, Version=1.4.10.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="RestEase, Version=1.4.7.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\RestEase.1.4.10\lib\net45\RestEase.dll</HintPath>
|
<HintPath>..\..\packages\RestEase.1.4.7\lib\net45\RestEase.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="SimMetrics.Net, Version=1.0.5.0, Culture=neutral, PublicKeyToken=c58dc06d59f3391b, processorArchitecture=MSIL">
|
<Reference Include="SimMetrics.Net, Version=1.0.5.0, Culture=neutral, PublicKeyToken=c58dc06d59f3391b, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\SimMetrics.Net.1.0.5\lib\net45\SimMetrics.Net.dll</HintPath>
|
<HintPath>..\..\packages\SimMetrics.Net.1.0.5\lib\net45\SimMetrics.Net.dll</HintPath>
|
||||||
@@ -225,13 +225,12 @@
|
|||||||
<Reference Include="System.IO.Pipelines, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.IO.Pipelines, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\System.IO.Pipelines.4.5.2\lib\netstandard2.0\System.IO.Pipelines.dll</HintPath>
|
<HintPath>..\..\packages\System.IO.Pipelines.4.5.2\lib\netstandard2.0\System.IO.Pipelines.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Linq.Dynamic.Core, Version=1.0.12.0, Culture=neutral, PublicKeyToken=0f07ec44de6ac832, processorArchitecture=MSIL">
|
<Reference Include="System.Linq.Dynamic.Core, Version=1.0.9.0, Culture=neutral, PublicKeyToken=0f07ec44de6ac832, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\System.Linq.Dynamic.Core.1.0.12\lib\net46\System.Linq.Dynamic.Core.dll</HintPath>
|
<HintPath>..\..\packages\System.Linq.Dynamic.Core.1.0.9\lib\net46\System.Linq.Dynamic.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll</HintPath>
|
<HintPath>..\..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
|
||||||
<Reference Include="System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
<Reference Include="System.Net.Http.Formatting, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.4\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
<HintPath>..\..\packages\Microsoft.AspNet.WebApi.Client.5.2.4\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -280,8 +279,14 @@
|
|||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="XPath2, Version=1.1.0.0, Culture=neutral, PublicKeyToken=463c6d7fb740c7e5, processorArchitecture=MSIL">
|
<Reference Include="WireMock.Net, Version=1.0.4.20, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\..\packages\XPath2.1.1.0\lib\net40\XPath2.dll</HintPath>
|
<HintPath>..\..\packages\WireMock.Net.1.0.4.20\lib\net461\WireMock.Net.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="WireMock.Net.StandAlone, Version=1.0.4.20, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\WireMock.Net.StandAlone.1.0.4.20\lib\net46\WireMock.Net.StandAlone.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="XPath2, Version=1.0.7.0, Culture=neutral, PublicKeyToken=463c6d7fb740c7e5, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\..\packages\XPath2.1.0.6.1\lib\net40\XPath2.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -296,16 +301,6 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net.Abstractions\WireMock.Net.Abstractions.csproj">
|
|
||||||
<Project>{b6269aac-170a-4346-8b9a-579ded3d9a94}</Project>
|
|
||||||
<Name>WireMock.Net.Abstractions</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\..\src\WireMock.Net\WireMock.Net.csproj">
|
|
||||||
<Project>{D3804228-91F4-4502-9595-39584E5A01AD}</Project>
|
|
||||||
<Name>WireMock.Net</Name>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -59,13 +59,13 @@
|
|||||||
<package id="MimeKitLite" version="2.0.7" targetFramework="net461" />
|
<package id="MimeKitLite" version="2.0.7" targetFramework="net461" />
|
||||||
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
|
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
|
||||||
<package id="Owin" version="1.0" targetFramework="net461" />
|
<package id="Owin" version="1.0" targetFramework="net461" />
|
||||||
<package id="RestEase" version="1.4.10" targetFramework="net461" />
|
<package id="RestEase" version="1.4.7" targetFramework="net461" />
|
||||||
<package id="SimMetrics.Net" version="1.0.5" targetFramework="net461" />
|
<package id="SimMetrics.Net" version="1.0.5" targetFramework="net461" />
|
||||||
<package id="System.Buffers" version="4.5.0" targetFramework="net461" />
|
<package id="System.Buffers" version="4.5.0" targetFramework="net461" />
|
||||||
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net461" />
|
<package id="System.Collections.Immutable" version="1.5.0" targetFramework="net461" />
|
||||||
<package id="System.Diagnostics.DiagnosticSource" version="4.5.0" targetFramework="net461" />
|
<package id="System.Diagnostics.DiagnosticSource" version="4.5.0" targetFramework="net461" />
|
||||||
<package id="System.IO.Pipelines" version="4.5.2" targetFramework="net461" />
|
<package id="System.IO.Pipelines" version="4.5.2" targetFramework="net461" />
|
||||||
<package id="System.Linq.Dynamic.Core" version="1.0.12" targetFramework="net461" />
|
<package id="System.Linq.Dynamic.Core" version="1.0.9" targetFramework="net461" />
|
||||||
<package id="System.Memory" version="4.5.1" targetFramework="net461" />
|
<package id="System.Memory" version="4.5.1" targetFramework="net461" />
|
||||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net461" />
|
||||||
<package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net461" />
|
<package id="System.Reflection.Metadata" version="1.6.0" targetFramework="net461" />
|
||||||
@@ -78,5 +78,7 @@
|
|||||||
<package id="System.Security.Principal.Windows" version="4.5.1" targetFramework="net461" />
|
<package id="System.Security.Principal.Windows" version="4.5.1" targetFramework="net461" />
|
||||||
<package id="System.Text.Encodings.Web" version="4.5.0" targetFramework="net461" />
|
<package id="System.Text.Encodings.Web" version="4.5.0" targetFramework="net461" />
|
||||||
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
<package id="System.Threading.Tasks.Extensions" version="4.5.1" targetFramework="net461" />
|
||||||
<package id="XPath2" version="1.1.0" targetFramework="net461" />
|
<package id="WireMock.Net" version="1.0.4.20" targetFramework="net461" />
|
||||||
|
<package id="WireMock.Net.StandAlone" version="1.0.4.20" targetFramework="net461" />
|
||||||
|
<package id="XPath2" version="1.0.6.1" targetFramework="net461" />
|
||||||
</packages>
|
</packages>
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
# Running in IIS
|
|
||||||
|
|
||||||
Follow these links / steps:
|
|
||||||
* https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS
|
|
||||||
* https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/development-time-iis-support?view=aspnetcore-2.1
|
|
||||||
* Create a `web.config` file
|
|
||||||
|
|
||||||
## IIS Sites
|
|
||||||

|
|
||||||
|
|
||||||
## App Pool settings
|
|
||||||

|
|
||||||
|
|
||||||
## Publish Profiles
|
|
||||||
Two example publish profiles are created:
|
|
||||||
* [IIS Localhost 1](./Properties/PublishProfiles/IIS%20Localhost%201.pubxml)
|
|
||||||
* [IIS Localhost 2](./Properties/PublishProfiles/IIS%20Localhost%202.pubxml)
|
|
||||||
|
|
||||||
## Debugging
|
|
||||||
Select the debug "IIS" if you want to debug in IIS.
|
|
||||||

|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using System.Threading;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace WireMock.Net.WebApplication
|
|
||||||
{
|
|
||||||
public class App : IHostedService
|
|
||||||
{
|
|
||||||
private readonly IWireMockService _service;
|
|
||||||
|
|
||||||
public App(IWireMockService service)
|
|
||||||
{
|
|
||||||
_service = service;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task StartAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
_service.Start();
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task StopAsync(CancellationToken cancellationToken)
|
|
||||||
{
|
|
||||||
_service.Stop();
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
namespace WireMock.Net.WebApplication
|
|
||||||
{
|
|
||||||
public interface IWireMockService
|
|
||||||
{
|
|
||||||
void Start();
|
|
||||||
|
|
||||||
void Stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using WireMock.Settings;
|
|
||||||
|
|
||||||
namespace WireMock.Net.WebApplication
|
|
||||||
{
|
|
||||||
public class Program
|
|
||||||
{
|
|
||||||
public static void Main(string[] args)
|
|
||||||
{
|
|
||||||
CreateHostBuilder(args).Build().Run();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static IHostBuilder CreateHostBuilder(string[] args)
|
|
||||||
=> Host.CreateDefaultBuilder(args)
|
|
||||||
.ConfigureServices((host, services) => ConfigureServices(services, host.Configuration));
|
|
||||||
|
|
||||||
private static void ConfigureServices(IServiceCollection services, IConfiguration configuration)
|
|
||||||
{
|
|
||||||
services.AddLogging(logging => logging.AddConsole().AddDebug());
|
|
||||||
|
|
||||||
services.AddTransient<IWireMockService, WireMockService>();
|
|
||||||
services.Configure<WireMockServerSettings>(configuration.GetSection("WireMockServerSettings"));
|
|
||||||
|
|
||||||
services.AddHostedService<App>();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user