def _init(self): self.mock = mox.Mox() self.instance_id = 500 context = ReddwarfContext() self.db_info = DBInstance.create( name="instance", flavor_id=OLD_FLAVOR_ID, tenant_id=999, volume_size=None, task_status=InstanceTasks.RESIZING) self.server = self.mock.CreateMock(Server) self.instance = models.BuiltInstanceTasks(context, self.db_info, self.server, service_status="ACTIVE") self.instance.server.flavor = {'id': OLD_FLAVOR_ID} self.guest = self.mock.CreateMock(guest.API) self.instance._guest = self.guest self.instance._refresh_compute_server_info = lambda: None self.instance._refresh_compute_service_status = lambda: None self.mock.StubOutWithMock(self.instance, 'update_db') self.mock.StubOutWithMock(self.instance, '_set_service_status_to_paused') self.poll_until_mocked = False self.action = None
def _send_msg_with_timeout(self): self.rabbit.declare_queue(topic_name()) context = ReddwarfContext(is_admin=True, limit=5, marker=None) version = rpc.call(context, topic_name(), { "method": "version", "args": { "package_name": "dpkg" } }) return {"status": "good", "version": version}
def test_report_root_enabled(self): mock_db_api = mock() when(reddwarf.extensions.mysql.models).get_db_api().thenReturn( mock_db_api) when(mock_db_api).find_by(any(), id=None).thenReturn(None) root_history = RootHistory('x', 'root') when(mock_db_api).save(any(RootHistory)).thenReturn(root_history) # invocation history = MySqlRootAccess.report_root_enabled(ReddwarfContext()) # verification self.assertThat(history, Is(root_history)) verify(mock_db_api).save(any(RootHistory))
def setUp(self): super(GuestAgentManagerTest, self).setUp() self.context = ReddwarfContext() self.manager = Manager() self.origin_MySqlAppStatus = dbaas.MySqlAppStatus self.origin_os_path_exists = os.path.exists self.origin_format = volume.VolumeDevice.format self.origin_migrate_data = volume.VolumeDevice.migrate_data self.origin_mount = volume.VolumeDevice.mount self.origin_is_installed = dbaas.MySqlApp.is_installed self.origin_stop_mysql = dbaas.MySqlApp.stop_db self.origin_start_mysql = dbaas.MySqlApp.start_mysql self.origin_install_mysql = dbaas.MySqlApp._install_mysql
def _create_instance(self): self.context = ReddwarfContext(is_admin=True) self.tenant_id = 999 self.db_info = DBInstance.create(name="instance", flavor_id=1, tenant_id=self.tenant_id, volume_size=None, task_status=InstanceTasks.NONE) self.server = self.mock.CreateMock(Server) self.instance = imodels.Instance(self.context, self.db_info, self.server, service_status="ACTIVE")
def test_execute_restore(self): """This test should ensure backup agent resolves backup instance determines backup/restore type transfers/downloads data and invokes the restore module reports status """ backup = mock(DBBackup) backup.location = "/backup/location/123" backup.backup_type = 'InnoBackupEx' when(utils).execute(contains('sudo rm -rf')).thenReturn(None) when(utils).clean_out(any()).thenReturn(None) when(backupagent).get_storage_strategy(any(), any()).thenReturn(MockStorage) when(backupagent).get_restore_strategy( 'InnoBackupEx', any()).thenReturn(MockRestoreRunner) when(DatabaseModelBase).find_by(id='123').thenReturn(backup) when(backup).save().thenReturn(backup) agent = backupagent.BackupAgent() agent.execute_restore(ReddwarfContext(), '123', '/var/lib/mysql')
def _prep_conf(current_time): current_time = str(current_time) context = ReddwarfContext(tenant='TENANT-' + current_time) instance_id = 'INSTANCE-' + current_time return context, instance_id
def mgmt_restart_task_requires_admin_account(self): context = ReddwarfContext(is_admin=False) req, body = self._make_request(context=context) self.controller = MgmtInstanceController() assert_raises(exception.Forbidden, self.controller.action, req, body, self.tenant_id, self.db_info.id)