Mercurial > libervia-backend
view docker/backend-dev-e2e/Dockerfile @ 4044:3900626bc100
plugin XEP-0166: refactoring, and various improvments:
- add models for transport and applications handlers and linked data
- split models into separate file
- some type hints
- some documentation comments
- add actions to prepare confirmation, useful to do initial parsing of all contents
- application arg/kwargs and some transport data can be initialised during Jingle
`initiate` call, this is notably useful when a call is made with transport data (this is
the call for A/V calls where codecs and ICE candidate can be specified when starting a
call)
- session data can be specified during Jingle `initiate` call
- new `store_in_session` argument in `_parse_elements`, which can be used to avoid
race-condition when a context element (<decription> or <transport>) is being parsed for
an action while an other action happens (like `transport-info`)
- don't sed `sid` in `transport_elt` during a `transport-info` action anymore in
`build_action`: this is specific to Jingle File Transfer and has been moved there
rel 419
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 15 May 2023 16:23:11 +0200 |
parents | 09f5ac48ffe3 |
children | 31c84a32c897 |
line wrap: on
line source
ARG REVISION FROM libervia/backend:${REVISION:-dev} LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>" USER root ARG DEBIAN_FRONTEND=noninteractive RUN mkdir -m 777 /reports && \ apt-get install -y --no-install-recommends \ # firefox is needed to test Libervia via selenium firefox-esr \ # VNC/X11 server for visual mode + window manager # using openbox as it allows to resize easily when doing manual debugging/tests # and it adapts correctly when doing driver.set_window_size tigervnc-standalone-server openbox \ # useful for remote debugging telnet net-tools \ # needed to make Firefox trust system certificates # cf. https://askubuntu.com/a/1036637 p11-kit && \ ln -fs /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/firefox-esr/libnssckbi.so # we install pre-generated certificates so we can do tests with valid TLS COPY --chown=root:root certificates/minica.pem /usr/local/share/ca-certificates/minica.crt COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/libervia/certificates/server1.test.pem COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/libervia/certificates/server1.test-key.pem RUN update-ca-certificates COPY --chown=root:root libervia.conf /etc/libervia.conf COPY --chown=libervia:libervia scripts/entrypoint.sh /home/libervia/entrypoint_e2e.sh RUN \ # we install webdriver (needed to control Firefox from Selenium) # note: this is not absolutely necessary as long as we use helium because it includes # is own webdriver python -c 'from urllib.request import urlretrieve;\ urlretrieve(\ "https://github.com/mozilla/geckodriver/releases/download/v0.28.0"\ "/geckodriver-v0.28.0-linux64.tar.gz", "/usr/local/bin/geckodriver.tar.gz")' && \ cd /usr/local/bin && tar zxf geckodriver.tar.gz && rm -f geckodriver.tar.gz WORKDIR /home/libervia USER libervia RUN \ # pytest and its plugins pip install pytest pytest-timeout pytest-dependency pytest-twisted \ # needed to test libervia-cli sh \ # needed to test libervia helium \ # needed to check sent emails aiosmtpd \ # useful for debugging pudb RUN ./entrypoint.sh \ # we create the file sharing component which will autoconnect when backend is started li profile create file-sharing -j files.server1.test -p "" --xmpp-password test_e2e -C file-sharing -A && \ libervia-backend stop ENV LIBERVIA_TEST_REPORT_DIR=/reports ENV DISPLAY=:0 USER root RUN apt-get install -y openbox USER libervia EXPOSE 5900 ENTRYPOINT ["/home/libervia/entrypoint_e2e.sh"]