# Copyright The OpenTelemetry Authors # SPDX-License-Identifier: Apache-2.0 type: Test spec: id: payment-valid-credit-card name: "Payment: valid credit card" description: Charge customer with a valid credit card trigger: type: grpc grpc: protobufFile: ../../../pb/demo.proto address: ${var:PAYMENT_ADDR} method: oteldemo.PaymentService.Charge request: |- { "amount": { "currencyCode": "USD", "units": 43, "nanos": 130000000 }, "creditCard": { "creditCardNumber": "4432-8015-6152-0454", "creditCardCvv": 672, "creditCardExpirationYear": 2039, "creditCardExpirationMonth": 1 } } specs: - name: It should call Charge method successfully selector: span[tracetest.span.type="rpc" name="grpc.oteldemo.PaymentService/Charge" rpc.system="grpc" rpc.method="Charge" rpc.service="oteldemo.PaymentService"] # instead of returning status_code 0, this service can return 1 depending on timing, but it works as intended assertions: # updating assertion to match 0 and 1 - attr:rpc.grpc.status_code <= 1 - name: It should return a transaction ID selector: span[tracetest.span.type="general" name="Tracetest trigger"] assertions: - attr:tracetest.response.body | json_path '$.transactionId' != ""