-
-
Notifications
You must be signed in to change notification settings - Fork 183
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: add initial C# runtime testing (#1481)
add initial setup
- Loading branch information
1 parent
1cb0783
commit 627ed97
Showing
10 changed files
with
577 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Runtime Testing C# Models | ||
on: | ||
push: | ||
pull_request: | ||
types: [opened, synchronize, reopened, ready_for_review] | ||
paths: | ||
- 'src/generators/csharp/**' | ||
- 'test/runtime/runtime-csharp/**' | ||
- 'test/runtime/**csharp**' | ||
|
||
jobs: | ||
test: | ||
name: Runtime Testing C# Models | ||
if: "github.event.pull_request.draft == false &&!((github.actor == 'asyncapi-bot' && startsWith(github.event.pull_request.title, 'ci: update global workflows')) || (github.actor == 'asyncapi-bot' && startsWith(github.event.pull_request.title, 'chore(release):')) || (github.actor == 'allcontributors' && startsWith(github.event.pull_request.title, 'docs: add')))" | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v3 | ||
- name: Check package-lock version | ||
uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master | ||
id: lockversion | ||
- name: Setup Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: "${{ steps.lockversion.outputs.version }}" | ||
cache: 'npm' | ||
cache-dependency-path: '**/package-lock.json' | ||
- if: matrix.os != 'windows-latest' | ||
name: Setup dotnet | ||
uses: actions/setup-dotnet@v1 | ||
with: | ||
dotnet-version: '6.0.x' | ||
- if: matrix.os == 'windows-latest' | ||
name: Setup csc.exe | ||
uses: yoavain/Setup-CSC@v7 | ||
- name: Build library | ||
run: npm install && npm run build:prod | ||
- name: Generate C# models | ||
run: npm run generate:runtime:csharp | ||
- name: Run runtime tests | ||
run: npm run test:runtime:csharp | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
import { execCommand } from '../blackbox/utils/Utils'; | ||
import path from 'path'; | ||
|
||
jest.setTimeout(50000); | ||
|
||
test('C# runtime testing', async () => { | ||
const compileCommand = `cd ${path.resolve( | ||
__dirname, | ||
'./runtime-csharp' | ||
)} && dotnet test runtime-csharp`; | ||
await execCommand(compileCommand); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import { CSHARP_JSON_SERIALIZER_PRESET, CSharpFileGenerator } from '../../'; | ||
import path from 'path'; | ||
import input from './generic-input.json'; | ||
|
||
const generator = new CSharpFileGenerator({ | ||
presets: [CSHARP_JSON_SERIALIZER_PRESET] | ||
}); | ||
|
||
generator.generateToFiles( | ||
input, | ||
path.resolve( | ||
// eslint-disable-next-line no-undef | ||
__dirname, | ||
'./runtime-csharp/runtime-csharp/src/models/json_serializer' | ||
), | ||
{ namespace: 'com.mycompany.app.generic' } | ||
); |
Oops, something went wrong.