예제 #1
0
    def validate_create_config_rollbacker(self, params, expected_decorators):
        factory = gu.GenericUpdateFactory()
        config_rollbacker = factory.create_config_rollbacker(
            params["verbose"], params["dry_run"])
        for decorator_type in expected_decorators:
            self.assertIsInstance(config_rollbacker, decorator_type)

            config_rollbacker = config_rollbacker.decorated_config_rollbacker

        self.assertIsInstance(config_rollbacker, gu.FileSystemConfigRollbacker)
        if params["dry_run"]:
            self.assertIsInstance(config_rollbacker.config_wrapper,
                                  gu.DryRunConfigWrapper)
            self.assertIsInstance(
                config_rollbacker.config_replacer.config_wrapper,
                gu.DryRunConfigWrapper)
            self.assertIsInstance(
                config_rollbacker.config_replacer.patch_applier.config_wrapper,
                gu.DryRunConfigWrapper)
        else:
            self.assertIsInstance(config_rollbacker.config_wrapper,
                                  gu.ConfigWrapper)
            self.assertIsInstance(
                config_rollbacker.config_replacer.config_wrapper,
                gu.ConfigWrapper)
            self.assertIsInstance(
                config_rollbacker.config_replacer.patch_applier.config_wrapper,
                gu.ConfigWrapper)
예제 #2
0
    def test_create_config_replacer__invalid_config_format__failure(self):
        # Arrange
        factory = gu.GenericUpdateFactory()

        # Act and assert
        self.assertRaises(ValueError, factory.create_config_replacer,
                          "INVALID_FORMAT", self.any_verbose, self.any_dry_run)
예제 #3
0
    def validate_create_patch_applier(self, params, expected_decorators):
        factory = gu.GenericUpdateFactory()
        patch_applier = factory.create_patch_applier(params["config_format"],
                                                     params["verbose"],
                                                     params["dry_run"])
        for decorator_type in expected_decorators:
            self.assertIsInstance(patch_applier, decorator_type)

            patch_applier = patch_applier.decorated_patch_applier

        self.assertIsInstance(patch_applier, gu.PatchApplier)
        if params["dry_run"]:
            self.assertIsInstance(patch_applier.config_wrapper,
                                  gu.DryRunConfigWrapper)
        else:
            self.assertIsInstance(patch_applier.config_wrapper,
                                  gu.ConfigWrapper)