summaryrefslogtreecommitdiff
path: root/internal/namespace/namespace_test.go
blob: cfa0e9be28917f763fe2ced3dc9fdfd6299bce5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//go:build linux && integration

package namespace

import (
	"testing"
)

func TestNamespaceCreation(t *testing.T) {
	t.Log("Integration Test: Verifying CLONE_NEWUSER and CLONE_NEWNET syscalls")
	// TODO: Verify that unshare creates a new network namespace
	// TODO: Verify that the process has root privileges inside the namespace
}

func TestNamespacePinning(t *testing.T) {
	t.Log("Integration Test: Verifying bind-mount of namespace to /run/user/$UID/wg-wrap/")
	// TODO: Verify that the namespace survives after the process exits
	// TODO: Verify that we can re-join the namespace via setns
}

func TestRoutingSetup(t *testing.T) {
	t.Log("Integration Test: Verifying TUN device creation and IP routing table setup")
	// TODO: Mock 'ip' command or use netlink to verify route exists
}