import stat from shutil import rmtree import subprocess from contextlib import contextmanager import pytest from univention.appcenter.actions import get_action, Abort from univention.appcenter.app_cache import Apps from univention.appcenter.settings import SettingValueError from univention.appcenter.ucr import ucr_get, ucr_save from univention.appcenter.log import log_to_logfile, log_to_stream from univention.appcenter.docker import Docker log_to_logfile() log_to_stream() class Configuring(object): def __init__(self, app, revert='configure'): self.settings = set() self.app = app self.revert = revert def __enter__(self): return self def set(self, config): self.settings.update(config) configure = get_action('configure') configure.call(app=self.app, set_vars=config, run_script='no')
try: function(app_center, function.__name__.replace("_", "-")) except Exception: print("Error in {}{}".format(function.__name__, function.__doc__)) raise print("Ok - {}{}".format(function.__name__, function.__doc__)) return wrapper def fail(message): raise AppCenterTestFailure(message) if __name__ == "__main__": app_logger.log_to_stream() app_logger.get_base_logger().setLevel(logging.WARNING) with local_appcenter(): app_center = AppCenterOperations() package = AppPackage.with_package(name="my-test-app", app_version="1.0") package.build_and_publish() test = TestOperations(app_center, package.app_id) test.test_install_remove_cycle() with test.test_install_safe(): dependency = DebianPackage("my-dependency")