Skip to content

Conversation

@moxarth-rathod
Copy link
Contributor

@moxarth-rathod moxarth-rathod commented Dec 23, 2025

Proposed commit message

This PR adds system tests for previously untested input types in integrations. Some integrations
support multiple input types (e.g., cloud-based and API-based), but system tests were missing
for some of these inputs. 

The following integrations now include system tests for the missing input types:

- add httpjson system test:
blacklens

- add CEL system test:
checkpoint_harmony_endpoint

- add AWS system test:
cloudflare_logpush

- add azure blob storage system test:
symantec_enpoint_security

- add GCS system test:
cloudflare_logpush
symantec_enpoint_security

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Related issues

@moxarth-rathod moxarth-rathod self-assigned this Dec 23, 2025
@moxarth-rathod moxarth-rathod added the enhancement New feature or request label Dec 23, 2025
@moxarth-rathod moxarth-rathod requested a review from a team as a code owner December 23, 2025 09:17
@moxarth-rathod moxarth-rathod added Integration:cloudflare_logpush Cloudflare Logpush Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Integration:symantec_endpoint_security Symantec Endpoint Security Integration:checkpoint_harmony_endpoint Check Point Harmony Endpoint Integration:blacklens blacklens.io (Community supported) Team:Sit-Crest Crest developers on the Security Integrations team [elastic/sit-crest-contractors] labels Dec 23, 2025
@elasticmachine
Copy link

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@kcreddy kcreddy self-requested a review December 26, 2025 05:39
@@ -1,3 +1,4 @@
deployer: tf
Copy link
Contributor

@kcreddy kcreddy Dec 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you fix indentation of assert.hit_count on this file?
Also add another event and update assert.hit_count: 2 (other inputs too)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@moxarth-rathod, this still holds. Can you update it?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kcreddy done.

Comment on lines +33 to +35
type: flattened
- name: storage
type: flattened
Copy link
Contributor

@kcreddy kcreddy Dec 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you check azure* integrations and add explicit mappings here instead of flattened?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran into an issue during the elastic package check because adding the required fields in the Beats YAML for system tests pushed the total field count beyond the 2048 limit. To resolve this, I had to flatten some of the fields.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could increase the total_fields.limit setting inside the manifest.yml to get around this: Example

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the suggestion. I tried increasing the total_fields.limit setting in the manifest.yml, but it did not have the intended effect and the issue still persists.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May I know the full error you are getting?

Copy link
Contributor

@kcreddy kcreddy Dec 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@moxarth-rathod, I just tested your latest commit with total_fields.limit setting as follows:

elasticsearch:
  index_template:
    settings:
      index:
        mapping:
          total_fields:
            limit: 3000

and updated beats.yml to reflect all fields:

- name: azure
  type: group
  fields:
    - name: storage
      type: group
      fields:
        - name: container.name
          type: keyword
          multi_fields:
            - name: text
              type: text
          description: The name of the Azure Blob Storage container
        - name: blob.name
          type: keyword
          description: The name of the Azure Blob Storage blob object
          multi_fields:
            - name: text
              type: text
        - name: blob.content_type
          type: keyword
          description: The content type of the Azure Blob Storage blob object
    - name: subscription_id
      type: keyword
      description: |
        Azure subscription ID
    - name: correlation_id
      type: keyword
      description: |
        Correlation ID
    - name: tenant_id
      type: keyword
      description: |
        tenant ID
    - name: resource
      type: group
      fields:
        - name: id
          type: keyword
          description: |
            Resource ID
        - name: group
          type: keyword
          description: |
            Resource group
        - name: provider
          type: keyword
          description: |
            Resource type/namespace
        - name: namespace
          type: keyword
          description: |
            Resource type/namespace
        - name: name
          type: keyword
          description: |
            Name
        - name: authorization_rule
          type: keyword
          description: |
            Authorization rule

And I got all tests passed

--- Test results for package: symantec_endpoint_security - START ---
╭────────────────────────────┬─────────────┬───────────┬───────────┬────────┬───────────────╮
│ PACKAGE                    │ DATA STREAM │ TEST TYPE │ TEST NAME │ RESULT │  TIME ELAPSED │
├────────────────────────────┼─────────────┼───────────┼───────────┼────────┼───────────────┤
│ symantec_endpoint_security │ event       │ system    │ azure     │ PASS   │ 52.463933958s │
│ symantec_endpoint_security │ event       │ system    │ default   │ PASS   │  2m5.3946485s │
│ symantec_endpoint_security │ event       │ system    │ gcs       │ PASS   │ 46.601027458s │
╰────────────────────────────┴─────────────┴───────────┴───────────┴────────┴───────────────╯
--- Test results for package: symantec_endpoint_security - END   ---
Done

Could it be that you are setting this value to low value, say 2000?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue is not related to the system tests. It occurs during the package build process, elastic-package check command still reports the same error.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is coming from package-spec. I will create an issue for this. Thanks!
For now you can make them flattened.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@kcreddy
Copy link
Contributor

kcreddy commented Dec 26, 2025

@ShourieG, can you please review GCS mock service used in the system tests?

@kcreddy kcreddy requested a review from ShourieG December 26, 2025 12:40
Copy link
Contributor

@ShourieG ShourieG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for now, I will create a docker image for the mock service and upload to docker registry soon, after that we can remove the redundant mock service code from all the packages and use the image directly

Copy link
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Waiting on #16675 (comment)

@elasticmachine
Copy link

💚 Build Succeeded

History

cc @moxarth-rathod

@moxarth-rathod moxarth-rathod merged commit e87561a into elastic:main Jan 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Integration:blacklens blacklens.io (Community supported) Integration:checkpoint_harmony_endpoint Check Point Harmony Endpoint Integration:cloudflare_logpush Cloudflare Logpush Integration:symantec_endpoint_security Symantec Endpoint Security Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Team:Sit-Crest Crest developers on the Security Integrations team [elastic/sit-crest-contractors]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants