summaryrefslogtreecommitdiff
path: root/client/proxy_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'client/proxy_test.go')
-rw-r--r--client/proxy_test.go36
1 files changed, 36 insertions, 0 deletions
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")
+ }
+}