---
setup:
- skip:
    features:
    - "headers"
    - "allowed_warnings_regex"
- do:
    indices.create:
      index: "airline-data"
      body:
        mappings:
          properties:
            time:
              type: "date"
            airline:
              type: "keyword"
            responsetime:
              type: "float"
            event_rate:
              type: "integer"
    headers:
      Content-Type: "application/vnd.elasticsearch+json;compatible-with=8"
      Accept: "application/vnd.elasticsearch+json;compatible-with=8"
    allowed_warnings_regex:
    - ".*rollup functionality will be removed in Elasticsearch.*"
    - "Index \\[\\.profiling-.*\\] name begins with a dot.* and will not be allowed\
      \ in a future Elasticsearch version."
    - "Parameter \\[default_metric\\] is deprecated and will be removed in a future\
      \ version"
- do:
    transform.put_transform:
      transform_id: "airline-transform-stats-continuous"
      body: "{\n  \"source\": { \"index\": \"airline-data\" },\n  \"dest\": { \"index\"\
        : \"airline-data-by-airline-stats-continuous\" },\n  \"pivot\": {\n    \"\
        group_by\": { \"airline\": {\"terms\": {\"field\": \"airline\"}}},\n    \"\
        aggs\": {\"avg_response\": {\"avg\": {\"field\": \"responsetime\"}}}\n  },\n\
        \  \"sync\": { \"time\": { \"field\": \"time\", \"delay\": \"1m\" } }\n}\n"
    headers:
      Content-Type: "application/vnd.elasticsearch+json;compatible-with=8"
      Accept: "application/vnd.elasticsearch+json;compatible-with=8"
    allowed_warnings_regex:
    - ".*rollup functionality will be removed in Elasticsearch.*"
    - "Index \\[\\.profiling-.*\\] name begins with a dot.* and will not be allowed\
      \ in a future Elasticsearch version."
    - "Parameter \\[default_metric\\] is deprecated and will be removed in a future\
      \ version"
- do:
    transform.start_transform:
      transform_id: "airline-transform-stats-continuous"
    headers:
      Content-Type: "application/vnd.elasticsearch+json;compatible-with=8"
      Accept: "application/vnd.elasticsearch+json;compatible-with=8"
    allowed_warnings_regex:
    - ".*rollup functionality will be removed in Elasticsearch.*"
    - "Index \\[\\.profiling-.*\\] name begins with a dot.* and will not be allowed\
      \ in a future Elasticsearch version."
    - "Parameter \\[default_metric\\] is deprecated and will be removed in a future\
      \ version"
---
teardown:
- skip:
    features:
    - "headers"
    - "allowed_warnings_regex"
- do:
    transform.stop_transform:
      wait_for_checkpoint: false
      transform_id: "airline-transform-stats-continuous"
      wait_for_completion: true
    headers:
      Content-Type: "application/vnd.elasticsearch+json;compatible-with=8"
      Accept: "application/vnd.elasticsearch+json;compatible-with=8"
    allowed_warnings_regex:
    - ".*rollup functionality will be removed in Elasticsearch.*"
    - "Index \\[\\.profiling-.*\\] name begins with a dot.* and will not be allowed\
      \ in a future Elasticsearch version."
    - "Parameter \\[default_metric\\] is deprecated and will be removed in a future\
      \ version"
- do:
    transform.delete_transform:
      transform_id: "airline-transform-stats-continuous"
    headers:
      Content-Type: "application/vnd.elasticsearch+json;compatible-with=8"
      Accept: "application/vnd.elasticsearch+json;compatible-with=8"
    allowed_warnings_regex:
    - ".*rollup functionality will be removed in Elasticsearch.*"
    - "Index \\[\\.profiling-.*\\] name begins with a dot.* and will not be allowed\
      \ in a future Elasticsearch version."
    - "Parameter \\[default_metric\\] is deprecated and will be removed in a future\
      \ version"
---
Test get continuous transform stats:
- do:
    transform.get_transform_stats:
      transform_id: "airline-transform-stats-continuous"
    headers:
      Content-Type: "application/vnd.elasticsearch+json;compatible-with=8"
      Accept: "application/vnd.elasticsearch+json;compatible-with=8"
    allowed_warnings_regex:
    - ".*rollup functionality will be removed in Elasticsearch.*"
    - "Index \\[\\.profiling-.*\\] name begins with a dot.* and will not be allowed\
      \ in a future Elasticsearch version."
    - "Parameter \\[default_metric\\] is deprecated and will be removed in a future\
      \ version"
- match:
    count: 1
- match:
    transforms.0.id: "airline-transform-stats-continuous"
- match:
    transforms.0.state: "/started|indexing/"
- lte:
    transforms.0.checkpointing.last.checkpoint: 1
- is_true: "transforms.0.node"
- is_true: "transforms.0.node.id"
- is_true: "transforms.0.node.name"
- is_true: "transforms.0.node.ephemeral_id"
- is_true: "transforms.0.node.transport_address"
- lte:
    transforms.0.stats.pages_processed: 1
- match:
    transforms.0.stats.documents_processed: 0
- match:
    transforms.0.stats.documents_indexed: 0
- lte:
    transforms.0.stats.trigger_count: 1
- match:
    transforms.0.stats.index_time_in_ms: 0
- match:
    transforms.0.stats.index_total: 0
- match:
    transforms.0.stats.index_failures: 0
- gte:
    transforms.0.stats.search_time_in_ms: 0
- lte:
    transforms.0.stats.search_total: 1
- match:
    transforms.0.stats.search_failures: 0
- is_true: "transforms.0.stats.exponential_avg_checkpoint_duration_ms"
- match:
    transforms.0.stats.exponential_avg_documents_indexed: 0.0
- match:
    transforms.0.stats.exponential_avg_documents_processed: 0.0
