Files
firezone/e2e
dependabot[bot] 2d3ac17270 build(deps): Bump follow-redirects from 1.15.4 to 1.15.6 in /e2e (#4150)
Bumps
[follow-redirects](https://github.com/follow-redirects/follow-redirects)
from 1.15.4 to 1.15.6.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="35a517c586"><code>35a517c</code></a>
Release version 1.15.6 of the npm package.</li>
<li><a
href="c4f847f851"><code>c4f847f</code></a>
Drop Proxy-Authorization across hosts.</li>
<li><a
href="8526b4a1b2"><code>8526b4a</code></a>
Use GitHub for disclosure.</li>
<li><a
href="b1677ce001"><code>b1677ce</code></a>
Release version 1.15.5 of the npm package.</li>
<li><a
href="d8914f7982"><code>d8914f7</code></a>
Preserve fragment in responseUrl.</li>
<li>See full diff in <a
href="https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.4&new-version=1.15.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/firezone/firezone/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 21:13:29 +00:00
..
2024-01-16 01:57:41 +00:00
2024-01-16 01:57:41 +00:00

End-to-end Tests

This directory contains our suite of end-to-end tests for the following clients, running on baremetal hardware:

  • Windows
  • Android
  • ChromeOS
  • macOS
  • iOS
  • iPadOS

We use Appium as our test orchestrator because it supports all of the above platforms with a consistent architecture and test language.

Running

You shouldn't run these tests yourself. Instead, these tests are intended to be run from our bare metal testbed running in the Firezone HQ. See the e2e.yml workflow for how these tests are triggered and run.

Architecture

Our baremetal testbed consists of the following hardware:

Hostname Purpose OS / Model CPU RAM Disk Network
linux.firezone.test Orchestration server + Android / ChromeOS test runner Ubuntu 22.04 Ryzen 5950x 128 GB DDR4 3200 ECC 500 GB NVMe SSD 10 GbE internet uplink + 1 GbE testnet
macos.firezone.test macOS, iPadOS, iOS test driver macOS 14 Apple M1 8 GB 256 GB 1 GbE testnet + WiFi 6
windows.firezone.test Windows test driver Windows 11 Home Intel i3-1115G4 8 GB 256 GB 1 GbE testnet + WiFi 6
ios.firezone.test iOS test client iOS 17 A14 Bionic (iPhone 12) 4 GB 128 GB WiFi 6
ipados.firezone.test iPadOS test client iPadOS 17 A12 (iPad 8th gen) 3 GB 128 GB 802.11ax WiFi
android.firezone.test Android test client Android 14 (Pixel 6) Tensor SoC 8 GB 128 GB WiFi 6
gateway.firezone.test Remote access (using a Firezone gateway!) Raspbian 12 (Raspberry Pi 2 Model B) Cortex A7 4-core armv7l 4 GB 32 GB 1 GbE testnet

Topology

Since we can't run the test driver directly on mobile platforms, we run it on the host instead and connect over USB to the client. iOS/iPadOS clients are tested from the macos.firezone.test host, and the Android/ChromeOS clients are tested from the linux.firezone.test host.

There's also a Raspberry Pi in the testnet running Firezone, used for remote access.

Network diagram

network diagram

Addressing

Host Interface IPv4 Address IPv6 Address
linux.firezone.test egress 192.168.1.249 2600:1700:3ecb:2410::/64 (DHCP address)
linux.firezone.test testnet ethernet 10.0.0.1 fc01:2345:6789:abcd::/64 (DHCP address)
macos.firezone.test testnet ethernet 10.0.0.2 fc01:2345:6789:abcd::/64 (DHCP address)
windows.firezone.test testnet ethernet 10.0.0.3 fc01:2345:6789:abcd::/64 (DHCP address)
linux.firezone.test testnet WiFi 10.0.1.1 fc01:2345:6789:abce::/64 (DHCP address)
macos.firezone.test testnet WiFi 10.0.1.2 fc01:2345:6789:abce::/64 (DHCP address)
windows.firezone.test testnet WiFi 10.0.1.3 fc01:2345:6789:abce::/64 (DHCP address)
ios.firezone.test testnet WiFi 10.0.1.4 fc01:2345:6789:abce::/64 (DHCP address)
ipados.firezone.test testnet WiFi 10.0.1.5 fc01:2345:6789:abce::/64 (DHCP address)
android.firezone.test testnet WiFi 10.0.1.6 fc01:2345:6789:abce::/64 (DHCP address)
gateway.firezone.test testnet ethernet 10.0.0.254 fc01:2345:6789:abcd::/64 (DHCP address)