From 3dcb85a9b9f3ef14d0bcad037ad66832dafe0eb6 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Thu, 30 May 2024 17:08:37 +0200 Subject: Client Proxy: Add test --- client/proxy_test.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 client/proxy_test.go (limited to 'client') diff --git a/client/proxy_test.go b/client/proxy_test.go new file mode 100644 index 0000000..ddb0c4f --- /dev/null +++ b/client/proxy_test.go @@ -0,0 +1,36 @@ +package client + +import ( + "context" + "errors" + "testing" + + "codeberg.org/eduVPN/proxyguard" +) + +func TestProxy(t *testing.T) { + // test race + p := Proxy{} + p.NewClient(&proxyguard.Client{}) + go func() { + // connect to localhost will fail + // but we don't care about the error + _ = p.Tunnel(context.Background(), "127.0.0.1") + }() + // race! + _ = p.Cancel() + + // cancel before tunneling + p.NewClient(&proxyguard.Client{}) + if !errors.Is(p.Cancel(), ErrNoProxyGuardCancel) { + t.Fatalf("proxyguard cancel err not equal") + } + _ = p.Tunnel(context.Background(), "127.0.0.1") + p.Delete() + + // tunnel without client + gerr := p.Tunnel(context.Background(), "127.0.0.1") + if !errors.Is(gerr, ErrNoProxyGuardClient) { + t.Fatalf("no proxyguard client err not equal") + } +} -- cgit v1.2.3