Skip to content

Commit 7c315d7

Browse files
authored
release mockopampserver 0.4.0 (#887)
Also expose 'MockOpAMPServer#setAgentConfigMap(...)' method for use in testing.
1 parent 013823d commit 7c315d7

File tree

4 files changed

+33
-7
lines changed

4 files changed

+33
-7
lines changed

packages/mockopampserver/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# @elastic/mockopampserver Changelog
22

3-
## Unreleased
3+
## v0.4.0
44

5+
- Expose `MockOpAMPServer#setAgentConfigMap(...)` method, for use in testing.
56
- chore: Excluding devDeps from Docker images should make them smaller.
67
- Fix an issue where Ctrl+C would not exit mockopampserver *when running the Docker image*.
78

packages/mockopampserver/lib/mockopampserver.js

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ class MockOpAMPServer {
184184
this._port = opts.port ?? DEFAULT_PORT;
185185
this._endpointPath = DEFAULT_ENDPOINT_PATH;
186186
if (opts.agentConfigMap) {
187-
this._setAgentConfigMap(opts.agentConfigMap);
187+
this.setAgentConfigMap(opts.agentConfigMap);
188188
}
189189
this._server = http.createServer(this._onRequest.bind(this));
190190
this._started = false;
@@ -210,7 +210,32 @@ class MockOpAMPServer {
210210
}
211211
}
212212

213-
_setAgentConfigMap(agentConfigMap) {
213+
/**
214+
* Set the data used by the server to provide `remoteConfig` to agents.
215+
*
216+
* `agentConfigMap` is of the form:
217+
* {
218+
* configMap: {
219+
* // Zero or more entries in `configMap`.
220+
* 'some-key': {
221+
* body: <Uint8Array of config file content>,
222+
* contentType: <string>
223+
* }
224+
* }
225+
* }
226+
*
227+
* Example usage:
228+
* const config = { deactivate_all_instrumentations: 'true' };
229+
* opampServer.setAgentConfigMap({
230+
* configMap: {
231+
* elastic: {
232+
* body: Buffer.from(JSON.stringify(config), 'utf8'),
233+
* contentType: 'application/json',
234+
* }
235+
* }
236+
* });
237+
*/
238+
setAgentConfigMap(agentConfigMap) {
214239
this._agentConfigMap = agentConfigMap;
215240
this._agentConfigMapHash = hashAgentConfigMap(agentConfigMap);
216241
}
@@ -362,7 +387,7 @@ class MockOpAMPServer {
362387
let agentConfigMap = {configMap: {}};
363388
const finish = () => {
364389
log.trace({agentConfigMap}, 'SetAgentConfigMap');
365-
this._setAgentConfigMap(agentConfigMap);
390+
this.setAgentConfigMap(agentConfigMap);
366391
res.writeHead(204);
367392
res.end();
368393
log.debug({req, res}, 'test API request: SetAgentConfigMap');

packages/mockopampserver/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/mockopampserver/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@elastic/mockopampserver",
3-
"version": "0.3.0",
3+
"version": "0.4.0",
44
"type": "commonjs",
55
"description": "A mock OpAMP server, useful for dev and testing",
66
"publishConfig": {

0 commit comments

Comments
 (0)