typesafehub / conductr-cli

CLI for Lightbend ConductR
Other
16 stars 21 forks source link

bndl: Treat empty list args as None #506

Closed markusjura closed 7 years ago

markusjura commented 7 years ago

Empty bndl list arguments such as annotations, tags and roles need to be treated as None in bndl_utils.load_bundle_args_into_conf. This was the case for annotations and tags, but not for roles.

The PR is changes the roles logic so that empty lists are treated as None.

Fixes the sbt-conductr build issues on Travis: https://travis-ci.org/typesafehub/sbt-conductr/builds/246078520#L1980-L2019

In other words, without fixing this bug, the roles of each loaded bundle during conduct load is overridden to an empty roles list in case no additional bundle configuration has been provided. This is because without this fix the bndl_utils.load_bundle_args_into_conf function always created a bundle configuration overlay with empty roles, considering that the defaults roles argument of bndl is [], which got invoked during a conduct load and therefore overriding the roles of bundle itself.

The original bug got introduced by PR https://github.com/typesafehub/conductr-cli/pull/503.

Unit tests have been added to check that bndl arguments with an empty list are not added to the bundle configuration file.