e2e_tests.test_split_tunnel package

Submodules

e2e_tests.test_split_tunnel.test_split_tunnel module

class e2e_tests.test_split_tunnel.test_split_tunnel.SplitTunnelConfig(organization, included_domains, excluded_domains)

Bases: NamedTuple

excluded_domains: list[str]

Alias for field number 2

included_domains: list[str]

Alias for field number 1

organization: str

Alias for field number 0

class e2e_tests.test_split_tunnel.test_split_tunnel.TestSplitTunnel

Bases: object

test_basic_tunnel_include_exclude_functionality_consumer(warp: WarpActions)

Port of 0502/0503-split-tunnel_orange.ps1

This test validates the split-tunnel functionality of the WARP client in consumer mode. It ensures that:

1. When IPs for a specific domain are added to the tunnel exclusion list via the CLI, those domains are routed outside of the WARP tunnel. 2. Conversely, domains not added to the exclusion list are routed through the WARP tunnel.

Steps:
  1. Register and connect to the WARP service.

  2. Add the IPs of certain excluded domains to the tunnel exclusion list.

  3. Verify that traffic to those excluded domains is routed outside the WARP tunnel.

  4. Verify that traffic to included domains is routed inside the WARP tunnel.

5. Finally, remove the IPs from the tunnel exclusion list and verify that the excluded domains are now routed through the WARP tunnel.

test_basic_tunnel_include_exclude_functionality_enterprise(warp: WarpActions, split_tunnel: SplitTunnelConfig)

Port of split tunnel tests

This test validates the split-tunnel functionality of the WARP client in enterprise mode. It ensures that:

1. When IPs for a specific domain are added to the tunnel exclusion list via the CLI, those domains are routed outside of the WARP tunnel. 2. Conversely, domains not added to the exclusion list are routed through the WARP tunnel.

Steps:
  1. Register and connect to the WARP service.

  2. Add the IPs of certain excluded domains to the tunnel exclusion list.

  3. Verify that traffic to those excluded domains is routed outside the WARP tunnel.

  4. Verify that traffic to included domains is routed inside the WARP tunnel.

5. Finally, remove the IPs from the tunnel exclusion list and verify that the excluded domains are now routed through the WARP tunnel.

test_device_profile_split_tunnel_exclude_addresses(warp: WarpActions, single_device_profile: DeviceProfileModel, test_domain: str = 'doordash.com')

Tests adding and removing entries from split tunnel exclude list in device profile

Preconditions:
  1. WARP is installed

  2. Device is enrolled in the Device Profile account

  3. There is a device profile created for the enrolled identity

Steps:
  1. Resolve domain to IPs

  2. Add resolved IPs to exclude list

  3. Check that domain is excluded

  4. Remove resolved IPs from exclude list

  5. Check that domain is no longer excluded

test_device_profile_split_tunnel_exclude_domains(warp: WarpActions, single_device_profile: DeviceProfileModel, test_domain: str = 'doordash.com', iterations: int = 10)

Tests adding and removing domain entries from split tunnel exclude list in device profile

Preconditions:
  1. WARP is installed

  2. Device is enrolled in the Device Profile account

  3. There is a device profile created for the enrolled identity

Steps:
  1. Add host to exclude list in device profile

  2. Check that domain is excluded

  3. Remove host from exclude list

  4. Check that domain is no longer excluded

test_device_profile_split_tunnel_include_address(warp: WarpActions, single_device_profile: DeviceProfileModel, test_domain: str = 'doordash.com')

Tests adding and removing address entries from split tunnel include list in device profile

Preconditions:
  1. WARP is installed

  2. Device is enrolled in the Device Profile account

  3. There is a device profile created for the enrolled identity

Steps:
  1. Add addresses of domain to include list

  2. Verify that domain routes through tunnel

  3. Remove addresses of domain from include list

  4. Verify that domain does not route through tunnel

test_device_profile_split_tunnel_include_domain(warp: WarpActions, single_device_profile: DeviceProfileModel, test_domain: str = 'doordash.com', iterations: int = 10)

Tests adding and removing domain entries from split tunnel include list in device profile

Preconditions:
  1. WARP is installed

  2. Device is enrolled in the Device Profile account

  3. There is a device profile created for the enrolled identity

Steps:
  1. Add domain to include list

  2. Verify that domain routes through tunnel

  3. Remove domain from include list

  4. Verify that domain does not route through tunnel