def test_run_environment_does_not_exist(self): self.mistral.environments.get.side_effect = mistral_base.APIException action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) result = action.run() error = "The Mistral environment %s could not be found." % self.plan self.assertEqual(error, result.error)
def test_run_error_creating_tarball(self, mock_create_tarball): mock_create_tarball.side_effect = processutils.ProcessExecutionError action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) result = action.run() error = "Error while creating a tarball" self.assertIn(error, result.error)
def test_run_container_does_not_exist(self): self.swift.get_container.side_effect = swiftexceptions.ClientException( self.plan) action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) result = action.run() error = "Error attempting an operation on container: %s" % self.plan self.assertIn(error, result.error)
def test_run_error_creating_tarball(self, mock_create_tarball, mock_get_obj_service): mock_create_tarball.side_effect = processutils.ProcessExecutionError swift_service = mock.MagicMock() swift_service.delete.return_value = ([ {'success': True}, ]) mock_get_obj_service.return_value = swift_service action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) result = action.run(self.ctx) error = "Error while creating a tarball" self.assertIn(error, result.error)
def test_run_container_does_not_exist(self, mock_get_obj_service): self.swift.get_container.side_effect = swiftexceptions.ClientException( self.plan) swift_service = mock.MagicMock() swift_service.delete.return_value = ([ {'success': True}, ]) mock_get_obj_service.return_value = swift_service action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) result = action.run(self.ctx) error = "Error attempting an operation on container: %s" % self.plan self.assertIn(error, result.error)
def test_run_success(self, mock_create_tarball): get_object_mock_calls = [ mock.call(self.plan, tf) for tf in self.template_files ] get_container_mock_calls = [ mock.call(self.plan), mock.call('plan-exports') ] action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) action.run(self.ctx) self.swift.get_container.assert_has_calls(get_container_mock_calls) self.swift.get_object.assert_has_calls(get_object_mock_calls, any_order=True) self.swift.put_object.assert_called_once() mock_create_tarball.assert_called_once()
def export_deployment_plan(clients, plan_name): export_container = "plan-exports" delete_after = 3600 mistral_context = clients.tripleoclient.create_mistral_context() action = plan.ExportPlanAction(plan_name, delete_after=delete_after, exports_container=export_container) result = action.run(mistral_context) if result: raise exceptions.WorkflowServiceError( 'Exception exporting plan: {}'.format(result.error)) url = swiftutils.get_temp_url(clients.tripleoclient.object_store, container=export_container, object_name="{}.tar.gz".format(plan_name)) print(url) return url
def test_run_success(self, mock_mkdtemp, mock_create_tarball): get_object_mock_calls = [ mock.call(self.plan, tf) for tf in self.template_files ] get_container_mock_calls = [ mock.call(self.plan), mock.call('plan-exports') ] mock_mkdtemp.return_value = '/tmp/test123' action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) action.run() self.swift.get_container.assert_has_calls(get_container_mock_calls) self.swift.get_object.assert_has_calls(get_object_mock_calls, any_order=True) self.mistral.environments.get.assert_called_once_with(self.plan) self.swift.put_object.assert_called_once() mock_create_tarball.assert_called_once()
def test_run_success(self, mock_create_tarball, mock_get_obj_service): get_object_mock_calls = [ mock.call(self.plan, tf) for tf in self.template_files ] swift_service = mock.MagicMock() swift_service.upload.return_value = ([ { 'success': True }, ]) mock_get_obj_service.return_value = swift_service action = plan.ExportPlanAction(self.plan, self.delete_after, self.exports_container) action.run(self.ctx) self.swift.get_container.assert_called_once_with(self.plan) self.swift.get_object.assert_has_calls(get_object_mock_calls, any_order=True) swift_service.upload.assert_called_once() mock_create_tarball.assert_called_once()