diff --git a/doc/changelog.d/1821.added.md b/doc/changelog.d/1821.added.md new file mode 100644 index 0000000000..028e037259 --- /dev/null +++ b/doc/changelog.d/1821.added.md @@ -0,0 +1 @@ +enable runscript for CoreService \ No newline at end of file diff --git a/src/ansys/geometry/core/modeler.py b/src/ansys/geometry/core/modeler.py index f7e9c32014..8aea87fed4 100644 --- a/src/ansys/geometry/core/modeler.py +++ b/src/ansys/geometry/core/modeler.py @@ -455,7 +455,11 @@ def run_discovery_script_file( # Check if API version is specified... if so, validate it if api_version is not None: - if self.client.backend_type == BackendType.WINDOWS_SERVICE: + if self.client.backend_type in ( + BackendType.WINDOWS_SERVICE, + BackendType.CORE_WINDOWS, + BackendType.CORE_LINUX, + ): self.client.log.warning( "The Ansys Geometry Service only supports " "scripts that are of its same API version." diff --git a/tests/integration/files/disco_scripts/integrated_script.py b/tests/integration/files/disco_scripts/integrated_script.py index fdce0c6347..231b522635 100644 --- a/tests/integration/files/disco_scripts/integrated_script.py +++ b/tests/integration/files/disco_scripts/integrated_script.py @@ -1,4 +1,4 @@ -doc = GetActiveWindow().Document +doc = GetActiveDocument() radius = MM(int(argsDict["radius"])) sphere = Sphere.Create(Frame.World, radius) @@ -8,6 +8,6 @@ b = Body.CreateSurfaceBody(sphere, box) db = DesignBody.Create(doc.MainPart, "sphere", b) -numBodies = doc.MainPart.GetAllBodies().Count +numBodies = doc.MainPart.Bodies.Count result = {"numBodies": numBodies} \ No newline at end of file diff --git a/tests/integration/files/disco_scripts/simple_script.dscript b/tests/integration/files/disco_scripts/simple_script.dscript index 08a44c99f4..a6ca2fc62c 100644 Binary files a/tests/integration/files/disco_scripts/simple_script.dscript and b/tests/integration/files/disco_scripts/simple_script.dscript differ diff --git a/tests/integration/files/disco_scripts/simple_script.py b/tests/integration/files/disco_scripts/simple_script.py index 8256e29b90..4146c62233 100644 --- a/tests/integration/files/disco_scripts/simple_script.py +++ b/tests/integration/files/disco_scripts/simple_script.py @@ -1,4 +1,6 @@ # Python Discovery Script +import math + doc = Document.Create() sphere = Sphere.Create( diff --git a/tests/integration/files/disco_scripts/simple_script.scscript b/tests/integration/files/disco_scripts/simple_script.scscript index 24026a9973..60a87f76e2 100644 Binary files a/tests/integration/files/disco_scripts/simple_script.scscript and b/tests/integration/files/disco_scripts/simple_script.scscript differ diff --git a/tests/integration/test_runscript.py b/tests/integration/test_runscript.py index f0c0ce0e41..1ba9438593 100644 --- a/tests/integration/test_runscript.py +++ b/tests/integration/test_runscript.py @@ -30,14 +30,11 @@ from ansys.geometry.core.math.point import Point2D from ansys.geometry.core.sketch import Sketch -from .conftest import DSCOSCRIPTS_FILES_DIR, skip_if_core_service +from .conftest import DSCOSCRIPTS_FILES_DIR # Python (.py) def test_python_simple_script(modeler: Modeler): - # Skip on CoreService - skip_if_core_service(modeler, test_python_simple_script.__name__, "run_discovery_script_file") - result = modeler.run_discovery_script_file(DSCOSCRIPTS_FILES_DIR / "simple_script.py") pattern_db = re.compile(r"SpaceClaim\.Api\.[A-Za-z0-9]+\.DesignBody", re.IGNORECASE) pattern_doc = re.compile(r"SpaceClaim\.Api\.[A-Za-z0-9]+\.Document", re.IGNORECASE) @@ -49,11 +46,6 @@ def test_python_simple_script(modeler: Modeler): def test_python_simple_script_ignore_api_version( modeler: Modeler, caplog: pytest.LogCaptureFixture ): - # Skip on CoreService - skip_if_core_service( - modeler, test_python_simple_script_ignore_api_version.__name__, "run_discovery_script_file" - ) - result = modeler.run_discovery_script_file( DSCOSCRIPTS_FILES_DIR / "simple_script.py", api_version=ApiVersions.LATEST, @@ -73,18 +65,13 @@ def test_python_simple_script_ignore_api_version( def test_python_failing_script(modeler: Modeler): - # Skip on CoreService - skip_if_core_service(modeler, test_python_failing_script.__name__, "run_discovery_script_file") + if modeler.client.backend_type == BackendType.CORE_LINUX: + pytest.skip(reason="Skipping test_python_failing_script. Operation fails on github.") with pytest.raises(GeometryRuntimeError): modeler.run_discovery_script_file(DSCOSCRIPTS_FILES_DIR / "failing_script.py") def test_python_integrated_script(modeler: Modeler): - # Skip on CoreService - skip_if_core_service( - modeler, test_python_integrated_script.__name__, "run_discovery_script_file" - ) - # Tests the workflow of creating a design in PyAnsys Geometry, modifying it with a script, # and continuing to use it in PyAnsys Geometry @@ -105,9 +92,6 @@ def test_python_integrated_script(modeler: Modeler): # SpaceClaim (.scscript) def test_scscript_simple_script(modeler: Modeler): - # Skip on CoreService - skip_if_core_service(modeler, test_scscript_simple_script.__name__, "run_discovery_script_file") - result = modeler.run_discovery_script_file(DSCOSCRIPTS_FILES_DIR / "simple_script.scscript") assert len(result) == 2 pattern_db = re.compile(r"SpaceClaim\.Api\.[A-Za-z0-9]+\.DesignBody", re.IGNORECASE) @@ -119,9 +103,6 @@ def test_scscript_simple_script(modeler: Modeler): # Discovery (.dscript) def test_dscript_simple_script(modeler: Modeler): - # Skip on CoreService - skip_if_core_service(modeler, test_dscript_simple_script.__name__, "run_discovery_script_file") - result = modeler.run_discovery_script_file(DSCOSCRIPTS_FILES_DIR / "simple_script.dscript") assert len(result) == 2 pattern_db = re.compile(r"SpaceClaim\.Api\.[A-Za-z0-9]+\.DesignBody", re.IGNORECASE)