tests/unit/test_charm.py fileΒΆ

The tests/unit/test_charm.py file is the companion to src/charm.py for unit testing. It is pre-populated with standard constructs used by unittest and Harness.

This file is created automatically by charmcraft init and it is pre-populated with standard constructs used by unittest and Harness, along the lines below:

# Copyright 2023 Ubuntu
# See LICENSE file for licensing details.
#
# Learn more about testing at: https://juju.is/docs/sdk/testing

import unittest

import ops
import ops.testing
from charm import MyK8SCharmCharm


class TestCharm(unittest.TestCase):
    def setUp(self):
    self.harness = ops.testing.Harness(MyK8SCharmCharm)
    self.addCleanup(self.harness.cleanup)
    self.harness.begin()

    def test_pebble_ready(self):
    # Simulate the container coming up and emission of pebble-ready event
    self.harness.container_pebble_ready("some-container")
    # Ensure we set an ActiveStatus with no message
    self.assertEqual(self.harness.model.unit.status, ops.ActiveStatus())