newe2e

package module
v0.59.0-devel Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

README

E2E Tests

This folder contains tests and utilities to write and run agent end to end tests based on Pulumi.

Documentation

See https://pkg.go.dev/github.com/DataDog/datadog-agent/test/new-e2e@main/pkg/utils/e2e.

Development in VSCode

This is a sub-module within datadog-agent. VSCode will complain about the multiple go.mod files. While waiting for a full repo migration to go workspaces, create a go workspace file and add test/new-e2e to workspaces

go work init
go work use . ./test/new-e2e

Use VsCode tasks to wrap aws-vault

The agent-sandbox: test current file can be used to launch test on a file without having to launch the whole VsCode wrapped by aws-vault exec. To use it copy the .template files in .vscode and remove the .template extension. You need to open the new-e2e folder

Note > go.work file is currently ignored in datadog-agent

Running new-e2e tests locally

/!\ When running your tests locally it will run tests with the latest stable version of the agent, not with the changes you have locally. Because running the test requires a complete build of the agent. As a workaround, you can run tests against the version of the agent built in an already run pipeline, to do it simply add the environment variable E2E_PIPELINE_ID=<pipeline-id> to the command you use to run tests

Installer tests

Installer tests are tests owned by Agent Delivery. They mostly test the installation of the agent on different platforms with different methods. These tests are defined in ./tests/agent-platform. The following are considered as installer tests:

  • ./tests/agent-platform/install-script: Test the installation of the agent using the install script
  • ./tests/agent-platform/step-by-step: Test the installation of the agent without the install script, following the manual installation described on the official documentation (for example)
  • ./tests/agent-platform/upgrade: Test the upgrade of the agent using the install script

All these tests can be executed locally with the following command:

inv new-e2e-tests.run --targets <test folder path> --osversion '<comma separated os version list>' --platform '<debian/centos/suse/ubuntu>' --arch <x86_64/arm64>

The available os versions can be found in the file ./tests/agent-platform/platforms/platforms.json

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
components
Package components contains the definitions of the different components that can be used in a test.
Package components contains the definitions of the different components that can be used in a test.
components/datadog-installer
Package installer defines a Pulumi component for installing the Datadog Installer on a remote host in the provisioning step.
Package installer defines a Pulumi component for installing the Datadog Installer on a remote host in the provisioning step.
e2e
Package e2e provides the API to manage environments and organize E2E tests.
Package e2e provides the API to manage environments and organize E2E tests.
environments
Package environments contains the definitions of the different environments that can be used in a test.
Package environments contains the definitions of the different environments that can be used in a test.
environments/aws/docker
Package awsdocker contains the definition of the AWS Docker environment.
Package awsdocker contains the definition of the AWS Docker environment.
environments/aws/ecs
Package ecs contains the definition of the AWS ECS environment.
Package ecs contains the definition of the AWS ECS environment.
environments/aws/host
Package awshost contains the definition of the AWS Host environment.
Package awshost contains the definition of the AWS Host environment.
environments/aws/host/windows
Package winawshost contains the definition of the AWS Windows Host environment.
Package winawshost contains the definition of the AWS Windows Host environment.
environments/aws/kubernetes
Package awskubernetes contains the provisioner for the Kubernetes based environments
Package awskubernetes contains the provisioner for the Kubernetes based environments
environments/azure/host/linux
Package azurehost contains the definition of the Azure Host environment.
Package azurehost contains the definition of the Azure Host environment.
environments/azure/host/windows
Package winazurehost contains the definition of the Azure Windows Host environment.
Package winazurehost contains the definition of the Azure Windows Host environment.
environments/azure/kubernetes
Package azurekubernetes contains the provisioner for Azure Kubernetes Service (AKS)
Package azurekubernetes contains the provisioner for Azure Kubernetes Service (AKS)
environments/local/kubernetes
Package localkubernetes contains the provisioner for the local Kubernetes based environments
Package localkubernetes contains the provisioner for the local Kubernetes based environments
runner
Package runner implements local and ci profile runners
Package runner implements local and ci profile runners
runner/parameters
Package parameters implements parameters for profiles
Package parameters implements parameters for profiles
utils/clients
Package clients implements utility clients
Package clients implements utility clients
utils/common
Package common implements utilities shared across the e2e tests
Package common implements utilities shared across the e2e tests
utils/e2e/client
Package client contains the definitions of the different clients that can be used in a test.
Package client contains the definitions of the different clients that can be used in a test.
utils/e2e/client/agentclient
Package agentclient provides an interface to run Agent commands.
Package agentclient provides an interface to run Agent commands.
utils/e2e/client/agentclientparams
Package agentclientparams implements function parameters for [e2e.Agent]
Package agentclientparams implements function parameters for [e2e.Agent]
utils/infra
Package infra implements utilities to interact with a Pulumi infrastructure
Package infra implements utilities to interact with a Pulumi infrastructure
utils/optional
Package optional provides generic function to handle optional parameters.
Package optional provides generic function to handle optional parameters.
scenarios
system-probe
Package main is the entrypoint for the system-probe e2e testing scenario
Package main is the entrypoint for the system-probe e2e testing scenario
Package systemprobe is sets up the remote testing environment for system-probe using the Kernel Matrix Testing framework
Package systemprobe is sets up the remote testing environment for system-probe using the Kernel Matrix Testing framework
connector
Package main implements the SSH connector between gitlab runners, metal instances, and micro VMs
Package main implements the SSH connector between gitlab runners, metal instances, and micro VMs
connector/metric
Package metric is responsible for emitting metrics to Datadog
Package metric is responsible for emitting metrics to Datadog
connector/sshtools
Package sshtools allows execution of SSH commands easily
Package sshtools allows execution of SSH commands easily
test-json-review
Package main is the test-json-review tool which reports all failed tests from the test JSON output
Package main is the test-json-review tool which reports all failed tests from the test JSON output
test-runner
Package main is the test-runner tool which runs the system-probe tests
Package main is the test-runner tool which runs the system-probe tests
tests
agent-metrics-logs/kindfilelogging
Package kindfilelogging spins up the same pulumi environment as the awskubernetes package but includes a logger container as well
Package kindfilelogging spins up the same pulumi environment as the awskubernetes package but includes a logger container as well
agent-metrics-logs/log-agent/utils
Package utils provides shared common functions so different E2E tests suites can use them.
Package utils provides shared common functions so different E2E tests suites can use them.
agent-platform/common
Package common contains basic test operation for agent-platform tests
Package common contains basic test operation for agent-platform tests
agent-platform/common/bound-port
Package boundport provides utilies for getting bound port information
Package boundport provides utilies for getting bound port information
agent-platform/common/file-manager
Package filemanager implement interfaces to run install-script tests
Package filemanager implement interfaces to run install-script tests
agent-platform/common/helper
Package helper implement interfaces to get some information that can be OS specific
Package helper implement interfaces to get some information that can be OS specific
agent-platform/common/pkg-manager
Package pkgmanager contains pkgmanager implementations
Package pkgmanager contains pkgmanager implementations
agent-platform/common/process
Package process provides utilities for testing processes
Package process provides utilities for testing processes
agent-platform/common/svc-manager
Package svcmanager contains svcmanager implementations
Package svcmanager contains svcmanager implementations
agent-platform/install
Package install create function to install the agent
Package install create function to install the agent
agent-platform/install/installparams
Package installparams implements function parameters for agent install functions
Package installparams implements function parameters for agent install functions
agent-platform/platforms
Package platforms exposes variable with content of platfoms.json file
Package platforms exposes variable with content of platfoms.json file
agent-shared-components/config-refresh
Package configrefresh contains e2e tests for the config refresh feature.
Package configrefresh contains e2e tests for the config refresh feature.
agent-shared-components/secretsutils
Package secretsutils contains utilities to manage secrets for e2e tests.
Package secretsutils contains utilities to manage secrets for e2e tests.
agent-subcommands/config
Package config contains helpers and e2e tests for config subcommand
Package config contains helpers and e2e tests for config subcommand
apm
Package apm for all apm new E2E tests
Package apm for all apm new E2E tests
containers
Package containers for all containers new E2E tests
Package containers for all containers new E2E tests
cws
cws/api
Package api provides test helpers to interact with the Datadog API
Package api provides test helpers to interact with the Datadog API
cws/config
Package config provides config helpers
Package config provides config helpers
installer
Package installer contains tests for the datadog installer
Package installer contains tests for the datadog installer
installer/host
Package host provides a way to interact with an e2e remote host and capture its state.
Package host provides a way to interact with an e2e remote host and capture its state.
installer/windows
Package installer contains code for the E2E tests for the Datadog installer on Windows
Package installer contains code for the E2E tests for the Datadog installer on Windows
installer/windows/remote-host-assertions
Package assertions provide custom assertions for Windows tests
Package assertions provide custom assertions for Windows tests
installer/windows/suite-assertions
Package suiteasserts extends require.Assertions with custom assertions
Package suiteasserts extends require.Assertions with custom assertions
npm
Package npm for all NPM new E2E tests
Package npm for all NPM new E2E tests
orchestrator
Package orchestrator holds all E2E tests for the various orchestrator checks
Package orchestrator holds all E2E tests for the various orchestrator checks
process
Package process contains end-to-end tests for the general functionality of the process agent.
Package process contains end-to-end tests for the general functionality of the process agent.
remote-config
Package remoteconfig contains tests for the remote config components of the agent
Package remoteconfig contains tests for the remote config components of the agent
windows
Package windows contains the code to run the e2e tests on Windows
Package windows contains the code to run the e2e tests on Windows
windows/command
Package command provides Windows command helpers
Package command provides Windows command helpers
windows/common
Package common contains helpers for Windows E2E tests
Package common contains helpers for Windows E2E tests
windows/common/agent
Package agent includes helpers related to the Datadog Agent on Windows
Package agent includes helpers related to the Datadog Agent on Windows
windows/common/agent/installers/v2
Package installers processes the installers_v2.json file
Package installers processes the installers_v2.json file
windows/common/pipeline
Package pipeline provides helper functions for working with the Gitlab pipeline
Package pipeline provides helper functions for working with the Gitlab pipeline
windows/common/powershell
Package powershell provides
Package powershell provides
windows/components/defender
Package defender contains code to control the behavior of Windows defender in the E2E tests
Package defender contains code to control the behavior of Windows defender in the E2E tests
windows/install-test
Package installtest contains e2e tests for the Windows agent installer
Package installtest contains e2e tests for the Windows agent installer
windows/install-test/service-test
Package servicetest provides tests for the services installed by the Windows Agent
Package servicetest provides tests for the services installed by the Windows Agent

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL