elastic / elastic-package

elastic-package - Command line tool for developing Elastic Integrations
Other
49 stars 113 forks source link

elastic-package system tests should be a little more flexible, not require external service containers #449

Open fearful-symmetry opened 3 years ago

fearful-symmetry commented 3 years ago

This is an extension of https://github.com/elastic/integrations/pull/1358

The system/linux integrations are a bit odd in that they don't require any kind of external service container, and 90% of the data streams can be tested by just pointing metricbeat at a spoofed procfs root. As it stands now, elastic-package test system seems to require an external container for running a service, which is a tad inconvenient. Going forward, we should have some built-in system in the test definition that:

ycombinator commented 3 years ago

Came to this repo to file a bug report and noticed this issue so decided to make a drive-by comment. 😅 👋

Yep, this enhancement is in line with the original design for elastic-package test system. In the original design, we had imagined a SystemServiceDeployer or NoopServiceDeployer service deployer (in the same family as the DockerComposeServiceDeployer, TerraformServiceDeployer, or KubernetesServiceDeployer). This new service deployer's SetUp method would essential perform no side-effecting setup and probably just set up context variables that can be referenced from the system test configuration(s).

Hope that helps. If it doesn't, please feel free to totally disregard and sorry for the noise!