Unity 8
 All Classes Functions Properties
test_system_integration.py
1 # -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
2 #
3 # Unity Autopilot Test Suite
4 # Copyright (C) 2014 Canonical
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #
19 
20 """Tests for system integration."""
21 
22 import subprocess
23 import unittest
24 
25 from autopilot import platform
26 from unity8.shell.emulators import UnityEmulatorBase
27 from unity8.shell.tests import UnityTestCase, _get_device_emulation_scenarios
28 
29 from testtools.matchers._basic import Equals
30 
31 class SystemIntegrationTests(UnityTestCase):
32 
33  scenarios = _get_device_emulation_scenarios()
34 
35  @unittest.skipIf(platform.model() == "Desktop", "Test is broken on otto, see bug 1281634.")
36  def test_networkmanager_integration(self):
37  self.launch_unity()
38 
39  # invoke policykit to check permissions
40  pid = subprocess.check_output(["pidof", "-s", "unity8"], universal_newlines=True)
41  subprocess.check_call("pkcheck --action-id org.freedesktop.NetworkManager.enable-disable-network --process " + pid, shell=True)