# Event listener (test fixture)

addons.desc.integration.listener This is a **test fixture** used by the integration tests; it is not offered in the marketplace.

| Field | Value |
|---|---|
| Addon id | `integration-listener` |
| Kind | `integration` |
| Provides | `listener` |
| Engine | `wasm` |
| ABI | `0.3.0` |
| Version | 0.1.0 |
| Author | MythicalSystems |
| Source | `extensions/addons/fixture-listener` |
| Permissions (shown at install) | none |

## Capabilities

| Capability | Value |
|---|---|
| [`hooks`](capabilities.md) | `[{"event":"before:integration-lifecycle:greet","priority":"low"},{"event":"after:integration-lifecycle:greet"},{"event":"finished:integration-lifecycle:greet","priority":"monitor"}]` |
| [`kv`](capabilities.md) | true |
| [`routes`](capabilities.md) | `[{"access":"admin","method":"GET","path":"/log","permission":"reports.read"}]` |

## Events and hooks

| What | Value |
|---|---|
| Listens to (`events`) | none |
| Hooks | `before:integration-lifecycle:greet`, `after:integration-lifecycle:greet`, `finished:integration-lifecycle:greet` |
| Emits | none |
| Mixins | none |
| Scheduled jobs | none |

## Settings and secrets

No admin settings are declared in `addon.json` or in the source.

Secrets (stored encrypted, never returned by the API): none.

Outbound HTTP allowed to: none. `$server` is the hostname of the server configured for the product, `$setting:<key>` the host of that setting.

## HTTP routes

Mounted under `/api/v1/addons/integration-listener/`.

| Method | Path | Access | Permission |
|---|---|---|---|
| GET | `/log` | admin | `reports.read` |

## addon.json

_extensions/addons/fixture-listener/addon.json_

```json
{
  "abi": "0.3.0",
  "author": "MythicalSystems",
  "capabilities": {
    "hooks": [
      {
        "event": "before:integration-lifecycle:greet",
        "priority": "low"
      },
      {
        "event": "after:integration-lifecycle:greet"
      },
      {
        "event": "finished:integration-lifecycle:greet",
        "priority": "monitor"
      }
    ],
    "kv": true,
    "routes": [
      {
        "access": "admin",
        "method": "GET",
        "path": "/log",
        "permission": "reports.read"
      }
    ]
  },
  "description": "addons.desc.integration.listener",
  "engine": "wasm",
  "id": "integration-listener",
  "kind": "integration",
  "name": "Event listener (test fixture)",
  "permissions": [],
  "provides": "listener",
  "settings": [],
  "version": "0.1.0",
  "wasm": "addon.wasm"
}
```

