lsmo-epfl / aiida-lsmo

AiiDA workflows for the LSMO laboratory at EPFL
Other
9 stars 13 forks source link

start validating workchain inputs #62

Closed ltalirz closed 3 years ago

ltalirz commented 3 years ago

fixes #39

Validates parameters input of all WorkChains using voluptuous schemas (both for the keys present and for the type of their values). Validation happens when passing the builder to the WorkChain, i.e. the workchain is not submitted if the dictionary fails validation.

The behavior of the pressure_list and temperature_list keys is modified slightly: if you don't want to provide them, simply don't set the key (instead of setting the key to None).

The schema is part of the API documentation: image and users can do print(myworkchain.parameters_info) to check which parameters the workchain needs.

Todo:

ltalirz commented 3 years ago

Some details I noticed:

ltalirz commented 3 years ago

@danieleongari please check these carefully as not all workchains have tests already... see also the comment above https://github.com/lsmo-epfl/aiida-lsmo/pull/62#issuecomment-732452478

codecov-io commented 3 years ago

Codecov Report

Merging #62 (9e6299a) into develop (8016116) will increase coverage by 0.11%. The diff coverage is 88.29%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop      #62      +/-   ##
===========================================
+ Coverage    76.16%   76.28%   +0.11%     
===========================================
  Files           29       30       +1     
  Lines         2203     2260      +57     
===========================================
+ Hits          1678     1724      +46     
- Misses         525      536      +11     
Impacted Files Coverage Δ
aiida_lsmo/workchains/isotherm_multi_temp.py 24.19% <0.00%> (ø)
aiida_lsmo/workchains/singlecomp_widom.py 26.47% <66.66%> (+1.72%) :arrow_up:
aiida_lsmo/utils/other_utilities.py 77.55% <71.42%> (-12.93%) :arrow_down:
aiida_lsmo/workchains/zeopp_multistage_ddec.py 35.71% <71.42%> (+3.02%) :arrow_up:
aiida_lsmo/workchains/parameters_schemas.py 81.25% <81.25%> (ø)
aiida_lsmo/utils/__init__.py 100.00% <100.00%> (ø)
aiida_lsmo/workchains/isotherm.py 89.57% <100.00%> (+0.30%) :arrow_up:
aiida_lsmo/workchains/isotherm_calc_pe.py 45.71% <100.00%> (+5.08%) :arrow_up:
aiida_lsmo/workchains/isotherm_inflection.py 90.69% <100.00%> (+0.27%) :arrow_up:
aiida_lsmo/workchains/multicomp_ads_des.py 93.40% <100.00%> (+0.18%) :arrow_up:
... and 5 more

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 8016116...9e6299a. Read the comment docs.