---
title: Charmhub | Deploy Harness Extensions using Charmhub - The Open Operator Collection
description: Deploy the latest version of Harness Extensions on any cloud.
url: https://charmhub.io/harness-extensions/libraries/capture_events
---

# Harness Extensions

[Pietro Pasotti](https://charmhub.io/publisher/ppasotti "View all packages from Pietro Pasotti")

* [Pietro Pasotti](https://charmhub.io/publisher/ppasotti "View all packages from Pietro Pasotti")

Platform:

20.04

beta 3

```
juju deploy harness-extensions --channel beta
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

[Toggle side navigation](https://charmhub.io/harness-extensions/libraries/capture_events#drawer)

## charms.harness\_extensions.v0.capture\_events

* [*Docstrings*Docstrings](https://charmhub.io/harness-extensions/libraries/capture_events)
  [*Code*Source code](https://charmhub.io/harness-extensions/libraries/capture_events/source-code)
* + Download

    Fetch library

    ```
    charmcraft fetch-lib charms.harness_extensions.v0.capture_events
    ```

    [Download capture\_events.py](https://charmhub.io/harness-extensions/libraries/capture_events/download)
  + *Last updated* 24 Jun 2022
  + *Revision* Library version 0.3

This is a library providing a utility for unittesting events fired on a
Harness-ed Charm.

Example usage:

> > > from charms.harness\_extensions.v0.capture\_events import capture
> > > with capture(RelationEvent) as captured:
> > > harness.add\_relation('foo', 'remote')
> > > assert captured.event.unit.name == 'remote'

---

Index

* [def capture\_events(
  charm
  )](https://charmhub.io/harness-extensions/libraries/capture_events#capture_events)
* [class Captured](https://charmhub.io/harness-extensions/libraries/capture_events#captured)
* + [def event(
    self)](https://charmhub.io/harness-extensions/libraries/capture_events#captured-event)
* + [def event(
    self,
    val)](https://charmhub.io/harness-extensions/libraries/capture_events#captured-event)
* [def capture(
  charm,
  typ\_
  )](https://charmhub.io/harness-extensions/libraries/capture_events#capture)

#### def capture\_events(charm: CharmBase)

Description

Capture all events of type `*types` (using instance checks). None

Methods

#### class Captured

Description

Object to type and expose return value of capture(). None

Methods

Captured.
event(

*self*
)

Description

Return the captured event. None

Captured.
event(

*self*

,
val: \_T
)

#### def capture(     charm: CharmBase,     typ\_ )

Capture exactly 1 event of type `typ_`.

Description

Will raise if more/less events have been fired, or if the returned event
does not pass an instance check.
