- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / functional / chromoting / chromoting_base.py
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Common imports, setup, etc for chromoting tests."""
6
7 import os
8
9
10 def _SetupPaths():
11   """Add chrome/test/functional to sys.path for importing pyauto_functional"""
12   functional_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
13   os.sys.path.append(functional_dir)
14
15 _SetupPaths()
16
17
18 import pyauto_functional  # Must come before chromoting and pyauto.
19 from pyauto_functional import Main
20 import pyauto
21 import chromotinglib
22
23
24 class ChromotingBase(chromotinglib.ChromotingMixIn, pyauto.PyUITest):
25   """Chromoting pyauto test base class.
26
27   The following member variables can be used in the child classes:
28     client_local: True if the client is on the same machines as host
29     host: The chromoting host side, instance of ChromotingBase
30     client: The chromoting client side, intance of ChromotingBase
31     client_tab_index: The tab index to the chromoting client tab
32   """
33   def __init__(self, methodName):
34     pyauto.PyUITest.__init__(self, methodName)
35
36     self.client_local = (self.remote == None)
37     self.host = self
38     self.client = self if self.client_local else self.remote
39     self.client_tab_index = 2 if self.client_local else 1
40
41   def ExtraChromeFlags(self):
42     """Add extra flags for chromoting testing
43
44     Add --allow-nacl-socket-api to connect chromoting successfully.
45     Add --allow-legacy-extension-manifests so that chrome can load
46     chromoting webapp in v1 format.
47     """
48     extra_chrome_flags = [
49         '--allow-nacl-socket-api=*',
50         '--allow-legacy-extension-manifests'
51         ]
52     return pyauto.PyUITest.ExtraChromeFlags(self) + extra_chrome_flags