Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: avoid changing os.environ in Harness (#1359)
Harness needs to provide a `JUJU_VERSION` value to set up the `_JujuContext`, but it doesn't have to be in `os.environ`, it can just be in the dictionary passed to create the `_JujuContext` object. In production, `os.environ` would actually have this, so it's more realistic for it to be present, but it would also have lots of the other `JUJU_` environment variables as well, and we don't want to have Harness simulate all those in the environment - we want people working with the ops tools to access those, not the environment directly. This change [broke the tests of at least one charm](canonical/charm-simple-streams#22) because it patches the environment to have specific values, and then creating the `Harness` object changes that. It seems better for us to not do this - if we did want to populate the environment to mimic Juju then we'd likely want that to be explicit, or done around the event emitting. It was also an accidental backwards compatiblity break.
- Loading branch information