ansys / ansys/pydynamicreporting

Bug located in Service().create_item()

Open
#290 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
12
Forks
5
Avg merge
3d 14h
Merged PRs (30d)
9

Description

### 🔍 Before submitting the issue

- [x] I have searched among the existing issues
- [x] I am using a Python virtual environment

### 🐞 Description of the bug

Server().create_item() correctly fails to push an item if the string check fails producing an informative output. This behaviour is not translated to Service().create_item() method, which is also used to create and push items. The items fail to be pushed to the server but there is no feedback.

### 📝 Steps to reproduce

1. Connect to a database using pyadr:
$adr_service = adr.Service(ansys_installation = install_loc, db_directory = local_report_dir)
$adr_service.start(create_db=True)
2. Use the create_item() method to push an item with and illegal name:
$my_text = adr_service.create_item(obj_name='a'*256)
3. To check whether the item use .query method
$item_list = adr_service.query()

Expected behaviour: In step 2 some error exception should print

### 💻 Which operating system are you using?

Windows

### 📀 Which ANSYS version are you using?

_No response_

### 🐍 Which Python version are you using?

3.10

### 📦 Installed packages

```shell
2to3==1.0
aiohappyeyeballs==2.6.1
aiohttp==3.11.16
aiosignal==1.3.2
annotated-types==0.7.0
ansys-api-pyensight==0.4.7
ansys-dynamicreporting-core==0.10.1.dev0
ansys-fluidprops==25.1.5
ansys-pyensight-core==0.10.0.dev0
ansys-pythonnet==3.1.0rc0
ansys-simba-core==0.51.1
ansys-simba-plugin-post==0.9.5
ansys-simba-settings==0.22.1
anyio==4.9.0
asgiref==3.6.0
async-timeout==5.0.1
attrs==24.2.0
boto3==1.26.52
botocore==1.29.165
build==1.2.2.post1
cei==1.0
certifi==2024.7.4
cffi==1.17.1
chardet==3.0.4
charset-normalizer==3.4.1
click==8.1.8
clr_loader==0.2.7.post0
colorama==0.4.6
contourpy==1.3.1
coverage==7.4.3
cycler==0.12.1
dataclasses-json==0.6.7
debugpy==1.6.4
Deprecated==1.2.18
dill==0.3.9
distro==1.9.0
Django==4.2.19
django-guardian==2.4.0
djangorestframework==3.15.2
dnspython==2.7.0
docker==7.1.0
docutils==0.21.1
enum34==1.1.6
exceptiongroup==1.2.2
execnet==2.1.1
fastapi==0.115.12
feedparser==6.0.10
filelock==3.7.1
fonttools==4.56.0
frozenlist==1.5.0
future==0.18.0
googleapis-common-protos==1.52.0
grpcio==1.56.2
grpcio-status==1.56.2
grpcio-tools==1.56.2
h11==0.14.0
httpcore==1.0.7
httpx==0.28.1
idna==3.10
iniconfig==2.1.0
jmespath==1.0.1
kiwisolver==1.4.8
llvmlite==0.40.1
lxml==5.3.0
Markdown==3.7
marshmallow==3.26.1
matplotlib==3.6.0
multidict==6.4.2
mypy-extensions==1.0.0
numba==0.57.0
numpy==1.23.5
packaging==24.2
pandas==2.0.3
patsy==1.0.1
pillow==11.1.0
pip-system-certs==4.0
platformdirs==4.3.7
pluggy==1.5.0
pooch==1.8.2
propcache==0.3.1
protobuf==4.25.6
psutil==5.9.2
psycopg==3.2.6
psycopg-binary==3.2.6
py==1.11.0
pybind11==2.10.0
pycparser==2.22
pydantic==2.11.3
pydantic_core==2.33.1
pygltflib==1.16.3
Pymem==1.14.0
pyparsing==3.2.3
pypng==0.20220715.0
pyproject_hooks==1.2.0
PyQt5-commercial==5.15.10
PyQt5_sip==12.17.0
PyQtChart-commercial==5.15.6
PyQtDataVisualization-commercial==5.15.5
PyQtWebEngine-commercial==5.15.6
pytest==7.2.2
pytest-cov==3.0.0
pytest-forked==1.6.0
pytest-mock==3.10.0
pytest-rerunfailures==11.1.2
pytest-xdist==1.31.0
python-dateutil==2.9.0.post0
python-pptx==0.6.19
pytz==2023.3
pyvista==0.44.0
pywin32==304
QtPy==2.4.1
requests==2.32.3
s3transfer==0.6.2
scipy==1.9.3
scooby==0.10.0
sgmllib3k==1.0.0
sip==6.10.0
six==1.17.0
sniffio==1.3.1
sqlparse==0.4.4
starlette==0.46.1
statsmodels==0.14.2
toml==0.10.2
tomli==2.2.1
typing-inspect==0.9.0
typing-inspection==0.4.0
typing_extensions==4.12.2
tzdata==2025.1
tzlocal==5.3.1
urllib3==1.26.10
usd-core==24.8
uvicorn==0.34.0
vtk==9.4.1
websocket-client==1.8.0
websockets==15.0.1
wrapt==1.17.2
XlsxWriter==3.0.2
yarl==1.19.0
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue through Service().create_item() with an obj_name of 256 characters, then compare its behavior with Server().create_item(), which already reports the failed string check. Use Service().query() to verify that the item was not pushed. Done means an invalid name produces an informative exception and the behavior is covered by a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.