Blog

Release Scribble 0.3.2

Happy to announce a new release of Scribble. We have an addition to the network module, introducing a socket-based UDP received for testing network communication locally, and a set of PDF Matchers have been added, allowing to verify results of PDF operations. Finally, some minor issues have been fixed and the CI/CD build pipeline refactored which now automatically publishes project documentation to the wiki.

Bug

  • [SCRIB-62] - Default qualifier is not implicit

Story

Task

Release Scribble 0.3.1

We start the new year with a minor improvement release to Scribble. The release 0.3.1 support CDI Qualifiers to support injection into qualfied injection targets in order to specify injection points with qualifiers in unit tests. Find examples in the CDI - Usage documentation.

Story

  • [SCRIB-54] - Support Qualifiers for CDI Injection
Release Scribble 0.3.0

We're proud to announce a new version of the the Scribble testing library! The biggest changes are the new modularization and documentation. For every functional aspect there is now a separate module so that not a whole load of unused dependencies have to be included in your project if you only require just a single functional aspect. In addition to this, the entire project documentation is now kept in the source and be generated using maven's site support. This includes this wiki documentation as well, although the publishing process is not yet part of the release build jobs.

As new features for testing we introduce a http server as a TestRule that can be set up in various ways to server static content. It's still rather limited, but will be contiuously improved in future releases. Further features are the possibility to create temporary zip files, record system out and err via a TestRule and capture and restore System Properties - a simple rule that helps keeping the test environment clean, and finally a matcher for matching date strings against a data format.

Task

Story

  • [SCRIB-35] - Embedd static HTTP content as a rule
  • [SCRIB-43] - Build documentation as part of the release
  • [SCRIB-49] - Create zipped temp file from resources
  • [SCRIB-50] - Date Format Matcher
  • [SCRIB-52] - Rule for capturing System.out and System.err
  • [SCRIB-53] - Rule for setting and restoring System Properties

Bug

  • [SCRIB-39] - ConfigPropertyInjection#isMatching sets default value
  • [SCRIB-51] - TemporaryFile not usable as ClassRule
  • [SCRIB-57] - ApacheDS all prevents exclusion of modules
  • [SCRIB-58] - Remove SLF4J Binding dependencies
  • [SCRIB-59] - DirectoryServer/DirectoryService not working as ClassRule
Release Scribble 0.2.0

We're proud to announce a new version of the the Scribble testing library! The new version has support for an embedded ldap server which allows to write tests against an ldap server without having to rely on existing infrastructure. Further, the JCR support has been improved, now it's possible to pre-initialize a JCR repository with content from a descriptor file and to create a security-enabled in-memory repository. Some additional improvements have been made in the CDI injection support and the matchers have been extended for availability checks for URLs.

Story

  • [SCRIB-1] - Builder support for LDAP Server and Service
  • [SCRIB-2] - Make LDAP Port configurable
  • [SCRIB-5] - Matchers for availability of an URL
  • [SCRIB-10] - Support for prepared JCR Content
  • [SCRIB-12] - Support security enabled content repositories
  • [SCRIB-14] - Add Convenience method for admin login
  • [SCRIB-33] - Convenience Methods for Directory creation
  • [SCRIB-34] - Convenience Method for anonymous login
  • [SCRIB-38] - Supply package-info.java

Bug

  • [SCRIB-31] - Primitive types not support for ConfigProperty injection
  • [SCRIB-32] - String to Number conversion of default values in ConfigProperty injection fails
  • [SCRIB-41] - LDAP Rules are not properly applied
  • [SCRIB-42] - ResourceAvailabilityMatcher is not compatible with URL
  • [SCRIB-48] - Directory Rules can not be used as ClassRules

 

A new candidate for version 0.2.0 has been released, fixing a bug that prevents using the ResourceAvailabilityMatcher in assertThat statements for checking availability of a URL.

Bug

[SCRIB-42] - ResourceAvailabilityMatcher is not compatible with URL

A new candidate for version 0.2.0 has been released, fixing a bug that prevents using the DirectoryServer rule when created with a Directory using Scribble builders.

Bug

  • [SCRIB-41] - LDAP Rules are not properly applied

Story

A first alpha version of Scribble 0.2.0 has been released yesterday. Following activities will comprise enhancing the documentation in the wiki, killing some more issues from code analysis and incorporating this release into the test suite of inkstand, hopefully finding some bugs or deficiencies that can easily be fixed.

Known Limitations

The ContentLoader rule has some limitations regarding the prepared content

  • No JSON support, only XML content definitions are supported. JSON support may be added in the future if there is a need for it
  • binary content is only supported when being embedded as base64 string, no external reference support is provided
  • no support for defining reference-typed properties (REFERENCE/WEAKREFERENCE)

Bug

  • [SCRIB-31] - Primitive types not support for ConfigProperty injection
  • [SCRIB-32] - String to Number conversion of default values in ConfigProperty injection fails

Story

  • [SCRIB-1] - Builder support for LDAP Server and Service
  • [SCRIB-2] - Make LDAP Port configurable
  • [SCRIB-5] - Matchers for availability of an URL
  • [SCRIB-10] - Support for prepared JCR Content
  • [SCRIB-12] - Support security enabled content repositories
  • [SCRIB-14] - Add Convenience method for admin login
  • [SCRIB-33] - Convenience Methods for Directory creation
  • [SCRIB-34] - Convenience Method for anonymous login
Release Scribble 0.1.3

For the release work on Inkstand 0.2 some issues in the injection support had to be fixed and released

Bug

  • [SCRIB-26] - Check for null injection target
  • [SCRIB-27] - TcpPort has no proper toString() representation
  • [SCRIB-30] - Field candidates are not collected for null-values

Story

  • [SCRIB-29] - Injection does not fail if no target is found
Release Scribble 0.1.2

Release 0.1.2 went public some minutes ago, containing some fixes and smaller improvements to the JCR support

Bug

  • [SCRIB-16] - @Inject Annotations is not considered
  • [SCRIB-19] - InjectableHolders are not recognized properly when injecting
  • [SCRIB-23] - Sonar Issue: The use of XPath.evaluate() is vulnerable to XPath injection
  • [SCRIB-24] - Sonar Issue: The usage of /DocumentBuilder.parse(...) is vulnerable to XML External Entity attacks
  • [SCRIB-25] - Sonar Issue: Use a cryptographically strong random number generator (RNG) like "java.security.SecureRandom" in place of this PRNG

Story

  • [SCRIB-11] - Convenience Methods for InMemory and StandaloneRepository creation
  • [SCRIB-20] - Initialize Repository with CND node types

Task

  • [SCRIB-17] - Set up Build for master branch
  • [SCRIB-18] - Set up Test Quality Assesment
  • [SCRIB-21] - Update Apache DS Dependency to 2.0.0-M20
  • [SCRIB-22] - Fix "Copyright and license headers should be defined" Rule configuration
Release Scribble 0.1.1

I released version 0.1.1 containing some small fixes

Release Notes - Scribble - Version 0.1.1

Bug

  • [SCRIB-7] - ConfigProperty injection ignores missing @Inject
  • [SCRIB-9] - Test for JNDIContentRepository is missing
  • [SCRIB-15] - injection of primitive types does not work

 

 

Release Scribble 0.1.0

Yesterday evening I have released the first version under the inkstand.io project. The version 0.1.0 comprises the following features

  • Test Rules
    • JCR Content Repositories
    • LDAP Server
    • Temporary Files
  • Injection Support
  • Matchers and Assertions
    • JCR (at least some basic assertions)
    • Network (Port Availability)

Everything else included can be considered experimental.

Further I start populating this wiki with documentation.