tox.ini
author Denis Laxalde <denis.laxalde@logilab.fr>
Thu, 02 May 2019 09:29:04 +0200
changeset 3003 fcb890e6d9d7
parent 2973 e2837a22e676
child 3010 0f34817c52af
permissions -rw-r--r--
[profile gen] Account for bdo's user cardinality or its parent's in "Integrity" element (CONSEJIRA-663) See also https://jira.mtpl.bs.fr.atos.net/browse/CONSEJIRA-663 For more details, quoting verbatim the customer request for future reference: | Sur les documents multi occurrences (0-n ou 1-n) ou même si l’archive | est multi occurrence (0-n ou 1-n), il y a une balise integrity qui est | liée au document dans le bordereau de versement que l’on génère. | Or, dans le XSD du profil, la balise integrity du document ne possède | pas l'attribut : maxOccurs="unbounded" | Donc lors de l'envoi à Asalae du versement, Asalae fait une vérification | par rapport au profil et affiche une erreur a cause de la balise | integrity qui est présente plusieurs fois. | | Pour moi le correctif à faire doit porter sur le XSD et le RNG sur la | balise integrity pour qu'elle soit multi-occurrence possible dans les cas | suivants : | | * Si le document (Document) est en multi occurrence (0-n ou 1-n) | donc avec un attribut maxOccurs="unbounded" | * Si une UA (Contains) supérieure au document est en multi | occurrence (0-n ou 1-n) donc avec un attribut | maxOccurs="unbounded" | si une UA supérieur est en cardinalité max unbounded, alors | l'integrity sur les documents en dessous doit forcément être en | unbounded également | il faut que l'integrity soit en facultative ou multi occurrence si une | UA supérieure est facultative ou en multi occurrence. This is essentially achieved by looking for the upper parent archive units of a data object then their cardinality to produce the Integrity element. Adding tests for new integrity_cardinality() function based on customer examples.

[tox]
envlist = py27, flake8, check-manifest

[tox:jenkins]
envlist = py27, flake8-jenkins, check-manifest


[testenv]
deps =
  -rdev-requirements.txt
commands = {envpython} -m pytest {posargs:{toxinidir}/test}

[pytest]
python_files = *test_*.py
log_capture = false

[testenv:check-manifest]
skip_install = true
deps =
  check-manifest
commands =
  {envpython} -m check_manifest {toxinidir}


[testenv:flake8]
skip_install = true
deps =
  flake8
commands = flake8 {posargs:{toxinidir}}

[testenv:flake8-jenkins]
skip_install = true
deps =
  flake8
commands = flake8 --exit-zero --show-source --output-file=code_quality.log {toxinidir}

[flake8]
format = pylint
ignore = W503
max-line-length = 100
max-complexity = 12
exclude = doc/conf.py,cubicweb_seda/uiprops.py,cubicweb_seda/entities/generated.py,cubicweb_seda/views/uicfg.py,cubicweb_seda/schema/seda2.py,cubicweb_seda/migration/*,test/data/*,.tox/*


[testenv:make]
whitelist_externals =
  make
setenv =
    PYTHONHASHSEED = 0
commands = make -C cubicweb_seda {posargs}


[testenv:doc]
changedir = doc
deps =
  sphinx
commands = sphinx-build -b html -d {envtmpdir}/doctrees .  {envtmpdir}/html