Copyright © 2019–2025 The Open Library Foundation
This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.
General purpose library to help with FOLIO backend service development and testing. This library provides utilities for database operations, configuration management, service exception handling, and testing support for both Vert.x and Spring-based FOLIO modules.
This project consists of three modules:
- folio-service-tools-dev - Core utilities for database operations, configuration, REST utilities, and service exception handling
- folio-service-tools-test - Testing utilities and helpers for FOLIO backend services
- folio-service-tools-spring-dev - Spring Framework integration support for FOLIO modules
- Java: 21+
- Vert.x: 5.0.x+
- Spring Boot: 3.5.x+ (for spring-dev module)
- RAML Module Builder: 36.0.x+
- DbUtils - Database query execution and transaction helpers
- CqlQuery - CQL (Contextual Query Language) query building and parsing
- RowSetUtils - Utilities for working with Vert.x SQL client RowSet results
- PostgreSQL Exception Translation - Automatic translation of PostgreSQL errors to meaningful exceptions
- ModConfiguration - Read configuration from mod-configuration service
- Support for typed configuration values (String, Integer, Long, Double, Boolean)
- Default value fallback support
- Partial functions for functional error handling
- Standardized exception types for common service errors
- Database exception translation to business exceptions
- Testing utilities for Vert.x-based services
- WireMock integration for mocking external services
- PostgreSQL testing support via RMB
- REST-assured utilities for API testing
- Kafka consumer/producer configuration and support
- Spring-based service development utilities
- Integration with FOLIO Spring base
For more FOLIO developer documentation, visit dev.folio.org
See project FST at the FOLIO issue tracker.
See CONTRIBUTING.md for contribution guidelines.