def tearDown(self):
     """Teardown for test methods."""
     settings_component = SettingsComponent(self.driver)
     self.driver.get(self.args.server_url)
     settings_component.resetSettings(self.initial_settings)
     LoginPage(self.driver).Logout(self.args.server_url)
     super(SettingsComponentTest, self).tearDown()
 def setUp(self):
     """Setup for test methods."""
     super(SettingsComponentTest, self).setUp()
     super(SettingsComponentTest, self).set_context()
     LoginPage(self.driver).Login(self.args.server_url, self.args.email,
                                  self.args.password)
     settings_component = SettingsComponent(self.driver)
     self.driver.get(self.args.server_url)
     self.initial_settings = settings_component.getCurrentSettings()
    def testSavingChangedSettings(self):
        """Test that changing a setting and saving it will actually retain it.

    Also tests that other settings are not changed when they shouldn't be.
    """
        proxy_server_key = 'enforce_proxy_server_validity'
        settings_component = SettingsComponent(self.driver)
        self.driver.get(self.args.server_url)
        settings_component.changeSetting(
            proxy_server_key, not self.initial_settings[proxy_server_key])

        # We specifically reload the page here to ensure that changes propagate to
        # the backend and are not solely in the UI.
        self.driver.get(self.args.server_url)
        changed_settings = settings_component.getCurrentSettings()

        for key, value in self.initial_settings.iteritems():
            self.assertIn(key, changed_settings)
            if key == proxy_server_key:
                self.assertNotEquals(self.initial_settings[key],
                                     changed_settings[key])
            else:
                self.assertEquals(self.initial_settings[key],
                                  changed_settings[key])