From baf14c76a3cc083283e2fc7d981b02d38e4569c2 Mon Sep 17 00:00:00 2001 From: Kali Kaneko Date: Tue, 29 Aug 2017 10:52:26 -0400 Subject: [tests] apply dns workaround --- tests/functional/features/steps/vpn.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests') diff --git a/tests/functional/features/steps/vpn.py b/tests/functional/features/steps/vpn.py index 4b83edb5..020ac7cb 100644 --- a/tests/functional/features/steps/vpn.py +++ b/tests/functional/features/steps/vpn.py @@ -1,3 +1,6 @@ +import commands +import os + from behave import given, when, then from common import ( click_button, @@ -7,6 +10,26 @@ from selenium.common.exceptions import TimeoutException # For checking IP import requests +resolv = None + + +def apply_dns_workaround(): + # we need this until we can get proper iptables execution + # because of the dns rewrite hacks in the firewall + print("CURRENT UID %s" % os.getuid()) + if os.getuid() == 0: + global resolv + resolv = commands.getoutput('cat /etc/resolv.conf') + print("original resolv.conf: %s" % resolv) + commands.getoutput('echo nameserver 10.42.0.1 > /etc/ressolv.conf') + resolv2 = commands.getoutput('cat /etc/resolv.conf') + print("changed resolv.conf: %s" % resolv2) + + +def deapply_dns_workaround(): + if os.getuid() == 0: + commands.getoutput('echo nameserver 85.214.20.141 > /etc/resolv.conf') + @given('An initial network configuration') def record_ip(context): @@ -40,6 +63,7 @@ def activate_vpn(context): @then('I should have my ass covered') def assert_vpn(context): wait_until_button_is_visible(context, 'Turn OFF') + apply_dns_workaround() assert _current_ip() != context.initial_ip @@ -51,5 +75,6 @@ def deactivate_vpn(context): @then('My network should be configured as before') def network_as_before(context): + deapply_dns_workaround() ip = _current_ip() assert ip == context.initial_ip -- cgit v1.2.3