Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Functional testing for Operator Charms #438

Open
balbirthomas opened this issue Apr 13, 2021 · 0 comments
Open

Functional testing for Operator Charms #438

balbirthomas opened this issue Apr 13, 2021 · 0 comments

Comments

@balbirthomas
Copy link

balbirthomas commented Apr 13, 2021

Introduction

Zaza is an excellent platform for integration testing of Operator Charms. So for instance it allows deploying a group of charms, relating them and checking that the reach a desired goal state. It seems possible to extend Zaza to support functional testing of charms in isolation (as discussed below). The operator framework's unit testing harness also supports testing charms in isolation. However this unit testing does not actually deploy the charm and hence the unit tests need to mock/patch the underlying application interface. For example a unit tests of a MongoDB charm do not test the charm using a real deployed MongoDB instance. Further even though the Operator Framework provides a rich feature set for unit testing relation handling by charms they do so in a very controlled environment in isolation from the underlying application.

Proposal

Zaza can support functional testing of all functionality of charms (in isolation from other charms), using an Autogenerated Proxy Charm. For example suppose one would like to test a MongoDB charm. The metadata.yaml of the MongoDB charm lists all the relations that the MongoDB charm supports. This should be sufficient information to generate a Proxy charm that allows a Zaza functional test to interact with the MongoDB charm.

coreycb pushed a commit to coreycb/zaza that referenced this issue Oct 17, 2023
…embership-tests

Add ldap group/membership tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant