Arjuna

Latest version: v1.2.24

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

Scan your dependencies

Page 2 of 5

1.2.10

Following are the significant updates in this build:

- Data Entity
- Data Entities are mutable by default.
- An object of a data entity can be made immutable by passing freeze=True as argument.
- Random class
- Added Random.person and Random.address calls to generate Person and Address data entity objects.
- Added support for providing name and/or domain in Random.email
- Added Random.alphabet method
- Revamped documentation for Random class and wrote additional tests
- HTTP Message
- Added support for strict/non-strict mode in store section. Default is strict.
- Added support for jpath in store section.
- HTTP Action
- Added support for aliasing of data
- Data can flow between messages as the action store is updated with extracted data from messages.
- Documention created for most common use cases.
- Fixes in Xml.from_str method.

1.2.9

The build contains backward incompatible changes for placement of resource module/package and Http.service is to be used instead of Http.session. See the full list of additional features and modifications below:

- Hook restructuring: Resources, Entities and Config hooks will now be present under project/libs/hook sub-package.
- Data Entity and Data Generator support added to HTTP Action in SEAMful model.
- Arjuna Format String now supports special lookups
* data.xyz looks up in data container.
* abc.xyz looks up in abc container.
* xyz looks up for a direct name xyz and then also looks up in data container.
* Conceptual support added for a.b.c or even a.b.c[123] style placements. This is yet to be tested.
- Internal module added for dynamic importing.
- New Arjuna Options added for hook packages.
- Step wise logging added for HTTP Action and Message for clarity. Custom string representations added to the objects themselves.
- Added dictionary behavior to dynamic Data Entity that Arjuna generates using data_entity call.
- Objects of these classes are immutable.
- Added **remove** support to all dictionary methods and **as_dict** method to exclude one of more keys.
- Arjuna's HTTP Layer automation now exposes only HttpService as a top object for doing seamful as well as simple automation.
- HttpSession is an Arjuna internal object (non-TPI). Http class methods for sending requests have been removed as in practice non-auto cookie management is rarely required. This reduces the public interface of Arjuna thereby simplying learning curve and documentation.
- Initial support for HTTP Action externalization added.
- Added Hover as a waitable operation.
- JsonDict updates __getattr__ method to support returning of Arjuna Json objects (JsonDict/JsonList).
- Fix in logger functionality to convert msg to string representation to allow non-string objects to be logged.
- Fixes in assert_match method of JsonDict.
- Data Record is now aware of Arjuna's generator construct and calls its generate() method automatically even if not called explicitly.
- Added jsonpath-ng==1.5.3 to dependencies.
- Support for Min len in Random string generation. Added provision for strict usage and custom delimiter.
- Added fixed_length_str method in Random class
- JsonDict.assert_match: ignore_keys is changed to ignore argument which supports Jpath based igorning of content in JsonDict while matching.
- JsonDict now support del keyword for deleting an item.
- Added pop/extend/append methods to JsonList

1.2.0

This release marks the beginning of 1.2.x series of Arjuna with 40+ builds released in the 1.1.x series. More features in web automation as well as SEAMful HTTP Layer automation will be the 2 primary targets for this series along with any fixes in existing features.

- Minor fixes in this build in the Json objects.
- Docs added for HTTP Message abstraction and more information added to HTTP Layer automation (with docs made more modular than earlier).

1.1.43

Arjuna architecture is changed. Rather than launching pytest.main(), it acts as pytest plugin. Support for custom HTTP proxy is added. HTTP Externalization support is in progress. Message part of HTTP abstraction model is decently covered with more features on the way. Many example tests have been added in arjex. Following is a more complete list:

- Arjuna acts as a pytest plugin for the purpose of test execution.
- CLI options are significantly updated. Old usage is deprecated. Refer the new docs.
- Added !join construct support in YAML files.
- Upgraded pytest and selenium versions.
- Arjuna now needs Python 3.8+
- Arjuna header is shown when any command is executed.
- Updated copyright info.
- Added advanced assertions:
- approximate equality comparison: assert_approx_equal and assert_approx_not_equal
- asserting raised exceptions: assert_exceptions (callable or as context manager). Supports regex match for string repr of exception.
- --project accepts project path relative to current working directory. It also accepts '.'
- Internal improvements to cater to pytest's auto-disocvery mehchanism in situation of multiple projects.
- Debug mode in VSCode works. Arjuna selection uses a uniform way of determining qual name for all situations.
- Fixed new Arjuna test project creation
- Changed laxml dependency to lxml>=4.4.1
- A custom Http Proxy can be set for GUI Automation and HTTP Automation.
- Arjuna options - HTTP_PROXY_ENABLED, HTTP_PROXY_HOST, HTTP_PROXY_PORT introduced.
- Proxy is disabled by default.
- Stefan's mix for size assertion exception message merged.
- Fix for max_wait in GNS
- Fix in proxy setting for Selenium
- Fix in Json.from_dict
- HttpAuto
- strict argument has been deprecated in HTTP method calls.
- Support for externalization of HTTP msg (Basic Support. More features will unfold in upcoming builds.)
- remove_none default has been changed to True for Data Entity's .as_dict() method.
- Added support for data_entity as a valid content without converting using as_dict().
- Added support for Parsed cookie and HttpCookie Arjuna class.
- Support for checking secure and HttpOnly flags.
- HttpRequest.text returns Arjuna's Text object. For raw text, use .content
- Support for has/match sections for basic existence and equality assertion on content.
- Support for store and validate sections in message for advanced assertions beyond has (exists) and match (equality). Works for headers as well.
- JsonDict can be compared with YamlDict or DataEntity. JsonList can be compared with YamlList.

1.1.34

- Added !join construct support in YAML files.
- Upgraded pytest and selenium versions.
- Arjuna now needs Python 3.8+

1.1.32

- Arjuna acts as a pytest plugin for the purpose of test execution.
- CLI options are significantly updated. Old usage is deprecated. Refer the new docs.

For next versions, newer pytest versions will be tried out. Once the usage stabilizes, Arjuna 1.2 production build will be released.

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.