My ideal poolable/lockable resources plugin would look like this:
- Be able to define separate resources
- Each resource can contain parameters (host, port, path, database parameters...) that can be retrieved at runtime in the pipeline
- Resources can belong to a group/pool: when you ask for one resource from the group/pool, you get the first free one
With such a plugin, I could define a 'farm' of integration testing servers where each resource/server would contain parameters like host, linked db settings...
Before running integration tests, I could ask for one free server instance from the pool/farm, extract the needed parameters (host for selenium, db settings so my tests can fill/clean/assert the db content...), run my tests, then release that instance.