The XNAT REST tests rely on two custom libraries:
grxnat: https://bitbucket.org/xnatdev/grxnat . If you're familiar with PyXNAT or xnatpy, this is a similar project where interacting with XNAT over REST is exposed in groovy (rather than python). While grxnat is written in groovy, it's compiled to a Java jar so it can be used within the Java-based REST tests. The mechanism for actually building, issuing, and validating the HTTP calls is done using the REST-assured (https://rest-assured.io/) library. The functionality for interacting with XNAT is all accessible via the XnatInterface
class. The following library offers several easy ways to grab XnatInterface
objects corresponding to standard test accounts.
The XNAT REST tests themselves (https://bitbucket.org/xnatdev/xnat_rest_tests) are fully Java, so adding/modifying tests requires no knowledge of groovy.