From fd2b897f2f3b98230ce63e25d23bdf8447d3ddad Mon Sep 17 00:00:00 2001 From: eikek Date: Tue, 28 May 2024 20:54:53 +0200 Subject: [PATCH] Honor default value `true` for `collectOutput` Fixes #2629 --- .../main/scala/docspell/addons/runner/RunnerUtil.scala | 4 ++-- .../src/test/scala/docspell/addons/AddonMetaTest.scala | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/addonlib/src/main/scala/docspell/addons/runner/RunnerUtil.scala b/modules/addonlib/src/main/scala/docspell/addons/runner/RunnerUtil.scala index 7f44dcea76..39c2a52f36 100644 --- a/modules/addonlib/src/main/scala/docspell/addons/runner/RunnerUtil.scala +++ b/modules/addonlib/src/main/scala/docspell/addons/runner/RunnerUtil.scala @@ -110,7 +110,7 @@ private[addons] object RunnerUtil { ): F[AddonResult] = for { stdout <- - if (ctx.meta.options.exists(_.collectOutput)) CollectOut.buffer[F] + if (ctx.meta.parseResult) CollectOut.buffer[F] else CollectOut.none[F].pure[F] cmdResult <- SysExec(cmd, logger, ctx.baseDir.some) .flatMap( @@ -135,7 +135,7 @@ private[addons] object RunnerUtil { out <- stdout.get _ <- logger.debug(s"Addon stdout: $out") result = Option - .when(ctx.meta.options.exists(_.collectOutput) && out.nonEmpty)( + .when(ctx.meta.parseResult && out.nonEmpty)( JsonParser .decode[AddonOutput](out) .fold(AddonResult.decodingError, AddonResult.success) diff --git a/modules/addonlib/src/test/scala/docspell/addons/AddonMetaTest.scala b/modules/addonlib/src/test/scala/docspell/addons/AddonMetaTest.scala index 38e37b38a7..7f5ffca87e 100644 --- a/modules/addonlib/src/test/scala/docspell/addons/AddonMetaTest.scala +++ b/modules/addonlib/src/test/scala/docspell/addons/AddonMetaTest.scala @@ -35,4 +35,13 @@ class AddonMetaTest extends CatsEffectSuite with TestLoggingConfig with Fixtures _ = assertEquals(meta, dummyAddonMeta) } yield () } + + test("parse yaml with defaults") { + val yamlStr = """meta: + | name: "test" + | version: "0.1.0" + |""".stripMargin + val meta = AddonMeta.fromYamlString(yamlStr).fold(throw _, identity) + assert(meta.parseResult) + } }