Arjuna

Latest version: v1.2.24

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 5

1.0.12

Major improvements in Data Entity, more facilities in Json and Yaml parsing, simplified project structure are some of the themes of this release. Following are finer details:

- Data Generation and Data Entities
- Added generator, processor, composite and composer classes.
- data_entity supports setting an attr to a function, generator or composite. These are called at the time of object initialization with facility for dynamic data generation every time.
- A single generated data object is processed using the processor provided in generator.
- Multiple generated data objects can be clubbed into with composite and composer constructs.
- Doc Comments
- data_entity
- generator, processor, composite and composer classes
- Docs added:
- Random class and Data Entity.
- Usage of generator, processor, composite and composer classes
- Json
- Added JsonSchemaBuilder class
- Added more methods to JsonSchema class
- JsonList supports JsonPath based find and findall.
- Repackaging
- json, html and xml modules moved to `tpi.parser`.
- data modules moved to `tpi.data`
- Arjex - New Examples/Tests
- Data Entity
- JsonPath-RW
- JsonPath-RW-EXT
- Genson-Schema-Creation
- Genson-Schema-Extraction
- Simplified Project Structure
- Cross-project resource importing
- Existing way unncessarily complex for beginners and too simplistic for advanced users.
- By default, all resource creators present in `lib/resource.py` are imported.
- For advanced usage, change it from module to package and add importable names to __all__ in __init__.py. Check arjex project for example.
- Removed Row Data Reference for Excel. Column ref is the default. /data/reference/excel contains such files. Doc and example code updated
- L10n files go directly in l10n directory.
- Data References
- Added support for Indexed Data References.
- Enhanced Query support allows for a blank query, thereby returning a DataRecord object for more involved coding.
- The string representing of such Data Record Shows data reference name and context/index used.
- Yaml module added to TPI's parser package.
- FIX:
- XmlNode's `text` and `texts` methods. lxml returned empty text for some HTML structures. Arjuna now uses .texts for both. Also changed "//text()" to ".//text()" in texts call.

1.0.11

- Added more parsing and building capabilities to Xml and Html objects.
- Cleaned up GuiSource code to use these capabilities.
- Added missing doc comments for Xml and Html classes.
- Doc comments for all Json classes.
- Added IterableAsserterMixin, separating commong assertions in JsonDict and JsonList classes.
- Added docs:
- HTTP Automation
- Json Parsing
- XML Parsing
- HTML Parsing

1.0.10

Minor, but important update

- User defined test attrs based selection fixed.
- Minor changes in OAuth interface.
- Doc comments added for OAuth classes.

1.0.8

Only one fix: conftest.py is lenient w.r.t. missing project structure for resource modules.

1.0.7

Minor fixes and feature enhancements:

- Doc Comments added:
- HttpSession, HttpRequest, HttpResponse
- Http Auto
- Added cusstom headers support for get, delete and put. Post support already existed.
- Data Entity
- Allows namedtuple style of multiple attr names in a single string.
- Clean string representation.
- Module based test selection
- Allows name with .py in -im, -em, as well as -ir/-er if rule string target is module.
- Removed last_request from HttpResponse. `.request` is the last request.

1.0.5

Goal for Arjuna 1.1.0 is to provide Http layer automation support. This build provides the foundational building blocks for the same along with significantly improved HTML reporting and fixes.

For Http Layer automation, this build should be considered a beta quality build. W.r.t. Arjuna 1.0, it is an improved production build for the features it supports.

- Auto-generated conftest.py now does a basic if ModuleNotFoundError was for corresponding resource module.
- HTTP Level Test Automation (Work In Progress, Alpha Quality)
- Added basic support for HttpSession along with HttpRequest and HttpResponse classes.
- Added support for OAuth2 using Implicit Grant and Client Grant.
- JSON
- Added JsonDict and JsonList support
- Support for JsonDict and JsonList assertions of different types.
- Support for auto-extraction of schema from a json string or object.
- Support for basic schema validation of Json.
- New Named exceptions:
- HttpUnexpectedStatusCode
- Data Entity
- Is not an alias of namedtuple
- DataEntity is an alias of Arjuna's data_entity call.
- Allows setting defaults for entity attributes.
- Test Report Meta Data
- Introduced Test-wise report meta data container.
- Arjuna.get_report_metadata() can used anywhere in the project to access it.
- In test functions and for_test resource functions, it can also be got using request.report_metadata
- Added an auto-fixture to add and clean entry for current test.
- Currently contains images and network packets.
- HTML Reporting
- Screenshots and Images:
- Take screenshshot adds the images to current test container.
- HTML report can include all screenshots.
- Rather than opening an image in a new window, it is opened in a modal window in the same tab.
- The modal window uses the same base64 embedded image.
- Network Traffic
- Arjuna Http request sending logic adds network packets to current test container.
- In case of redirects, all directs are captured.
- HTML report can includes all these packets.
- Method and URL are shown as a clickable button.
- Request/Response detail is shown in a modal window.
- Logging
- Added Trace level along with log_trace method.
- Newlines are removed from message.
- Track
- Long args are truncated to size 100.
- Long return vals are truncated to size 200.
- Allows `trace` level.

Fixes:
- Fix in create-project: lib/fixture -> lib/resource
- Cleanup for extraneous Logging errors caused by pytest in stderr entry in reports.
- Extraneous log message cleanup.
- Windows 10 logging handle related exception happens unexpectedly. Log message will not be written in such a case. Execution continues.
- Dispatcher issue in MultiElement when created using filters.

Page 5 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.