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 /> [](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>
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
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) |
