Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2025.1

...

  • gRPC 1.0.0 or later
  • Parasoft SOAtest 20202022.1 or later

Installation

This artifact can be installed from the UI or the command line.

...

You can configure message client tools (for example, Messaging Client and ProtoBuf Client) to use the gRPC Transport by enabling it in the tool's Transport tab. Choose gRPC tab. Choose Custom Extension from the Transport menu and configure the available options.

Image Removed

If your system has more than one custom extension, choose , then gRPC from the Select implementation menu. 

Image Added

Configuration

The configuration settings are broken up into the following groups:

  • Connection
  • Transport Layer Security
  • Call
  • Metadata Custom Headers
  • Streaming
  • Logging
  • Connection Management

There are five groups of settings to configure: Connection, Streaming, Logging, and Connection Management. Each group is described below.  

...

HostSpecify the host name for the gRPC server.
Port

Specify the port on the host specified above. Value must be between 1 and 65535.

Transport Layer Security Settings

Scroll Table Layout
widths30%,70%

Auth Mechanism

Specify the authorization mechanism you want to use to connect to the gRPC server. Options are SSL and insecure.

Default is insecure.

Trust Certificate File

Specify the path to a certificate file in PEM format that identifies the gRPC server. This is required for gRPC servers with self-signed certificates. Leave this field blank to use the system trust store for gRPC servers with a public certificate from a root authority.

This field is ignored when the Auth Mechanism is set to insecure.

Call Settings

Scroll Table Layout
widths30%,70%

Service Name

Specify the name of the gRPC service to call.

Method NameSpecify the name of the gRPC method to call.
Access TokenSpecify the access token to use with each call. If no access token is needed, leave this field blank.
Expected Status Codes

Specify one or more status codes that are expected to be returned. You can enter either the number or text name for a code. For example, you can enter "3" or "INVALID_ARGUMENT" if the expected result is that the client will specify an invalid argument. Specify single codes and/or code ranges as a comma-separated list. For example, if you specify "0, 3-5", then codes 0, 3, 4, and 5 will be accepted. You cannot mix numbers and text names when specifying a range, but you can use both when using a name for a single code (in the previous example, "OK, 3-5" would work the same).

See gRPC status codes for a full list of available codes.

Default is 0.

Metadata Custom Headers Settings

Scroll Table Layout
widths30%,70%

Key 1 - 4

Specify the key for the custom header to send in the metadata of each gRPC call. Up to four custom headers are allowed. The key you specify should have a corresponding value.

Keys are case insensitive and cannot start with the prefix grpc-. Keys for binary values must end with suffix -bin.

Value 1 - 4

Specify the value for the custom header to send in the metadata of each gRPC call. Up to four custom headers are allowed. The value you specify should have a corresponding key. Binary values must be base64 encoded.

Streaming Settings

Scroll Table Layout
widths30%,70%

Call ID

Enter the call ID used to switch between multiple open gRPC calls.

Default is <default>

Mode

Specify the streaming mode. Options are:

  • unary - No streaming.  Send a single request and wait for a single response.
  • send - Stream one client request without waiting for any response.
  • receive - Wait for the next response from the server stream without sending any request.

Default is unary

Notification

Specify a notification type. Options are:

  • next - Send or receive the next message on the stream.
  • error - Send a client error or check for an expected server error.
  • completed - Notify that the client stream has completed or check if the server stream has completed.

Default is next

Transport Layer Security Settings

Scroll Table Layout
widths30%,70%

Auth Mechanism

Specify the authorization mechanism you want to use to connect to the gRPC server. Options are SSL and insecure.

Default is insecure.

Trust Certificate File

Specify the path to a certificate file in PEM format that identifies the gRPC server. This is required for gRPC servers with self-signed certificates. Leave this field blank to use the system trust store for gRPC servers with a public certificate from a root authority.

This field is ignored when the Auth Mechanism is set to insecure.

Logging Settings

Scroll Table Layout
widths30%,70%

...

Keep connection alive

Enable this option to keep the gRPC channel alive and reused for subsequent calls.

Close connection after test execution

Enable this option to shutdown shut down the gRPC channel after all calls have completed.

...

Multiple messaging clients (or Protobuf ProtoBuf clients) are needed to test the other three gRPC method types for streaming. In each case the client requests and server responses are decoupled. Tools that are configured to send will not have any response payload and tools that are configured to receive will ignore the request payload. It is also necessary to send the completed notification from SOAtest after sending requests, even for server streaming method types that only take one request message. A tool configured to receive the completed notification will wait for that event or report an error if another response message is received. This allows SOAtest to consume a dynamic number of response messages from a gRPC stream by checking if the stream has completed inside of a looping test suite.

Change Log

1.1

  • Reorganized configuration sections
  • Token-based authentication in gRPC call credentials
  • Send gRPC metadata custom headers and show in traffic viewer

1.0

  • Initial release

Third-Party Content

This extension includes items that have been sourced from third parties as outlined below.

...