- Plugin name:
hbase
- Plugin class:
io.gatehill.imposter.plugin.hbase.HBasePluginImpl
- Basic HBase mock implementation.
- Supports protobuf or JSON for wire transport.
- Dummy Scanner queries.
- Individual table row/record retrieval.
To use this plugin, install it with the Imposter CLI:
imposter plugin install -d mock-hbase
This will install the plugin version matching the current engine version used by the CLI. The next time you run imposter up
, the plugin will be available.
To use this plugin, download the imposter-plugin-mock-hbase.jar
JAR file from the Releases page.
Enable it with the following environment variables:
IMPOSTER_PLUGIN_DIR="/path/to/dir/containing/plugin"
Read the Configuration section to understand how to configure Imposter.
Note: When using HBase Scanners, this plugin will return the 'server URL' in the Location
header of the scanner creation response. You might want to consider setting the serverUrl
property explicitly to the publicly-accessible address of the mock server, as described in the Usage section.
For working examples, see:
mock/hbase/src/test/resources/config
Let's assume your configuration is in a folder named config
.
Docker example:
docker run -ti -p 8080:8080 \
-v $PWD/config:/opt/imposter/config \
outofcoffee/imposter-all \
--serverUrl http://localhost:8080
Standalone Java example:
java -jar distro/hbase/build/libs/imposter-all.jar \
--configDir ./config \
--serverUrl http://localhost:8080
This starts a mock server using the HBase plugin. Responses are served based on the configuration files
inside the config
folder.
Using the example above, you can connect an HBase client, such as Apache RemoteHTable, to http://localhost:8080/ to interact with the API. In this example, you can interact with the exampleTable
table, as defined in hbase-plugin-config.json
and hbase-plugin-data.json
.
The following additional script context objects are available:
Object | Type | Description |
---|---|---|
tableName |
String |
The name of the HBase table. |
responsePhase |
io.gatehill.imposter.plugin.hbase.model.ResponsePhase |
The type of response being served. |
scannerFilterPrefix |
String |
The prefix from the filter of the result scanner. |
recordInfo |
io.gatehill.imposter.plugin.hbase.model.RecordInfo |
Information about the requested record, if a single record is requested. |