def test_tokens_expire(self, mock_get): mock_get.return_value = None # NOTE(danms): Get the faked InstanceMapping from the SingleCellSimple # fixture so we can return it from our own mock to verify # that it was called fake_im = objects.InstanceMapping.get_by_instance_uuid(self.context, uuids.instance) # Test that tokens expire correctly. self.useFixture(test.TimeOverride()) token = u'mytok' self.flags(token_ttl=1, group='consoleauth') self._stub_validate_console_port(True) self.manager_api.authorize_console(self.context, token, 'novnc', '127.0.0.1', '8080', 'host', self.instance_uuid) with mock.patch('nova.objects.InstanceMapping.' 'get_by_instance_uuid') as mock_get: mock_get.return_value = fake_im self.assertIsNotNone(self.manager_api.check_token(self.context, token)) timeutils.advance_time_seconds(1) self.assertIsNone(self.manager_api.check_token(self.context, token)) if not self.is_cells: mock_get.assert_called_once_with(self.context, self.instance_uuid)
def test_memcached_driver(self): serv = self.useFixture( ServiceFixture(self._host, self._binary, self._topic)).serv serv.start() service_ref = db.service_get_by_args(self._ctx, self._host, self._binary) hostkey = str("%s:%s" % (self._topic, self._host)) self.servicegroup_api._driver.mc.set(hostkey, timeutils.utcnow(), time=self.down_time) self.assertTrue(self.servicegroup_api.service_is_up(service_ref)) self.useFixture(test.TimeOverride()) timeutils.advance_time_seconds(self.down_time + 1) self.servicegroup_api._driver._report_state(serv) service_ref = db.service_get_by_args(self._ctx, self._host, self._binary) self.assertTrue(self.servicegroup_api.service_is_up(service_ref)) serv.stop() timeutils.advance_time_seconds(self.down_time + 1) service_ref = db.service_get_by_args(self._ctx, self._host, self._binary) self.assertFalse(self.servicegroup_api.service_is_up(service_ref))
def test_tokens_expire(self): # Test that tokens expire correctly. self.useFixture(test.TimeOverride()) token = 'mytok' self.flags(console_token_ttl=1) self.manager.authorize_console(self.context, token, 'novnc', '127.0.0.1', 'host', '') self.assertTrue(self.manager.check_token(self.context, token)) timeutils.advance_time_seconds(1) self.assertFalse(self.manager.check_token(self.context, token))
def test_tokens_expire(self): # Test that tokens expire correctly. self.useFixture(test.TimeOverride()) token = u'mytok' self.flags(console_token_ttl=1) self._stub_validate_console_port(True) self.manager_api.authorize_console(self.context, token, 'novnc', '127.0.0.1', '8080', 'host', self.instance['uuid']) self.assertTrue(self.manager_api.check_token(self.context, token)) timeutils.advance_time_seconds(1) self.assertFalse(self.manager_api.check_token(self.context, token))
def test_tokens_expire(self, mock_get): mock_get.return_value = None # Test that tokens expire correctly. self.useFixture(test.TimeOverride()) token = u'mytok' self.flags(token_ttl=1, group='consoleauth') self._stub_validate_console_port(True) self.manager_api.authorize_console(self.context, token, 'novnc', '127.0.0.1', '8080', 'host', self.instance_uuid) self.assertIsNotNone(self.manager_api.check_token(self.context, token)) timeutils.advance_time_seconds(1) self.assertIsNone(self.manager_api.check_token(self.context, token))
def test_tokens_expire(self): # Test that tokens expire correctly. self.useFixture(test.TimeOverride()) token = 'mytok' self.flags(console_token_ttl=1) def fake_validate_console_port(*args, **kwargs): return True self.stubs.Set(self.manager.compute_rpcapi, "validate_console_port", fake_validate_console_port) self.manager.authorize_console(self.context, token, 'novnc', '127.0.0.1', '8080', 'host', 'instance') self.assertTrue(self.manager.check_token(self.context, token)) timeutils.advance_time_seconds(1) self.assertFalse(self.manager.check_token(self.context, token))
def test_DB_driver(self): serv = self.useFixture( ServiceFixture(self._host, self._binary, self._topic)).serv serv.start() service_ref = db.service_get_by_args(self._ctx, self._host, self._binary) self.assertTrue(self.servicegroup_api.service_is_up(service_ref)) self.useFixture(test.TimeOverride()) timeutils.advance_time_seconds(self.down_time + 1) self.servicegroup_api._driver._report_state(serv) service_ref = db.service_get_by_args(self._ctx, self._host, self._binary) self.assertTrue(self.servicegroup_api.service_is_up(service_ref)) serv.stop() timeutils.advance_time_seconds(self.down_time + 1) service_ref = db.service_get_by_args(self._ctx, self._host, self._binary) self.assertFalse(self.servicegroup_api.service_is_up(service_ref))
def test_delete_expired_tokens(self): self.useFixture(test.TimeOverride()) token = u'mytok' self.flags(token_ttl=1, group='consoleauth') self._stub_validate_console_port(True) self.manager_api.authorize_console(self.context, token, 'novnc', '127.0.0.1', '8080', 'host', self.instance_uuid) timeutils.advance_time_seconds(1) self.assertIsNone(self.manager_api.check_token(self.context, token)) token1 = u'mytok2' self.manager_api.authorize_console(self.context, token1, 'novnc', '127.0.0.1', '8080', 'host', self.instance_uuid) stored_tokens = self.manager._get_tokens_for_instance( self.instance_uuid) # when trying to store token1, expired token is removed fist. self.assertEqual(len(stored_tokens), 1) self.assertEqual(stored_tokens[0], token1)