@autorest/testmodeler

2.6.1 • Public • Published

Autorest Extension for Test Modeler

Generate *.md config files in Azure REST API specification:

https://github.com/Azure/azure-rest-api-specs

How to Generate Test Model

autorest --version=3.7.3 --use=<test model extension> --output-folder=<RP package path> --testmodeler.export-codemodel --clear-output-folder=false --debug <RP config md file path>

Contribution

The testmodeler use rush managing the projects. So if there is changes on package.json, remember to execute rush update updated.

> rush update

Configurations

Below are options can be used for autorest.testmodeler

--debug

Generate modeler files in [output-foler]/__debuger for debug purpose.

--testmodeler.mock.send-example-id

In generated mock test, send swagger example-id to mock service host in each request. This implicitly ask the mock service host to verify request body by swagger example content. Default true.

--testmodeler.mock.verify-response

In generated mock test, response value will be verified with the example files. Default true.

--testmodeler.mock.disabled-examples

This is an array parameter can be assigned in autorest readme file. For instance, examples Extensions_Get and Extensions_Delete will not be used in mock test generation with below configuration.

testmodeler:
    mock:
        disabled-examples:
            - Extensions_Get
            - Extensions_Delete

--testmodeler.scenario.variable-defaults.location

Set location used in scenario test, for instance:

testmodeler:
    scenario:
        variable-defaults:
            location: eastus

--testmodeler.scenario.codemodel-restcall-only

If there is no 'test-resources' defined in readme file and the readme is located in local file system, testmodeler will search all available api-scenario and try to load them as test scenario. In this context, option codemodel-restcall-only defined whether testmodeler abandon api-scenarios who contains restcall steps that can't be linked to an operation in codemodel.

The default value of this option is true.

--testmodeler.use-example-model

This option switch whether ExampleModel in generated in test model. While default to be true, it can be disabled like below:

testmodeler:
    use-example-model: false

--testmodeler.add-armtemplate-payload-string

This option switch whether StepArmTemplateModel.armTemplatePayloadString is added into testmodeler. While default to be false, it can be enabled like below:

testmodeler:
    add-armtemplate-payload-string: true

--testmodeler.api-scenario-loader-option

The api-scenarios are loaded from the autorest input-files by default. This option provide a gate to load api-scenario from other remote/branch/commit. This option are passed through directly to oav scenario loader, refer to https://github.com/Azure/oav/blob/develop/lib/apiScenario/apiScenarioLoader.ts#L60 for more detail of it. A sample for this option:

testmodeler:
    api-scenario-loader-option:
        fileRoot: https://github.com/Azure/azure-rest-api-specs/blob/eb829ed4739fccb03dd2327b7762392e74c80ae4/specification/appplatform/resource-manager
        swaggerFilePaths:
          - 'Microsoft.AppPlatform/preview/2020-11-01-preview/appplatform.json'

--test-resources

The list of api-scenarios want to get loaded into testmodeler. Below is a sample:

test-resources:
    - test: Microsoft.AppPlatform/preview/2020-11-01-preview/scenarios/Spring.yaml

--testmodeler.export-explicit-type

Whether to export codemodel with tags on primitive types, default as false. Demonstrate on the output values:

// with primitive types:
isDataAction: !!bool false
count: !!int 64


// with no types:
isDataAction: false
count: 64

--testmodeler.explicit-types

A list for types need to explicitly tagged when export-explicit-type is true. The default explicitTypes are ['bool', 'int', 'float', 'timestamp']. Test generators can change it like below:

testmodeler:
    explicit-types:
        - bool
        - int
        - float

Autorest Pipeline Configurations

clear-output-folder: false

try-require:
    - ./readme.test.md
    - ./readme.testmodeler.md

version: 3.9.3

use-extension:
  "@autorest/modelerfour" : "4.25.0"

pipeline:
    test-modeler:
        input: modelerfour/identity
        output-artifact: source-file-test-modeler
    testmodeler/emitter:
        input: test-modeler
        scope: scope-testmodeler/emitter

scope-testmodeler/emitter:
    input-artifact:
        - source-file-test-modeler
    output-uri-expr: $key
    
testmodeler:
    split-parents-value: true
testmodeler:
    export-codemodel: true

Readme

Keywords

Package Sidebar

Install

npm i @autorest/testmodeler

Weekly Downloads

11,907

Version

2.6.1

License

MIT

Unpacked Size

8.75 MB

Total Files

17

Last publish

Collaborators

  • microsoft1es
  • azure-powershell
  • azure-sdk