FROM odoo:14.0 # Install Python testing dependencies. odoo:14.0 ships Python 3.7, so pin to # the last releases that still support 3.7 (pytest 8 / pytest-bdd 7 / pytest-html 4 # all require 3.8+). RUN python3 -m pip install --no-cache-dir \ "pytest>=7,<8" \ "pytest-odoo<2" \ "pytest-bdd>=6,<7" \ "pytest-cov<5" \ "pytest-html<4" \ requests # Copy addon to Odoo addons path RUN mkdir -p /mnt/extra-addons && chmod 777 /mnt/extra-addons COPY --chown=odoo:odoo addons/itsulu_blog_publisher /mnt/extra-addons/itsulu_blog_publisher # Copy root conftest.py to parent of addons so pytest-bdd fixtures (odoo_env) are discovered # when running pytest against /mnt/extra-addons/... (pytest traverses up to find conftest files) COPY --chown=odoo:odoo conftest.py /mnt/extra-addons/conftest.py # Symlink addon into Odoo's default addons directory so Odoo can find it RUN mkdir -p /var/lib/odoo/addons && ln -s /mnt/extra-addons/itsulu_blog_publisher /var/lib/odoo/addons/itsulu_blog_publisher # Set working directory to a temp location for test running WORKDIR /tmp/test # Default command runs tests (can be overridden) CMD ["python3", "-m", "pytest", "tests/", "-v", "--html=/tmp/report.html", "--self-contained-html"]