# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This file is used to show how to write configuration files and can be used to test.

  cases:
    # service list
    - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
      expected:  expected/service.yml
    - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance ls --service-name=APISIX::showcase-apisix-service
      expected:  expected/instance.yml
    # service metrics
    - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics exec --expression='aggregate_labels(meter_apisix_sv_http_connections,sum(state))' --service-name=APISIX::showcase-apisix-service
      expected: expected/metrics-has-connection-value-label.yml
    # instance metrics
    - query: |
        swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics exec --expression=meter_apisix_instance_http_status_matched --service-name=APISIX::showcase-apisix-service --instance-name=$(
              swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance ls --service-name=APISIX::showcase-apisix-service |yq e '.[0].name' -
        )
      expected: expected/metrics-has-status-value-label.yml
    # endpoint metrics
    - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics exec --expression='aggregate_labels(meter_apisix_endpoint_http_latency,avg(type,p))' --endpoint-name='route/routes#1' --service-name=APISIX::showcase-apisix-service
      expected: expected/metrics-has-latency-value-label.yml
