summaryrefslogtreecommitdiff
path: root/tests/e2e
diff options
context:
space:
mode:
authorJames O'Doherty <james@theodohertyfamily.com>2026-05-22 09:13:16 -0400
committerJames O'Doherty <james@theodohertyfamily.com>2026-05-22 09:13:16 -0400
commit756ba94292b408cc4f23d137b2c4c52009b2b38d (patch)
tree85ed0158eef7009826c5707e976538784f10f1d8 /tests/e2e
parenta4cd7de209fe90006b3e6e67c69dea5ed0c9f832 (diff)
Scaffold wg-wrap project structure and toolchain
Diffstat (limited to 'tests/e2e')
-rw-r--r--tests/e2e/e2e_test.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/e2e/e2e_test.go b/tests/e2e/e2e_test.go
new file mode 100644
index 0000000..5966659
--- /dev/null
+++ b/tests/e2e/e2e_test.go
@@ -0,0 +1,31 @@
+package e2e
+
+import (
+ "testing"
+)
+
+func TestDataPlaneConnectivity(t *testing.T) {
+ t.Log("E2E Test: Virtual Peer connectivity check")
+ // 1. Spin up a Virtual Peer (GVisor-based userspace stack)
+ // 2. Generate a matching .conf profile
+ // 3. Run `wg-wrap --profile test curl <virtual-peer-ip>`
+ // 4. Verify HTTP response is received
+}
+
+func TestNetworkIsolation(t *testing.T) {
+ t.Log("E2E Test: Verifying host isolation")
+ // 1. Ensure host cannot ping the Virtual Peer's internal IP
+ // 2. Ensure wrapped process CAN ping the Virtual Peer's internal IP
+}
+
+func TestDNSLeakage(t *testing.T) {
+ t.Log("E2E Test: Verifying DNS is routed via VPN")
+ // 1. Run `wg-wrap --profile test dig <domain>`
+ // 2. Verify that the DNS query goes to the VPN DNS server, not host resolver
+}
+
+func TestMTUFragmentation(t *testing.T) {
+ t.Log("E2E Test: Verifying MTU 1420 prevents packet drop")
+ // 1. Send large pings (-s 1400) through the tunnel
+ // 2. Verify packets are received without fragmentation errors
+}