From 3eb12adb8bf9c7f4566d86e7ce3431233955b5d6 Mon Sep 17 00:00:00 2001 From: Bartosz Oleaczek Date: Mon, 14 Oct 2024 14:26:19 +0200 Subject: [PATCH] fix ut --- daemon/rpc_set_postquantum_test.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/daemon/rpc_set_postquantum_test.go b/daemon/rpc_set_postquantum_test.go index 4bbd29ff..9f2a9c0f 100644 --- a/daemon/rpc_set_postquantum_test.go +++ b/daemon/rpc_set_postquantum_test.go @@ -2,12 +2,14 @@ package daemon import ( "context" + "strconv" "testing" "github.com/NordSecurity/nordvpn-linux/config" "github.com/NordSecurity/nordvpn-linux/daemon/events" "github.com/NordSecurity/nordvpn-linux/daemon/pb" "github.com/NordSecurity/nordvpn-linux/internal" + "github.com/NordSecurity/nordvpn-linux/test/mock/networker" "github.com/stretchr/testify/assert" ) @@ -35,14 +37,22 @@ func TestSetPostquantumVpn(t *testing.T) { mockPublisherSubscriber := events.MockPublisherSubscriber[bool]{} mockEvents := events.Events{Settings: &events.SettingsEvents{PostquantumVPN: &mockPublisherSubscriber}} + mockNetworker := networker.Mock{} r := RPC{ cm: &mockConfigManager, events: &mockEvents, + netw: &mockNetworker, } successPayload := pb.Payload{ Type: internal.CodeSuccess, + Data: []string{strconv.FormatBool(false)}, + } + + successWithVPNPayload := pb.Payload{ + Type: internal.CodeSuccess, + Data: []string{strconv.FormatBool(true)}, } conflictMeshPayload := pb.Payload{ @@ -57,6 +67,7 @@ func TestSetPostquantumVpn(t *testing.T) { testName string pq bool meshnet bool + vpnActive bool tech config.Technology payload *pb.Payload eventPublished bool @@ -65,6 +76,7 @@ func TestSetPostquantumVpn(t *testing.T) { testName: "pq off mesh is off tech unknown", pq: false, meshnet: false, + vpnActive: false, tech: config.Technology_UNKNOWN_TECHNOLOGY, payload: &conflictTechPayload, eventPublished: false, @@ -73,6 +85,7 @@ func TestSetPostquantumVpn(t *testing.T) { testName: "pq off mesh is off tech nlx", pq: false, meshnet: false, + vpnActive: false, tech: config.Technology_NORDLYNX, payload: &successPayload, eventPublished: true, @@ -81,6 +94,7 @@ func TestSetPostquantumVpn(t *testing.T) { testName: "pq on mesh is off tech unknown", pq: true, meshnet: false, + vpnActive: false, tech: config.Technology_UNKNOWN_TECHNOLOGY, payload: &conflictTechPayload, eventPublished: false, @@ -89,6 +103,7 @@ func TestSetPostquantumVpn(t *testing.T) { testName: "pq on mesh is off tech nlx", pq: true, meshnet: false, + vpnActive: false, tech: config.Technology_NORDLYNX, payload: &successPayload, eventPublished: true, @@ -97,9 +112,19 @@ func TestSetPostquantumVpn(t *testing.T) { testName: "pq on mesh is on", pq: true, meshnet: true, + vpnActive: false, payload: &conflictMeshPayload, eventPublished: false, }, + { + testName: "pq off mesh is off tech nlx vpn on", + pq: false, + meshnet: false, + vpnActive: true, + tech: config.Technology_NORDLYNX, + payload: &successWithVPNPayload, + eventPublished: true, + }, } for _, test := range tests { @@ -108,6 +133,9 @@ func TestSetPostquantumVpn(t *testing.T) { mockConfigManager.c.Technology = test.tech mockConfigManager.c.AutoConnectData.PostquantumVpn = !test.pq + mockNetworker.ConnectRetries = 0 + mockNetworker.VpnActive = test.vpnActive + req := pb.SetGenericRequest{Enabled: test.pq} resp, err := r.SetPostQuantum(context.Background(), &req)