Skip to content

Commit 8a2909a

Browse files
Merge branch 'microcks:main' into main
2 parents b406a57 + 4975157 commit 8a2909a

File tree

13 files changed

+199
-63
lines changed

13 files changed

+199
-63
lines changed

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"husky": {
6-
"version": "0.7.1",
6+
"version": "0.7.2",
77
"commands": [
88
"husky"
99
],

.github/workflows/cicd.yml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -63,21 +63,4 @@ jobs:
6363
- build_test
6464
if: ${{ needs.build_test.outputs.publish-package != false && github.actor != 'dependabot[bot]' }}
6565
uses: ./.github/workflows/steps.dotnet-nuget-publish.yml
66-
secrets: inherit
67-
68-
release_drafter:
69-
name: 📖 Draft Release
70-
permissions:
71-
# write permission is required to create a github release
72-
contents: write
73-
# write permission is required for autolabeler
74-
# otherwise, read permission is required at least
75-
pull-requests: read
76-
if: ${{ needs.build_test.outputs.publish-package != false && github.actor != 'dependabot[bot]' && !needs.version.outputs.preReleaseTag }}
77-
needs:
78-
- version
79-
- nuget_publish
80-
uses: ./.github/workflows/steps.github-release-draft.yml
81-
with:
82-
version: ${{ needs.version.outputs.version }}
83-
secrets: inherit
66+
secrets: inherit

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ jobs:
2222
id-token: write
2323
steps:
2424
- name: Checkout Code
25-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #v5.0.0
2626
with:
2727
ssh-key: ${{ secrets.RELEASE_DEPLOY_KEY }}
2828
lfs: true
2929
fetch-depth: 0
3030
ref: ${{ github.event.inputs.branch }}
3131

3232
- name: 🛠️ Setup .NET
33-
uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 #v4.3.1
33+
uses: actions/setup-dotnet@d4c94342e560b34958eacfc5d055d21461ed1c5d #v5.0.0
3434
with:
3535
global-json-file: global.json
3636

.github/workflows/stale-issues-prs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
name: Mark issue or PR as stale
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # To pin v9.1.0
20+
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # To pin v10.0.0
2121
with:
2222
repo-token: ${{ secrets.GITHUB_TOKEN }}
2323
stale-issue-message: |
@@ -46,4 +46,4 @@ jobs:
4646
stale-pr-label: stale
4747
exempt-issue-labels: keep-open
4848
exempt-pr-labels: keep-open
49-
close-issue-reason: not_planned
49+
close-issue-reason: not_planned

.github/workflows/steps.dotnet-nuget-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
runs-on: ${{ inputs.runs-on }}
1717
steps:
1818
- name: 📥 Download artifact
19-
uses: actions/download-artifact@v4
19+
uses: actions/download-artifact@v5
2020
with:
2121
name: nugets_${{ inputs.runs-on }}
2222
path: nuget_packages

.github/workflows/steps.dotnet-version.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
majorMinorPatch:
1616
description: 'majorMinorPatch (gitversion)'
1717
value: ${{ jobs.define_version.outputs.majorMinorPatch }}
18-
permissions: read-all
18+
permissions:
19+
contents: read
1920

2021
jobs:
2122
define_version:

.github/workflows/steps.github-release-draft.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

ADOPTERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,4 @@ This document also lists the organizations using Microcks based on public inform
4545
|[Michelin](https://www.michelin.fr/) | [Alex Picarle](https://github.com/AlexP63) | `End-User` | We use Microcks to elaborate our PoCs, to offer api sandbox or discovery trials and overall promote #DesignFirst approach.|
4646
|[Amway](https://www.amway.com/) | [Brian Hibma](https://www.linkedin.com/in/brianhibma/) [Sai Bommakanti](https://www.linkedin.com/in/saiabhinay-bommakanti-31014943/) | `end user` | We use Microcks primarily as a platform for API and Event mocking and discovery, integrating it into our DevOps and CI/CD practices, and unblocking parallel, contract-based development from teams. |
4747
|[BITMARCK](https://www.bitmarck.de) | [Michael Goll](https://github.com/goll-michael) | `end user` | We use Microcks to mock the APIs that correspond to the generated or manually created OpenAPI contracts.|
48+
|[Agile Actors](https://www.agileactors.com/) | [Stelios Gkiokas](https://github.com/sgkiokas) | `Consultancy` | Microcks is used for speeding up the development time of multiple microservices, both locally and on CI, by leveraging the ability of auto-generating (dynamic) mocks via OpenAPI specs, gRPC contracts and GraphQL schemas in our case. We managed to bridge the gap we had in our client between developers, SETs and Manual QAs in the best possible manner.|

README.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ The list of supported features is the following:
232232
- Mocking and contract-testing of GraphQL APIs,
233233
- Mocking and contract-testing of gRPC APIs.
234234

235-
To support features like Asynchronous contract-testing, we introduced `MicrocksContainersEnsemble` that allows managing
235+
To support features like Asynchronous API and `POSTMAN`contract-testing, we introduced `MicrocksContainersEnsemble` that allows managing
236236
additional Microcks services. `MicrocksContainersEnsemble` allow you to implement
237237
[Different levels of API contract testing](https://medium.com/@lbroudoux/different-levels-of-api-contract-testing-with-microcks-ccc0847f8c97)
238238
in the Inner Loop with Testcontainers!
@@ -242,7 +242,8 @@ You can create and build an ensemble that way:
242242

243243
```csharp
244244
MicrocksContainersEnsemble ensemble = new MicrocksContainerEnsemble(network, MicrocksImage)
245-
.WithMainArtifacts("pastry-orders-asyncapi.yml");
245+
.WithMainArtifacts("apipastries-openapi.yaml")
246+
.WithSecondaryArtifacts("apipastries-postman-collection.json");
246247

247248
await ensemble.StartAsync();
248249
```
@@ -265,6 +266,29 @@ MicrocksContainersEnsemble ensemble = new MicrocksContainerEnsemble(network, Mic
265266
await ensemble.StartAsync();
266267
```
267268

269+
#### Postman contract-testing
270+
271+
On this `ensemble` you may want to enable additional features such as Postman contract-testing:
272+
273+
```csharp
274+
ensemble.WithPostman();
275+
await ensemble.StartAsync();
276+
```
277+
278+
You can execute a `POSTMAN` test using an ensemble that way:
279+
280+
```csharp
281+
var testRequest = new TestRequest
282+
{
283+
ServiceId = "API Pastries:0.0.1",
284+
RunnerType = TestRunnerType.POSTMAN,
285+
TestEndpoint = "http://good-impl:3003",
286+
Timeout = TimeSpan.FromSeconds(3)
287+
};
288+
289+
TestResult testResult = await _ensemble.MicrocksContainer.TestEndpointAsync(testRequest);
290+
```
291+
268292
#### Asynchronous API support
269293

270294
Asynchronous API feature needs to be explicitly enabled as well.

src/Microcks.Testcontainers/Microcks.Testcontainers.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<ItemGroup>
88
<PackageReference Include="Testcontainers" Version="4.0.0" />
99
<PackageReference Include="System.Net.Http.Json" Version="8.0.1" />
10-
<PackageReference Include="Microsoft.Sbom.Targets" Version="4.0.2">
10+
<PackageReference Include="Microsoft.Sbom.Targets" Version="4.1.2">
1111
<PrivateAssets>all</PrivateAssets>
1212
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
1313
</PackageReference>

0 commit comments

Comments
 (0)