1+ # Copyright (C) 2020 - 2025 ANSYS, Inc. and/or its affiliates.
2+ # SPDX-License-Identifier: MIT
3+ #
4+ #
5+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6+ # of this software and associated documentation files (the "Software"), to deal
7+ # in the Software without restriction, including without limitation the rights
8+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+ # copies of the Software, and to permit persons to whom the Software is
10+ # furnished to do so, subject to the following conditions:
11+ #
12+ # The above copyright notice and this permission notice shall be included in all
13+ # copies or substantial portions of the Software.
14+ #
15+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+ # SOFTWARE.
22+
23+ import pytest
24+ import sys
25+
26+ from ansys import dpf
27+ from ansys .dpf .core import errors , operators as ops
28+
29+ def test_server_exception_from_operator ():
30+ ds = dpf .core .DataSources (r"dummy/file.rst" )
31+ op = ops .result .displacement (data_sources = ds )
32+ with pytest .raises (errors .DPFServerException ) as exception_note :
33+ op .eval ()
34+
35+ assert hasattr (exception_note , '__notes__' ), "The exception does not contain any note"
36+ assert exception_note .__notes__
37+
38+ def test_server_exception_from_workflow ():
39+ disp = ops .result .displacement ()
40+ workflow = dpf .Workflow ()
41+
42+ workflow .add_operator (disp )
43+ workflow .set_output_name ("displacement" , disp .outputs .fields_container )
44+ workflow .eval ()
45+
0 commit comments