Ejemplo n.º 1
0
 def test_write_gui_config_insecure(self):
     write_gui_config(
         False, 'This is login help.', True, True, self.charmworld_url,
         self.build_dir, secure=False, config_js_path='config')
     js_conf = self.files['config']
     self.assertIn("socket_url: 'ws://", js_conf)
     self.assertIn('socket_protocol: "ws"', js_conf)
Ejemplo n.º 2
0
 def start(self, backend):
     log('Starting Juju GUI.')
     config = backend.config
     build_dir = utils.compute_build_dir(config['juju-gui-debug'],
                                         config['serve-tests'])
     # Check if a secure WebSocket client connection is required.
     secure = config.get('ws-secure')
     if secure is None:
         # WebSocket security is not explicitly provided: use secure
         # WebSocket if the GUI server is running in secure mode.
         secure = config['secure']
     utils.write_gui_config(
         config['juju-gui-console-enabled'],
         config.get('login-help'),
         config['read-only'],
         config['charmworld-url'],
         config['charmstore-url'],
         build_dir,
         secure=secure,
         sandbox=config['sandbox'],
         cached_fonts=config['cached-fonts'],
         ga_key=config['ga-key'],
         hide_login_button=config['hide-login-button'],
         juju_core_version=config.get('juju-core-version'),
         password=config.get('password'),
         juju_env_uuid=os.getenv('JUJU_ENV_UUID', None))
     # Set up TCP ports.
     previous_port = backend.prev_config.get('port')
     current_port = backend.config.get('port')
     utils.setup_ports(previous_port, current_port)
Ejemplo n.º 3
0
 def start(self, backend):
     log("Starting Juju GUI.")
     config = backend.config
     build_dir = utils.compute_build_dir(config["juju-gui-debug"], config["serve-tests"])
     # Check if a secure WebSocket client connection is required.
     secure = config.get("ws-secure")
     if secure is None:
         # WebSocket security is not explicitly provided: use secure
         # WebSocket if the GUI server is running in secure mode.
         secure = config["secure"]
     utils.write_gui_config(
         config["juju-gui-console-enabled"],
         config.get("login-help"),
         config["read-only"],
         config["charmworld-url"],
         config["charmstore-url"],
         build_dir,
         secure=secure,
         sandbox=config["sandbox"],
         cached_fonts=config["cached-fonts"],
         ga_key=config["ga-key"],
         hide_login_button=config["hide-login-button"],
         juju_core_version=config.get("juju-core-version"),
         password=config.get("password"),
         juju_env_uuid=os.getenv("JUJU_ENV_UUID", None),
     )
     # Set up TCP ports.
     previous_port = backend.prev_config.get("port")
     current_port = backend.config.get("port")
     utils.setup_ports(previous_port, current_port)
Ejemplo n.º 4
0
 def test_write_gui_config_sandbox(self):
     write_gui_config(
         False, 'This is login help.', False, False, self.charmworld_url,
         self.build_dir, sandbox=True, config_js_path='config')
     js_conf = self.files['config']
     self.assertIn('sandbox: true', js_conf)
     self.assertIn('user: "******"', js_conf)
     self.assertIn('password: "******"', js_conf)
Ejemplo n.º 5
0
 def test_write_gui_config_default_go_password(self, mock_legacy_juju):
     mock_legacy_juju.return_value = False
     write_gui_config(
         False, 'This is login help.', True, True, self.charmworld_url,
         self.build_dir, config_js_path='config',
         password='******')
     js_conf = self.files['config']
     self.assertIn('user: "******"', js_conf)
     self.assertIn('password: "******"', js_conf)
Ejemplo n.º 6
0
 def test_write_gui_config_default_sandbox_backend(self, mock_legacy_juju):
     mock_legacy_juju.return_value = True
     write_gui_config(
         False, 'This is login help.', True, True, self.charmworld_url,
         self.build_dir, config_js_path='config',
         password='******', sandbox=True)
     js_conf = self.files['config']
     # Because this is sandbox, the apiBackend is always go, even though it
     # is legacy_juju.
     self.assertIn('apiBackend: "go"', js_conf)
Ejemplo n.º 7
0
 def test_write_gui_config(self):
     write_gui_config(
         False, 'This is login help.', True, True, self.charmworld_url,
         self.build_dir, config_js_path='config',
         ga_key='UA-123456')
     js_conf = self.files['config']
     self.assertIn('consoleEnabled: false', js_conf)
     self.assertIn('user: "******"', js_conf)
     self.assertIn('password: "******"', js_conf)
     self.assertIn('login_help: "This is login help."', js_conf)
     self.assertIn('readOnly: true', js_conf)
     self.assertIn("socket_url: 'wss://", js_conf)
     self.assertIn('socket_protocol: "wss"', js_conf)
     self.assertIn('charmworldURL: "http://charmworld.example.com/"',
                   js_conf)
     self.assertIn('GA_key: "UA-123456"', js_conf)
Ejemplo n.º 8
0
 def start(self, backend):
     log("Starting Juju GUI.")
     config = backend.config
     build_dir = utils.compute_build_dir(config["juju-gui-debug"], config["serve-tests"])
     utils.write_gui_config(
         config["juju-gui-console-enabled"],
         config["login-help"],
         config["read-only"],
         config["staging"],
         config["charmworld-url"],
         build_dir,
         secure=config["secure"],
         sandbox=config["sandbox"],
         ga_key=config["ga-key"],
         default_viewmode=config["default-viewmode"],
         show_get_juju_button=config["show-get-juju-button"],
         password=config.get("password"),
     )
     # Expose the service.
     open_port(80)
     open_port(443)
Ejemplo n.º 9
0
 def test_write_gui_config_with_button(self):
     write_gui_config(
         False, 'This is login help.', False, False, self.charmworld_url,
         self.build_dir, sandbox=True, show_get_juju_button=True,
         config_js_path='config')
     self.assertIn('showGetJujuButton: true', self.files['config'])
Ejemplo n.º 10
0
 def test_write_gui_config_fullscreen(self):
     write_gui_config(
         False, 'This is login help.', False, False, self.charmworld_url,
         self.build_dir, sandbox=True, default_viewmode='fullscreen',
         config_js_path='config')
     self.assertIn('defaultViewmode: "fullscreen"', self.files['config'])