StackStorm / orquestaconvert

Converts Mistral workflows into Orchestra workflows
Apache License 2.0
13 stars 7 forks source link

Fix immediate references #26

Closed blag closed 5 years ago

blag commented 5 years ago

Fixes #25.

This PR adds support for translating context variable references into their expressions in when keys when the context variables are published within that transition. See #25 for more context.

The code checks that the types of the when expression and the variable's publish expression are the same, and if not, emits a very good warning (if I do say so myself) that contains good instructions for what users will have to do manually (although suggestions are still welcome).

There is a bit of complication when trying to avoid extraneous parentheses. The code has (as of this writing) four similar yet distinct regexes for replacing context variable references.

Unit tests are updated and I added an end-to-end integration workflow/test.

And one Python 3 compatibility bonus commit.

codecov-io commented 5 years ago

Codecov Report

Merging #26 into master will increase coverage by 0.04%. The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #26      +/-   ##
==========================================
+ Coverage   98.69%   98.74%   +0.04%     
==========================================
  Files          12       12              
  Lines         615      637      +22     
==========================================
+ Hits          607      629      +22     
  Misses          8        8
Impacted Files Coverage Δ
orquestaconvert/workflows/base.py 100% <100%> (ø) :arrow_up:
orquestaconvert/utils/yaml_utils.py 100% <100%> (ø) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 6e30f82...fdcd190. Read the comment docs.