Odoo 19 Test Suite Using Docker
Post install tests: from spreadsheet_dashboard_hr_timesheet to viin_brand_calendar
- install_module account,account_add_gln,account_check_printing,account_debit_note,account_edi,account_edi_proxy_client,account_edi_ubl_cii,account_fleet,account_payment,account_peppol,account_peppol_advanced_fields,account_peppol_response,account_qr_code_emv,account_qr_code_sepa,account_tax_python,account_test,account_update_tax_tags,analytic,api_doc,attachment_indexation,auth_oauth,auth_passkey,auth_passkey_portal,auth_password_policy,auth_password_policy_portal,auth_password_policy_signup,auth_signup,auth_timeout,auth_totp,auth_totp_mail,auth_totp_portal,barcodes,barcodes_gs1_nomenclature,base,base_address_extended,base_automation,base_geolocalize,base_iban,base_import,base_import_module,base_install_request,base_setup,base_sparse_field,base_vat,board,bus,calendar,calendar_sms,certificate,cloud_storage,cloud_storage_azure,cloud_storage_google,cloud_storage_migration,contacts,crm,crm_iap_enrich,crm_iap_mine,crm_livechat,crm_mail_plugin,crm_sms,data_recycle,delivery,delivery_mondialrelay,delivery_stock_picking_batch,digest,event,event_booth,event_booth_sale,event_crm,event_crm_sale,event_product,event_sale,event_sms,fleet,gamification,gamification_sale_crm,google_account,google_address_autocomplete,google_calendar,google_gmail,google_recaptcha,hr,hr_attendance,hr_calendar,hr_expense,hr_fleet,hr_gamification,hr_holidays,hr_holidays_attendance,hr_holidays_homeworking,hr_homeworking,hr_homeworking_calendar,hr_hourly_cost,hr_livechat,hr_maintenance,hr_org_chart,hr_presence,hr_recruitment,hr_recruitment_skills,hr_recruitment_sms,hr_recruitment_survey,hr_skills,hr_skills_event,hr_skills_slides,hr_skills_survey,hr_timesheet,hr_timesheet_attendance,hr_work_entry,hr_work_entry_holidays,html_builder,html_editor,http_routing,iap,iap_crm,iap_mail,im_livechat,iot_base,l10n_vn_edi_viettel,l10n_vn_edi_viettel_pos,l10n_vn_viin,link_tracker,loyalty,lunch,mail,mail_bot,mail_bot_hr,mail_group,mail_plugin,maintenance,marketing_card,mass_mailing,mass_mailing_crm,mass_mailing_crm_sms,mass_mailing_event,mass_mailing_event_sms,mass_mailing_event_track,mass_mailing_event_track_sms,mass_mailing_sale,mass_mailing_sale_sms,mass_mailing_slides,mass_mailing_sms,mass_mailing_themes,microsoft_account,microsoft_calendar,microsoft_outlook,mrp,mrp_account,mrp_landed_costs,mrp_product_expiry,mrp_repair,mrp_subcontracting,mrp_subcontracting_account,mrp_subcontracting_dropshipping,mrp_subcontracting_landed_costs,mrp_subcontracting_purchase,mrp_subcontracting_repair,onboarding,partner_autocomplete,partnership,payment,payment_adyen,payment_aps,payment_asiapay,payment_authorize,payment_buckaroo,payment_custom,payment_demo,payment_dpo,payment_flutterwave,payment_iyzico,payment_mercado_pago,payment_mollie,payment_nuvei,payment_paymob,payment_paypal,payment_razorpay,payment_redsys,payment_stripe,payment_toss_payments,payment_worldline,payment_xendit,phone_validation,point_of_sale,portal,portal_rating,pos_account_tax_python,pos_adyen,pos_cashdro,pos_discount,pos_dpopay,pos_edi_ubl,pos_event,pos_event_sale,pos_glory_cash,pos_hr,pos_hr_restaurant,pos_imin,pos_loyalty,pos_mercado_pago,pos_mollie,pos_mrp,pos_online_payment,pos_online_payment_self_order,pos_pine_labs,pos_qfpay,pos_razorpay,pos_repair,pos_restaurant,pos_restaurant_adyen,pos_restaurant_loyalty,pos_restaurant_stripe,pos_safaricom,pos_sale,pos_sale_loyalty,pos_sale_margin,pos_self_order,pos_self_order_adyen,pos_self_order_pine_labs,pos_self_order_qfpay,pos_self_order_razorpay,pos_self_order_sale,pos_self_order_stripe,pos_sms,pos_stripe,pos_viva_com,privacy_lookup,product,product_email_template,product_expiry,product_margin,product_matrix,project,project_account,project_hr_expense,project_hr_skills,project_mail_plugin,project_mrp,project_mrp_account,project_mrp_sale,project_mrp_stock_landed_costs,project_purchase,project_purchase_stock,project_sale_expense,project_sms,project_stock,project_stock_account,project_stock_landed_costs,project_timesheet_holidays,project_todo,purchase,purchase_edi_ubl_bis3,purchase_mrp,purchase_product_matrix,purchase_repair,purchase_requisition,purchase_requisition_sale,purchase_requisition_stock,purchase_stock,rating,repair,resource,resource_mail,rpc,sale,sale_crm,sale_edi_ubl,sale_expense,sale_expense_margin,sale_gelato,sale_gelato_stock,sale_loyalty,sale_loyalty_delivery,sale_management,sale_margin,sale_mrp,sale_mrp_margin,sale_pdf_quote_builder,sale_product_matrix,sale_project,sale_project_stock,sale_project_stock_account,sale_purchase,sale_purchase_project,sale_purchase_stock,sale_service,sale_sms,sale_stock,sale_stock_margin,sale_stock_product_expiry,sale_timesheet,sale_timesheet_margin,sales_team,sms,sms_twilio,snailmail,snailmail_account,social_media,spreadsheet,spreadsheet_account,spreadsheet_dashboard,spreadsheet_dashboard_account,spreadsheet_dashboard_event_sale,spreadsheet_dashboard_hr_expense,spreadsheet_dashboard_hr_timesheet,spreadsheet_dashboard_im_livechat,spreadsheet_dashboard_pos_hr,spreadsheet_dashboard_pos_restaurant,spreadsheet_dashboard_sale,spreadsheet_dashboard_sale_timesheet,spreadsheet_dashboard_stock_account,spreadsheet_dashboard_website_sale,spreadsheet_dashboard_website_sale_slides,stock,stock_account,stock_delivery,stock_dropshipping,stock_fleet,stock_landed_costs,stock_maintenance,stock_picking_batch,stock_sms,survey,survey_crm,test_access_rights,test_action_bindings,test_assetsbundle,test_auth_custom,test_base_automation,test_convert,test_converter,test_crm_full,test_data_module,test_data_module_install,test_discuss_full,test_event_full,test_html_field_history,test_http,test_import_export,test_inherit,test_inherit_depends,test_inherits,test_inherits_depends,test_lint,test_mail,test_mail_full,test_mail_sms,test_main_flows,test_mass_mailing,test_mimetypes,test_orm,test_read_group,test_resource,test_rpc,test_sale_product_configurators,test_sale_purchase_edi_ubl,test_search_panel,test_spreadsheet,test_testing_utilities,test_translation_import,test_uninstall,test_website,test_website_modules,test_website_slides_full,theme_default,to_attendance_device,to_base,to_config_management,to_equipment_maintenance_schedule,to_equipment_woking_frequency,to_git,to_git_odoo_version,to_hr_employee_grade,to_maintenance_by_working_hours,to_maintenance_notification,to_maintenance_request_simple_mediate,to_odoo_module,to_odoo_module_sale,to_odoo_version,to_okr,to_okr_project,to_product_collection,to_product_license,to_product_license_sale,to_product_maintenance_schedule,to_product_milestone,to_product_odoo_version,to_sshkey,to_stock_equipment,to_token_expiration,to_upload_file,to_website_apps_store,transifex,uom,utm,viin_account,viin_brand,viin_brand_account,viin_brand_auth_oauth,viin_brand_auth_signup,viin_brand_auth_totp,viin_brand_auth_totp_mail,viin_brand_auth_totp_portal,viin_brand_base_import,viin_brand_calendar,viin_brand_common,viin_brand_contacts,viin_brand_crm,viin_brand_digest,viin_brand_fleet,viin_brand_hr,viin_brand_hr_expense,viin_brand_hr_skills,viin_brand_im_livechat,viin_brand_l10n_vn,viin_brand_mail,viin_brand_mail_bot,viin_brand_mail_plugin,viin_brand_mass_mailing,viin_brand_mass_mailing_crm,viin_brand_mass_mailing_sale,viin_brand_mass_mailing_sms,viin_brand_mass_mailing_themes,viin_brand_mrp,viin_brand_onboarding,viin_brand_payment,viin_brand_payment_paypal,viin_brand_portal,viin_brand_pos,viin_brand_product,viin_brand_purchase,viin_brand_sale,viin_brand_sale_management,viin_brand_social_media,viin_brand_stock,viin_brand_web,viin_brand_web_editor,viin_brand_web_unsplash,viin_brand_website,viin_brand_website_event,viin_brand_website_event_exhibitor,viin_brand_website_forum,viin_brand_website_links,viin_brand_website_profile,viin_brand_website_sale,viin_brand_website_slides,viin_hr,viin_hr_maintenance,viin_maintenance,viin_maintenance_preventive_mode,web,web_hierarchy,web_tour,web_unsplash,website,website_blog,website_cf_turnstile,website_crm,website_crm_iap_reveal,website_crm_livechat,website_crm_partner_assign,website_crm_sms,website_customer,website_event,website_event_booth,website_event_booth_exhibitor,website_event_booth_sale,website_event_booth_sale_exhibitor,website_event_crm,website_event_exhibitor,website_event_sale,website_event_track,website_event_track_live,website_event_track_live_quiz,website_event_track_quiz,website_forum,website_google_map,website_hr_recruitment,website_hr_recruitment_livechat,website_links,website_livechat,website_mail,website_mail_group,website_mass_mailing,website_mass_mailing_sms,website_partner,website_payment,website_profile,website_project,website_sale,website_sale_autocomplete,website_sale_collect,website_sale_collect_wishlist,website_sale_comparison,website_sale_comparison_wishlist,website_sale_gelato,website_sale_loyalty,website_sale_mass_mailing,website_sale_mondialrelay,website_sale_mrp,website_sale_slides,website_sale_stock,website_sale_stock_wishlist,website_sale_wishlist,website_slides,website_slides_forum,website_slides_survey,website_sms,website_timesheet
- exec_odoo --db_port 5432 --log-level=test --max-cron-threads=0 --http-interface=127.0.0.1 --load=base,web,to_base --stop-after-init --test-enable --test-tags=/spreadsheet_dashboard_hr_timesheet,/spreadsheet_dashboard_im_livechat,/spreadsheet_dashboard_pos_hr,/spreadsheet_dashboard_pos_restaurant,/spreadsheet_dashboard_sale,/spreadsheet_dashboard_sale_timesheet,/spreadsheet_dashboard_stock_account,/spreadsheet_dashboard_website_sale,/spreadsheet_dashboard_website_sale_slides,/stock,/stock_account,/stock_delivery,/stock_dropshipping,/stock_fleet,/stock_landed_costs,/stock_maintenance,/stock_picking_batch,/stock_sms,/survey,/survey_crm,/test_access_rights,/test_action_bindings,/test_assetsbundle,/test_auth_custom,/test_base_automation,/test_convert,/test_converter,/test_crm_full,/test_data_module,/test_data_module_install,/test_discuss_full,/test_event_full,/test_html_field_history,/test_http,/test_import_export,/test_inherit,/test_inherit_depends,/test_inherits,/test_inherits_depends,/test_lint,/test_mail,/test_mail_full,/test_mail_sms,/test_main_flows,/test_mass_mailing,/test_mimetypes,/test_orm,/test_read_group,/test_resource,/test_rpc,/test_sale_product_configurators,/test_sale_purchase_edi_ubl,/test_search_panel,/test_spreadsheet,/test_testing_utilities,/test_translation_import,/test_uninstall,/test_website,/test_website_modules,/test_website_slides_full,/theme_default,/to_attendance_device,/to_base,/to_config_management,/to_equipment_maintenance_schedule,/to_equipment_woking_frequency,/to_git,/to_git_odoo_version,/to_hr_employee_grade,/to_maintenance_by_working_hours,/to_maintenance_notification,/to_maintenance_request_simple_mediate,/to_odoo_module,/to_odoo_module_sale,/to_odoo_version,/to_okr,/to_okr_project,/to_product_collection,/to_product_license,/to_product_license_sale,/to_product_maintenance_schedule,/to_product_milestone,/to_product_odoo_version,/to_sshkey,/to_stock_equipment,/to_token_expiration,/to_upload_file,/to_website_apps_store,/transifex,/uom,/utm,/viin_account,/viin_brand,/viin_brand_account,/viin_brand_auth_oauth,/viin_brand_auth_signup,/viin_brand_auth_totp,/viin_brand_auth_totp_mail,/viin_brand_auth_totp_portal,/viin_brand_base_import,/viin_brand_calendar,-at_install,-/website_event_booth_exhibitor/tests/test_wevent_booth_exhibitor.py:TestWEventBoothExhibitorCommon.test_register,-/website_sale/tests/test_website_sale_image.py:TestWebsiteSaleRemoveImage.test_website_sale_add_and_remove_main_product_image_no_variant,-:TestIndustryFsmUi.test_ui,-/sale_management/tests/test_sale_ui.py:TestUi.test_04_portal_sale_signature_without_name_tour,-:TestMigrateEmployeeWithContract,-:TestMigrateEmployee,-/l10n_pe_edi_pos/tests/test_frontend.py:TestUi.test_pos_invoice_order_and_refund,-/helpdesk/tests/test_helpdesk_rating.py:TestHelpdeskRating.test_helpdesk_dashboard,-/website/tests/test_ui.py:TestUi.test_33_website_menus,-/account/tests/test_tour.py:TestUi.test_01_account_tour,-/website_sale_wishlist/tests/test_wishlist_process.py:TestWishlistProcess.test_01_wishlist_tour,-/test_l10n_be_hr_payroll_account/tests/test_employee_job_change.py:TestEmployeeJobChange.test_employee_job_change,-/test_website_sale_full/tests/test_ui_rental_comparison.py:TestUi.test_website_sale_renting_comparison_ui,-/knowledge/tests/test_knowledge_editor_commands.py:TestKnowledgeEditorCommands.test_knowledge_calendar_command_tour,-:TestAddToCartSnippet.test_configure_product,-.test_generic_localization,-:TestPickShipBackorder.test_pick_assign_and_backorder,-/hr_holidays/tests/test_leave_requests.py:TestLeaveRequests.test_calendar_event_create_access_rights,-:TestError.test_04_multi_db,-:TestOrderEdiUbl.test_so_import_product_from_po,-:TestReportsRendering.test_report_specific_paperformat_args
| Create Date | Level | Message |
|---|---|---|
| 04/17/2026 15:55:07 | INFO |
Using Docker Image Odoo 19 Ubuntu 24.04 Python 3.12:
FROM ubuntu:noble ENV LANG C.UTF-8 # Retrieve the target architecture to install the correct wkhtmltopdf package ARG TARGETARCH USER root SHELL ["/bin/bash", "-c"] # Install debian packages RUN set -x ; \ apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends apt-transport-https build-essential ca-certificates curl file fonts-freefont-ttf fonts-noto-cjk gawk gnupg gsfonts libldap2-dev libjpeg9-dev libsasl2-dev libxslt1-dev lsb-release npm ocrmypdf sed sudo unzip xfonts-75dpi zip zlib1g-dev software-properties-common git \ && rm -rf /var/lib/apt/lists/* # Install Python3 packages RUN set -x ; \ apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends publicsuffix python3 flake8 python3-dbfread python3-dev python3-gevent python3-pip python3-setuptools python3-wheel python3-markdown python3-mock python3-phonenumbers python3-websocket python3-google-auth libpq-dev pylint python3-jwt python3-asn1crypto python3-html2text python3-suds python3-xmlsec \ && rm -rf /var/lib/apt/lists/* # Install wkhtml RUN curl -o xfonts-base.deb http://archive.ubuntu.com/ubuntu/pool/main/x/xfonts-base/xfonts-base_1.0.5+nmu1_all.deb && dpkg -i xfonts-base.deb RUN curl -o wkhtmltox.deb -sSL https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb \ && apt-get install -y --no-install-recommends ./wkhtmltox.deb \ && rm -rf /var/lib/apt/lists/* wkhtmltox.deb xfonts-base.deb # Install Odoo:Depends ADD https://raw.githubusercontent.com/brendangregg/FlameGraph/master/flamegraph.pl /usr/local/bin/flamegraph.pl RUN chmod +rx /usr/local/bin/flamegraph.pl ADD https://raw.githubusercontent.com/Viindoo/odoo/19.0/debian/control /tmp/control.txt RUN apt-get update \ && sed -n '/^Depends:/,/^[A-Z]/p' /tmp/control.txt \ | awk '/^ [a-z]/ { gsub(/,/,"") ; print $1 }' | sort -u \ | egrep -v 'postgresql-client' \ | sed 's/python-imaging/python-pil/'| sed 's/python-pypdf/python-pypdf2/' | sed 's/python3-lxml-html-clean/python3-lxml/' \ | DEBIAN_FRONTEND=noninteractive xargs apt-get install -y -qq \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN python3 -m pip install --break-system-packages --no-cache-dir setuptools wheel && \ python3 -m pip install --break-system-packages coverage==7.4.4 flamegraph # install latest postgresql-client RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main' > /etc/apt/sources.list.d/pgdg.list \ && GNUPGHOME="$(mktemp -d)" \ && export GNUPGHOME \ && repokey='B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8' \ && gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "${repokey}" \ && gpg --batch --armor --export "${repokey}" > /etc/apt/trusted.gpg.d/pgdg.gpg.asc \ && gpgconf --kill all \ && rm -rf "$GNUPGHOME" \ && apt-get update \ && apt-get install --no-install-recommends -y postgresql-client \ && rm -f /etc/apt/sources.list.d/pgdg.list \ && rm -rf /var/lib/apt/lists/* # Install Google Chrome #RUN curl -sSL https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -o /tmp/chrome.deb \ # && apt-get update \ # && apt-get -y install --no-install-recommends /tmp/chrome.deb \ # && rm /tmp/chrome.deb # Install phantomjs RUN curl -sSL https://nightly.odoo.com/resources/phantomjs.tar.bz2 -o /tmp/phantomjs.tar.bz2 \ && tar xvfO /tmp/phantomjs.tar.bz2 phantomjs-2.1.1-linux-x86_64/bin/phantomjs > /usr/local/bin/phantomjs \ && chmod +x /usr/local/bin/phantomjs \ && rm -f /tmp/phantomjs.tar.bz2 ENV PIP_BREAK_SYSTEM_PACKAGES=1 ADD https://raw.githubusercontent.com/Viindoo/odoo/19.0/requirements.txt /root/requirements.txt RUN python3 -m pip install --break-system-packages --no-cache-dir setuptools wheel && \ python3 -m pip install --break-system-packages --upgrade --force-reinstall --ignore-installed --no-cache-dir -r /root/requirements.txt && \ python3 -m pip install --no-cache-dir ebaysdk==2.1.5 pdf417gen==0.7.1 RUN python3 -m pip install --break-system-packages --no-cache-dir requests pyOpenSSL # Install debian packages RUN set -x ; \ apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends openssl iputils-ping openssh-client chromium-browser \ && rm -rf /var/lib/apt/lists/* RUN python3 -m pip install --no-cache-dir --upgrade websocket-client==1.2.3 flake8==6.1.0 #RUN python3 -m pip uninstall pylint pylint-odoo isort Pygments -y RUN python3 -m pip install --break-system-packages --upgrade --force-reinstall --ignore-installed --no-cache-dir --upgrade pylint-odoo==9.0.5 RUN python3 -m pip install --break-system-packages --upgrade --force-reinstall --ignore-installed --no-cache-dir --upgrade Pygments==2.14.0 --no-deps # Install nodejs RUN curl -fsSLO --compressed "https://nodejs.org/dist/v18.20.0/node-v18.20.0-linux-x64.tar.xz" \ && tar -xJf "node-v18.20.0-linux-x64.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \ && rm "node-v18.20.0-linux-x64.tar.xz" \ && ln -s /usr/local/bin/node /usr/local/bin/nodejs RUN npm install -g rtlcss@3.4.0 es-check@6.0.0 eslint@8.57.1 prettier@2.7.1 eslint-config-prettier@8.5.0 eslint-plugin-prettier@4.2.1 # Tránh warning do bug của ubuntu RUN rm -rf /usr/lib/python3.12/dist-packages/charset_normalizer-3.3.2.dist-info # Install cloc package RUN set -x ; \ apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cloc \ && rm -rf /var/lib/apt/lists/* RUN python3 -m pip install --no-cache-dir --upgrade google-auth==2.36.0 RUN python3 -m pip install --no-cache --use-pep517 python-pkcs11~=0.7.0 |
| 04/17/2026 17:40:03 | INFO |
Docker command:
cd /data/build; python3 -m pip install --user --progress-bar off -r Viindoo-tvtmaaddons-19.0/requirements.txt && python3 Viindoo-odoo-19.0/odoo-bin --addons-path Viindoo-odoo-19.0/odoo/addons,Viindoo-odoo-19.0/addons,Viindoo-tvtmaaddons-19.0,rb-abe9bdd-221440 -d rb-abe9bdd-221440-380151 --data-dir /data/build/datadir --db_port 5432 --log-level=test --max-cron-threads=0 --http-interface=127.0.0.1 --load=base,web,to_base --stop-after-init --test-enable --test-tags=/spreadsheet_dashboard_hr_timesheet,/spreadsheet_dashboard_im_livechat,/spreadsheet_dashboard_pos_hr,/spreadsheet_dashboard_pos_restaurant,/spreadsheet_dashboard_sale,/spreadsheet_dashboard_sale_timesheet,/spreadsheet_dashboard_stock_account,/spreadsheet_dashboard_website_sale,/spreadsheet_dashboard_website_sale_slides,/stock,/stock_account,/stock_delivery,/stock_dropshipping,/stock_fleet,/stock_landed_costs,/stock_maintenance,/stock_picking_batch,/stock_sms,/survey,/survey_crm,/test_access_rights,/test_action_bindings,/test_assetsbundle,/test_auth_custom,/test_base_automation,/test_convert,/test_converter,/test_crm_full,/test_data_module,/test_data_module_install,/test_discuss_full,/test_event_full,/test_html_field_history,/test_http,/test_import_export,/test_inherit,/test_inherit_depends,/test_inherits,/test_inherits_depends,/test_lint,/test_mail,/test_mail_full,/test_mail_sms,/test_main_flows,/test_mass_mailing,/test_mimetypes,/test_orm,/test_read_group,/test_resource,/test_rpc,/test_sale_product_configurators,/test_sale_purchase_edi_ubl,/test_search_panel,/test_spreadsheet,/test_testing_utilities,/test_translation_import,/test_uninstall,/test_website,/test_website_modules,/test_website_slides_full,/theme_default,/to_attendance_device,/to_base,/to_config_management,/to_equipment_maintenance_schedule,/to_equipment_woking_frequency,/to_git,/to_git_odoo_version,/to_hr_employee_grade,/to_maintenance_by_working_hours,/to_maintenance_notification,/to_maintenance_request_simple_mediate,/to_odoo_module,/to_odoo_module_sale,/to_odoo_version,/to_okr,/to_okr_project,/to_product_collection,/to_product_license,/to_product_license_sale,/to_product_maintenance_schedule,/to_product_milestone,/to_product_odoo_version,/to_sshkey,/to_stock_equipment,/to_token_expiration,/to_upload_file,/to_website_apps_store,/transifex,/uom,/utm,/viin_account,/viin_brand,/viin_brand_account,/viin_brand_auth_oauth,/viin_brand_auth_signup,/viin_brand_auth_totp,/viin_brand_auth_totp_mail,/viin_brand_auth_totp_portal,/viin_brand_base_import,/viin_brand_calendar,-at_install,-/website_event_booth_exhibitor/tests/test_wevent_booth_exhibitor.py:TestWEventBoothExhibitorCommon.test_register,-/website_sale/tests/test_website_sale_image.py:TestWebsiteSaleRemoveImage.test_website_sale_add_and_remove_main_product_image_no_variant,-:TestIndustryFsmUi.test_ui,-/sale_management/tests/test_sale_ui.py:TestUi.test_04_portal_sale_signature_without_name_tour,-:TestMigrateEmployeeWithContract,-:TestMigrateEmployee,-/l10n_pe_edi_pos/tests/test_frontend.py:TestUi.test_pos_invoice_order_and_refund,-/helpdesk/tests/test_helpdesk_rating.py:TestHelpdeskRating.test_helpdesk_dashboard,-/website/tests/test_ui.py:TestUi.test_33_website_menus,-/account/tests/test_tour.py:TestUi.test_01_account_tour,-/website_sale_wishlist/tests/test_wishlist_process.py:TestWishlistProcess.test_01_wishlist_tour,-/test_l10n_be_hr_payroll_account/tests/test_employee_job_change.py:TestEmployeeJobChange.test_employee_job_change,-/test_website_sale_full/tests/test_ui_rental_comparison.py:TestUi.test_website_sale_renting_comparison_ui,-/knowledge/tests/test_knowledge_editor_commands.py:TestKnowledgeEditorCommands.test_knowledge_calendar_command_tour,-:TestAddToCartSnippet.test_configure_product,-.test_generic_localization,-:TestPickShipBackorder.test_pick_assign_and_backorder,-/hr_holidays/tests/test_leave_requests.py:TestLeaveRequests.test_calendar_event_create_access_rights,-:TestError.test_04_multi_db,-:TestOrderEdiUbl.test_so_import_product_from_po,-:TestReportsRendering.test_report_specific_paperformat_args ; |
| 04/17/2026 17:40:03 | INFO |
Restoring from: rb-abe9bdd-221440-380147
|
| 04/17/2026 17:40:03 | INFO |
Container rb-abe9bdd-221440-380151 started !
|
| 04/17/2026 18:30:20 | INFO |
Container rb-abe9bdd-221440-380151 stopped !
|
| 04/17/2026 18:30:20 | ERROR |
odoo.addons.test_discuss_full.tests.test_performance: FAIL: Subtest TestDiscussFullPerformance.test_30_discuss_channels (login='emp')
Traceback (most recent call last):
File "/usr/local/lib/python3.12/dist-packages/freezegun/api.py", line 789, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/data/build/Viindoo-odoo-19.0/odoo/tests/common.py", line 2672, in with_users
func(self, *args, **kwargs)
File "/data/build/Viindoo-odoo-19.0/odoo/tests/common.py", line 2703, in warmup
func(self, *args, **kwargs)
File "/data/build/Viindoo-odoo-19.0/addons/test_discuss_full/tests/test_performance.py", line 380, in test_30_discuss_channels
self._run_test(
File "/data/build/Viindoo-odoo-19.0/addons/test_discuss_full/tests/test_performance.py", line 342, in _run_test
self.assertEqual(res, results)
AssertionError: {'MessageReactions': [{'content': '👍', 'cou[28461 chars]se}]} != {'discuss.call.history': [{'duration_hour':[28440 chars]se}]}
{'MessageReactions': [{'content': '👍',
'count': 1,
'guests': [],
'message': 2299,
'partners': [241],
'sequence': 36},
{'content': '😁',
'count': 2,
'guests': [],
'message': 2299,
'partners': [241, 240],
'sequence': 31},
{'content': '😊',
'count': 3,
'guests': [],
'message': 2299,
'partners': [241, 240, 239],
'sequence': 27},
{'content': '😁',
'count': 1,
'guests': [],
'message': 2297,
'partners': [241],
'sequence': 33},
{'content': '😊',
'count': 3,
'guests': [],
'message': 2297,
'partners': [241, 240, 239],
'sequence': 25},
{'content': '😏',
'count': 2,
'guests': [],
'message': 2297,
'partners': [240, 239],
'sequence': 26}],
'discuss.call.history': [{'duration_hour': -8629.488888888889,
'end_dt': False,
'id': 3}],
'discuss.channel': [{'avatar_cache_key': '6d1fae20ebb76e29b0b7ca3ebbaebd9f2d215358efd7ed2db8d69c421f20140f227993be89f05f9e8aa8e8831d55a2318abb7d6944adcfe5247596aedb55df2a',
'channel_type': 'channel',
'create_uid': 1,
'default_display_mode': False,
'description': 'General announcements for all employees.',
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'group_ids': [1],
'group_public_id': 1,
'id': 1,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:53',
'member_count': 21,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'general',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'WRHPBaGSjD'},
{'avatar_cache_key': '64614eaf05a24b03af460a9440b40d2a0ec8feb46d0906f62fb861856bf703afbcaa03fe49fadede070678796189ad34b57b03133c24397b2ee1933ae424c31c',
'channel_type': 'channel',
'create_uid': 118,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'group_ids': [],
'group_public_id': False,
'id': 27,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:53',
'member_count': 5,
'message_needaction_counter': 1,
'message_needaction_counter_bus_id': 468,
'name': 'public channel 1',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'gaBxBt5dvc'},
{'avatar_cache_key': '6a7a188b5d1a3e1d4fe09a10f24ffa1a63522ad58e444a295250041a12e1488dd2d3ec4caccc9edb1c90204fd83a627356016258363acba84fd66eecda524a33',
'channel_type': 'channel',
'create_uid': 118,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'group_ids': [],
'group_public_id': False,
'id': 28,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 5,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'public channel 2',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'PKpNu7pIBv'},
{'avatar_cache_key': 'ad050df8652b8797860dd3f1782eb9164b06d4a18108813ed0f3cc1ff5f2a1bfa9620ec038fd5a8e4752a8161e74f802fc1900d01d4858dee63b166eb61859b3',
'channel_type': 'channel',
'create_uid': 118,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'group_ids': [],
'group_public_id': 1,
'id': 29,
'invited_member_ids': [['ADD', [204]]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 5,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'group restricted channel 1',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', [3]]],
'uuid': 'XXH59BoEw3'},
{'avatar_cache_key': '6fb90f97a1d03fe351fa384b5d69081e90bae89517f7fbc1254b19aa99d349a3ff0191979961955b86a573b2f511c07f047cde33147252a0096d55147640b811',
'channel_type': 'channel',
'create_uid': 118,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'group_ids': [],
'group_public_id': 1,
'id': 30,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 5,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'group restricted channel 2',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'WgzD8pDeaM'},
{'avatar_cache_key': '6aee05ecd71a45743eff75766123c2aed3c825639f63ba68c89da4cd3b426820224c0126651a426d73b18a040458dc43b82428468da5e7ed169e5707cf419c68',
'channel_name_member_ids': [222, 223],
'channel_type': 'group',
'create_uid': 118,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'id': 35,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': '',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'mV2MFBdy4s'},
{'channel_type': 'chat',
'create_uid': 118,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 31,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test14',
'rtc_session_ids': [['ADD', []]],
'uuid': 'UJVtz2cZKp'},
{'channel_type': 'chat',
'create_uid': 118,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 32,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test15',
'rtc_session_ids': [['ADD', []]],
'uuid': 'si9qaYYoCM'},
{'channel_type': 'chat',
'create_uid': 118,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 33,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test2',
'rtc_session_ids': [['ADD', []]],
'uuid': '3isW7ZfruG'},
{'channel_type': 'chat',
'create_uid': 118,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 34,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:51',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test3',
'rtc_session_ids': [['ADD', []]],
'uuid': 'JZ3e6o8HGZ'},
{'channel_type': 'livechat',
'country_id': 104,
'create_uid': 119,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'id': 36,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:53',
'livechat_channel_id': 10,
'livechat_conversation_tag_ids': [3],
'livechat_end_dt': False,
'livechat_expertise_ids': [],
'livechat_lang_id': False,
'livechat_note': False,
'livechat_operator_id': 239,
'livechat_outcome': 'no_answer',
'livechat_status': 'in_progress',
'livechat_visitor_id': False,
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'test1 Ernest Employee',
'requested_by_operator': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'Gx9sm8bodK'},
{'channel_type': 'livechat',
'country_id': 20,
'create_uid': 3,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'id': 37,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-04-17 10:47:53',
'livechat_channel_id': 10,
'livechat_conversation_tag_ids': [],
'livechat_end_dt': False,
'livechat_expertise_ids': [],
'livechat_lang_id': False,
'livechat_note': False,
'livechat_operator_id': 239,
'livechat_outcome': 'no_answer',
'livechat_status': 'in_progress',
'livechat_visitor_id': False,
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Visitor Ernest Employee',
'requested_by_operator': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'SHYaW9cny4'}],
'discuss.channel.member': [{'channel_id': {'id': 1,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 178,
'last_interest_dt': False,
'last_seen_dt': False,
'message_unread_counter': 1,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 27,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2297,
'id': 194,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': '2026-04-17 10:47:53',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2298,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': 2297,
'unpin_dt': False},
{'channel_id': {'id': 28,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2292,
'id': 199,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': '2026-04-17 10:47:52',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2293,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': 2292,
'unpin_dt': False},
{'channel_id': {'id': 29,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2293,
'id': 204,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': '2026-04-17 10:47:52',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2294,
'partner_id': 239,
'rtc_inviting_session_id': 3,
'seen_message_id': 2293,
'unpin_dt': False},
{'channel_id': {'id': 29,
'model': 'discuss.channel'},
'id': 205,
'partner_id': 241},
{'channel_id': {'id': 30,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2294,
'id': 209,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': '2026-04-17 10:47:52',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2295,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': 2294,
'unpin_dt': False},
{'channel_id': {'id': 35,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 222,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 35,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'fetched_message_id': False,
'id': 223,
'last_seen_dt': False,
'partner_id': 251,
'seen_message_id': False},
{'channel_id': {'id': 31,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 214,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 31,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'fetched_message_id': False,
'id': 215,
'last_seen_dt': False,
'partner_id': 253,
'seen_message_id': False},
{'channel_id': {'id': 32,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 216,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 32,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'fetched_message_id': False,
'id': 217,
'last_seen_dt': False,
'partner_id': 254,
'seen_message_id': False},
{'channel_id': {'id': 33,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 218,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 33,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'fetched_message_id': False,
'id': 219,
'last_seen_dt': False,
'partner_id': 241,
'seen_message_id': False},
{'channel_id': {'id': 34,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 220,
'last_interest_dt': '2026-04-17 10:47:51',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 34,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:19',
'fetched_message_id': False,
'id': 221,
'last_seen_dt': False,
'partner_id': 242,
'seen_message_id': False},
{'channel_id': {'id': 36,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:53',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 224,
'last_interest_dt': '2026-04-17 10:47:52',
'last_seen_dt': False,
'livechat_member_type': 'agent',
'message_unread_counter': 1,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': '2026-04-17 10:47:53'},
{'channel_id': {'id': 36,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:53',
'fetched_message_id': 2295,
'id': 225,
'last_seen_dt': '2026-04-17 10:47:53',
'livechat_member_type': 'visitor',
'partner_id': 240,
'seen_message_id': 2295},
{'channel_id': {'id': 37,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:53',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 226,
'last_interest_dt': '2026-04-17 10:47:52',
'last_seen_dt': False,
'livechat_member_type': 'agent',
'message_unread_counter': 1,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 239,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': '2026-04-17 10:47:53'},
{'channel_id': {'id': 37,
'model': 'discuss.channel'},
'create_date': '2026-04-17 10:47:53',
'fetched_message_id': 2296,
'guest_id': 9,
'id': 227,
'last_seen_dt': '2026-04-17 10:47:53',
'livechat_member_type': 'visitor',
'seen_message_id': 2296}],
'discuss.channel.rtc.session': [{'channel_member_id': 205,
'id': 3,
'is_camera_on': False,
'is_deaf': False,
'is_muted': False,
'is_screen_sharing_on': False}],
'hr.employee': [{'id': 36, 'leave_date_to': False},
{'id': 48, 'leave_date_to': False},
{'id': 50, 'leave_date_to': False},
{'id': 51, 'leave_date_to': False},
{'id': 38, 'leave_date_to': False},
{'id': 39, 'leave_date_to': False}],
'im_livechat.channel': [{'id': 10, 'name': 'support'}],
'im_livechat.conversation.tag': [{'color': 1, 'id': 3, 'name': 'Support'}],
'mail.guest': [{'avatar_128_access_token': 'f43ff84be719cda3a8035a3cd74f4d4eb3f965eb83480efceed5fd8f960c7392o0x6826fd4c',
'country_id': 20,
'id': 9,
'im_status': 'offline',
'im_status_access_token': 'e6c0e1e905d67c01a97e86c04d612566234e9c6714045eb96df25517704e0e9co0x68267acd',
'name': 'Visitor',
'offline_since': False,
'write_date': '2026-04-17 10:47:53'}],
'mail.message': [{'attachment_ids': [],
'author_guest_id': False,
'author_id': 239,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-04-17 10:47:19',
'date': '2026-04-17 10:47:53',
'default_subject': 'general',
'email_from': '"Ernest Employee" <e.e@example.com>',
'id': 2299,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'comment',
'model': 'discuss.channel',
'needaction': False,
'notification_ids': [],
'parent_id': False,
'partner_ids': [],
'pinned_at': False,
'rating_id': False,
'reactions': [{'content': '👍', 'message': 2299},
{'content': '😁', 'message': 2299},
{'content': '😊', 'message': 2299}],
'record_name': 'general',
'res_id': 1,
'scheduledDatetime': False,
'starred': False,
'subject': False,
'subtype_id': 2,
'thread': {'id': 1, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:19'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 241,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-04-17 10:47:19',
'date': '2026-04-17 10:47:53',
'default_subject': 'public channel 1',
'email_from': '"test2" <test2@example.com>',
'id': 2297,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'comment',
'model': 'discuss.channel',
'needaction': True,
'notification_ids': [24],
'parent_id': False,
'partner_ids': [239],
'pinned_at': False,
'rating_id': False,
'reactions': [{'content': '😁', 'message': 2297},
{'content': '😊', 'message': 2297},
{'content': '😏', 'message': 2297}],
'record_name': 'public channel 1',
'res_id': 27,
'scheduledDatetime': False,
'starred': True,
'subject': False,
'subtype_id': 2,
'thread': {'id': 27, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:19'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 239,
'body': ['markup',
'<div class="o_mail_notification">created this '
'channel.</div>'],
'create_date': '2026-04-17 10:47:19',
'date': '2026-04-17 10:47:52',
'default_subject': 'public channel 2',
'email_from': '"Ernest Employee" <e.e@example.com>',
'id': 2292,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'notification',
'model': 'discuss.channel',
'needaction': False,
'notification_ids': [],
'parent_id': False,
'partner_ids': [],
'pinned_at': False,
'rating_id': False,
'reactions': [],
'record_name': 'public channel 2',
'res_id': 28,
'scheduledDatetime': False,
'starred': False,
'subject': False,
'subtype_id': 1,
'thread': {'id': 28, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:19'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 2,
'body': ['markup',
'<div data-oe-type="call" '
'class="o_mail_notification"></div>'],
'call_history_ids': [3],
'create_date': '2026-04-17 10:47:19',
'date': '2026-04-17 10:47:53',
'default_subject': 'group restricted channel 1',
'email_from': '"OdooBot" <odoobot@example.com>',
'id': 2298,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'notification',
'model': 'discuss.channel',
'needaction': False,
'notification_ids': [],
'parent_id': False,
'partner_ids': [],
'pinned_at': False,
'rating_id': False,
'reactions': [],
'record_name': 'group restricted channel 1',
'res_id': 29,
'scheduledDatetime': False,
'starred': False,
'subject': False,
'subtype_id': 2,
'thread': {'id': 29, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:19'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 239,
'body': ['markup',
'<div class="o_mail_notification">created this '
'channel.</div>'],
'create_date': '2026-04-17 10:47:19',
'date': '2026-04-17 10:47:52',
'default_subject': 'group restricted channel 2',
'email_from': '"Ernest Employee" <e.e@example.com>',
'id': 2294,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'notification',
'model': 'discuss.channel',
'needaction': False,
'notification_ids': [],
'parent_id': False,
'partner_ids': [],
'pinned_at': False,
'rating_id': False,
'reactions': [],
'record_name': 'group restricted channel 2',
'res_id': 30,
'scheduledDatetime': False,
'starred': False,
'subject': False,
'subtype_id': 1,
'thread': {'id': 30, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:19'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 240,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-04-17 10:47:19',
'date': '2026-04-17 10:47:53',
'default_subject': 'test1 Ernest Employee',
'email_from': '"test1" <test1@example.com>',
'id': 2295,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'comment',
'model': 'discuss.channel',
'needaction': False,
'notification_ids': [],
'parent_id': False,
'partner_ids': [],
'pinned_at': False,
'rating_id': False,
'reactions': [],
'record_name': 'test1 Ernest Employee',
'res_id': 36,
'scheduledDatetime': False,
'starred': False,
'subject': False,
'subtype_id': 2,
'thread': {'id': 36, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:19'},
{'attachment_ids': [],
'author_guest_id': 9,
'author_id': False,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-04-17 10:47:53',
'date': '2026-04-17 10:47:53',
'default_subject': 'Visitor Ernest Employee',
'email_from': False,
'id': 2296,
'incoming_email_cc': False,
'incoming_email_to': False,
'message_link_preview_ids': [],
'message_type': 'comment',
'model': 'discuss.channel',
'needaction': False,
'notification_ids': [],
'parent_id': False,
'partner_ids': [],
'pinned_at': False,
'rating_id': False,
'reactions': [],
'record_name': 'Visitor Ernest Employee',
'res_id': 37,
'scheduledDatetime': False,
'starred': False,
'subject': False,
'subtype_id': 2,
'thread': {'id': 37, 'model': 'discuss.channel'},
'trackingValues': [],
'write_date': '2026-04-17 10:47:53'}],
'mail.message.subtype': [{'description': False, 'id': 2},
{'description': False, 'id': 1}],
'mail.notification': [{'failure_type': False,
'id': 24,
'mail_email_address': False,
'mail_message_id': 2297,
'notification_status': 'sent',
'notification_type': 'inbox',
'res_partner_id': 239}],
'mail.thread': [{'display_name': 'general',
'has_mail_thread': True,
'id': 1,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0},
{'display_name': 'public channel 1',
'has_mail_thread': True,
'id': 27,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0},
{'display_name': 'public channel 2',
'has_mail_thread': True,
'id': 28,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0},
{'display_name': 'group restricted channel 1',
'has_mail_thread': True,
'id': 29,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0},
{'display_name': 'group restricted channel 2',
'has_mail_thread': True,
'id': 30,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0},
{'display_name': 'test1 Ernest Employee',
'has_mail_thread': True,
'id': 36,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0},
{'display_name': 'Visitor Ernest Employee',
'has_mail_thread': True,
'id': 37,
'model': 'discuss.channel',
- 'module_icon': '/viin_brand/static/img/apps/mail.png',
? ^ ^^^^^^^^ ^^ ------- ^
+ 'module_icon': '/mail/static/description/icon.png',
? ^^ ^ +++++ ^^^^^ ^^^
'rating_avg': 0.0,
'rating_count': 0}],
'res.country': [{'code': 'IN', 'id': 104, 'name': 'India'},
{'code': 'BE', 'id': 20, 'name': 'Belgium'}],
'res.groups': [{'full_name': 'Role / User', 'id': 1}],
'res.partner': [{'active': True,
'avatar_128_access_token': '4978a3403622954296ad681c831453ffe635e690a266ab438670f75eb891fd5fo0x6829454a',
'country_id': False,
'email': 'e.e@example.com',
'id': 239,
'im_status': 'online',
'im_status_access_token': '041bc24d00c3b1ddb108707e8025fc61ef339db62c6797eb95702d6539dfe70co0x6828b2a4',
'is_company': False,
'is_public': False,
'main_user_id': 118,
'mention_token': '3fefdfb85aa1490b8efe0a3e740a3f346cc20633ac748e6221c0571b8512bd34o0x6823d040',
'name': 'Ernest Employee',
'user_livechat_username': False,
'write_date': '2026-04-17 10:47:19'},
{'active': True,
'avatar_128_access_token': '373514051c5f03b3c662f5e540532e3d9262a9806943bde5dbac550264cdb46bo0x68293d49',
'email': 'test2@example.com',
'id': 241,
'im_status': 'offline',
'im_status_access_token': '6f268e592cea80c8f80b5abfee3578119aeac4ae1ec260fadee39edba32c4103o0x6828ab25',
'is_company': False,
'main_user_id': 120,
'mention_token': 'd0949c33f5c6384aba43868efeb0c6a10f2e452dc6675a43bcf0eed3d9e1e040o0x6823cc49',
'name': 'test2',
'write_date': '2026-04-17 10:47:19'},
{'active': True,
'avatar_128_access_token': 'b2aa9709f52aceed6a740efd67635f64da42c733ae42faa9b7cbf0097283ff20o0x68293e83',
'email': False,
'id': 251,
'im_status': 'offline',
'im_status_access_token': '73ffa00ba993b36e78ea62db64f2dd09174e85b66d8aa3d3832cc79e676ae577o0x6828ac4c',
'is_company': False,
'main_user_id': 130,
'mention_token': 'bdd5b526ff3d0ea638b931830c9ab0366b774200073934fa89e21c5986aebbfeo0x6823ccef',
'name': 'test12',
'write_date': '2026-04-17 10:47:19'},
{'active': True,
'avatar_128_access_token': '28fa030868ab56a894794a5a44d632039edff572a8a01995ac660c4d1b7d8226o0x682940d2',
'email': False,
'id': 253,
'im_status': 'offline',
'im_status_access_token': '7ba3e6b2de4f7eff57c0428387dba37e4cb5714f82bf77bd466e52677c64def7o0x6828ae76',
'is_company': False,
'main_user_id': 132,
'mention_token': 'eeb82bd93d00a163ee12986e99b3264be67ba049338be6d1dcb61bd16032adf9o0x6823ce16',
'name': 'test14',
'write_date': '2026-04-17 10:47:19'},
{'active': True,
'avatar_128_access_token': '87f6a3f26f761cc80d63465b67d7b40e1bf67e894d2813f60308354ef522c2e9o0x682941f9',
'email': False,
'id': 254,
'im_status': 'offline',
'im_status_access_token': '0f17a72e7a2a9515b229ea072b81f56337db083db2224078177ddaebfc92b98bo0x6828af8b',
'is_company': False,
'main_user_id': 133,
'mention_token': '654596079751beacf0a4cf9f830d325b5e7a3519d933ed9a7cefc44f741c0914o0x6823ceaa',
'name': 'test15',
'write_date': '2026-04-17 10:47:19'},
{'active': True,
'avatar_128_access_token': '974275988178ae1db5db30c2b61ad7586e41e5d5084172d0d9f15bf052518926o0x68293e70',
'email': False,
'id': 242,
'im_status': 'offline',
'im_status_access_token': '3e41ac7247f5626413576004e5d6ec050daacbca7bdcd32cad89d1ce973609e4o0x6828ac3a',
'is_company': False,
'main_user_id': 121,
'mention_token': '1bfccb86d2967e6745e8ce5533ad9576849950a01841213e56be487082c91453o0x6823ccdc',
'name': 'test3',
'write_date': '2026-04-17 10:47:19'},
{'active': True,
'avatar_128_access_token': 'b8757d83bddb5ec913ac12778cfc7749ea96d78792b2a530e079297baceb7cdfo0x68293c22',
'country_id': 104,
'email': 'test1@example.com',
'id': 240,
'im_status': 'offline',
'im_status_access_token': '50b086cebf96862f7135a6034dfd085b587a967a1f63e714119eeb3b5f981d34o0x6828aa10',
'is_company': False,
'is_public': False,
'main_user_id': 119,
'mention_token': '0658e00732f16675bb782a2e5f57b4a38f6ecaddffe9d3fb29bf8046ecf7a0cco0x6823cbb5',
'name': 'test1',
'offline_since': False,
'user_livechat_username': False,
'write_date': '2026-04-17 10:47:19'},
{'avatar_128_access_token': '49a8f482fe6c222551d68a733ec231a8922d864e7ec344e9b5b67e7855519b22o0x6827fd51',
'id': 2,
'is_company': False,
'main_user_id': 1,
'name': 'OdooBot',
'write_date': '2026-04-17 10:47:19'}],
'res.users': [{'employee_ids': [36],
'id': 118,
'partner_id': 239,
'share': False},
{'employee_ids': [48],
'id': 130,
'partner_id': 251,
'share': False},
{'employee_ids': [50],
'id': 132,
'partner_id': 253,
'share': False},
{'employee_ids': [51],
'id': 133,
'partner_id': 254,
'share': False},
{'employee_ids': [38],
'id': 120,
'partner_id': 241,
'share': False},
{'employee_ids': [39],
'id': 121,
'partner_id': 242,
'share': False},
{'id': 1, 'partner_id': 2, 'share': False},
{'id': 119, 'partner_id': 240, 'share': False}]}
|
| 04/17/2026 18:30:20 | ERROR |
odoo.addons.test_mail.tests.test_performance: FAIL: TestMessageToStorePerformance.test_message_to_store_multi_followers_inbox
Traceback (most recent call last):
File "/data/build/Viindoo-odoo-19.0/odoo/tests/common.py", line 2703, in warmup
func(self, *args, **kwargs)
File "/data/build/Viindoo-odoo-19.0/addons/test_mail/tests/test_performance.py", line 1851, in test_message_to_store_multi_followers_inbox
with self.assertBus(get_params=get_bus_params):
File "/usr/lib/python3.12/contextlib.py", line 144, in __exit__
next(self.gen)
File "/data/build/Viindoo-odoo-19.0/addons/mail/tests/common.py", line 1402, in assertBus
found_bus_notifs = self.assertBusNotifications(channels, message_items=message_items)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/build/Viindoo-odoo-19.0/addons/mail/tests/common.py", line 1734, in assertBusNotifications
raise AssertionError(
AssertionError: No notification was found with the expected value.
Expected:
{"type":"mail.message/inbox","payload":{"message_id":6506,"store_data":{"mail.followers":[{"id":1963,"is_active":true,"partner_id":838}],"mail.message":[{"attachment_ids":[],"author_guest_id":false,"author_id":2,"body":["markup","<p>Test Post Performances with multiple inbox ping!</p>"],"create_date":"2026-04-17 11:00:06","date":"2026-04-17 11:00:32","default_subject":"Test","email_from":"\"OdooBot\" <odoobot@example.com>","id":6506,"incoming_email_cc":false,"incoming_email_to":false,"message_link_preview_ids":[],"message_type":"comment","model":"mail.test.simple","needaction":true,"notification_ids":[1067,1068],"partner_ids":[],"pinned_at":false,"rating_id":false,"reactions":[],"record_name":"Test","res_id":175,"scheduledDatetime":false,"starred":false,"subject":false,"subtype_id":1,"thread":{"id":175,"model":"mail.test.simple"},"trackingValues":[],"write_date":"2026-04-17 11:00:06"}],"mail.message.subtype":[{"description":false,"id":1}],"mail.notification":[{"mail_email_address":false,"failure_type":false,"id":1067,"mail_message_id":6506,"notification_status":"sent","notification_type":"inbox","res_partner_id":838},{"mail_email_address":false,"failure_type":false,"id":1068,"mail_message_id":6506,"notification_status":"sent","notification_type":"inbox","res_partner_id":840}],"mail.thread":[{"display_name":"Test","has_mail_thread":true,"id":175,"model":"mail.test.simple","module_icon":"/base/static/description/icon.png","selfFollower":1963}],"res.partner":[{"avatar_128_access_token":"8f7d68c815f9d00c242d52cbac38b784f14fb38acc206ac44a755d914e2827b4o0x6a07df51","id":2,"is_company":false,"main_user_id":1,"name":"OdooBot","write_date":"2026-04-17 11:00:06"},{"email":"user.emp.inbox@test.example.com","id":838,"name":"Ignasse Inbox"},{"email":"user.fol.emp.inbox@test.example.com","id":840,"name":"Isabelle Follower Inbox"}],"res.users":[{"id":1,"partner_id":2,"share":false}]}}}
Returned:
["rb-abe9bdd-221440-380151","res.partner",838]
{"type":"mail.message/inbox","payload":{"message_id":6506,"store_data":{"mail.followers":[{"id":1963,"is_active":true,"partner_id":838}],"mail.message":[{"attachment_ids":[],"author_guest_id":false,"author_id":2,"body":["markup","<p>Test Post Performances with multiple inbox ping!</p>"],"create_date":"2026-04-17 11:00:06","date":"2026-04-17 11:00:32","default_subject":"Test","email_from":"\"OdooBot\" <odoobot@example.com>","id":6506,"incoming_email_cc":false,"incoming_email_to":false,"message_link_preview_ids":[],"message_type":"comment","model":"mail.test.simple","needaction":true,"notification_ids":[1067,1068],"partner_ids":[],"pinned_at":false,"rating_id":false,"reactions":[],"record_name":"Test","res_id":175,"scheduledDatetime":false,"starred":false,"subject":false,"subtype_id":1,"thread":{"id":175,"model":"mail.test.simple"},"trackingValues":[],"write_date":"2026-04-17 11:00:06"}],"mail.message.subtype":[{"description":false,"id":1}],"mail.notification":[{"failure_type":false,"id":1067,"mail_email_address":false,"mail_message_id":6506,"notification_status":"sent","notification_type":"inbox","res_partner_id":838},{"failure_type":false,"id":1068,"mail_email_address":false,"mail_message_id":6506,"notification_status":"sent","notification_type":"inbox","res_partner_id":840}],"mail.thread":[{"display_name":"Test","has_mail_thread":true,"id":175,"model":"mail.test.simple","module_icon":"/viin_brand/static/img/apps/base.png","selfFollower":1963}],"res.partner":[{"avatar_128_access_token":"8f7d68c815f9d00c242d52cbac38b784f14fb38acc206ac44a755d914e2827b4o0x6a07df51","id":2,"is_company":false,"main_user_id":1,"name":"OdooBot","write_date":"2026-04-17 11:00:06"},{"email":"user.emp.inbox@test.example.com","id":838,"name":"Ignasse Inbox"},{"email":"user.fol.emp.inbox@test.example.com","id":840,"name":"Isabelle Follower Inbox"}],"res.users":[{"id":1,"partner_id":2,"share":false}]}}}
["rb-abe9bdd-221440-380151","res.partner",840]
{"type":"mail.message/inbox","payload":{"message_id":6506,"store_data":{"mail.followers":[{"id":1962,"is_active":true,"partner_id":840}],"mail.message":[{"attachment_ids":[],"author_guest_id":false,"author_id":2,"body":["markup","<p>Test Post Performances with multiple inbox ping!</p>"],"create_date":"2026-04-17 11:00:06","date":"2026-04-17 11:00:32","default_subject":"Test","email_from":"\"OdooBot\" <odoobot@example.com>","id":6506,"incoming_email_cc":false,"incoming_email_to":false,"message_link_preview_ids":[],"message_type":"comment","model":"mail.test.simple","needaction":true,"notification_ids":[1067,1068],"partner_ids":[],"pinned_at":false,"rating_id":false,"reactions":[],"record_name":"Test","res_id":175,"scheduledDatetime":false,"starred":false,"subject":false,"subtype_id":1,"thread":{"id":175,"model":"mail.test.simple"},"trackingValues":[],"write_date":"2026-04-17 11:00:06"}],"mail.message.subtype":[{"description":false,"id":1}],"mail.notification":[{"failure_type":false,"id":1067,"mail_email_address":false,"mail_message_id":6506,"notification_status":"sent","notification_type":"inbox","res_partner_id":838},{"failure_type":false,"id":1068,"mail_email_address":false,"mail_message_id":6506,"notification_status":"sent","notification_type":"inbox","res_partner_id":840}],"mail.thread":[{"display_name":"Test","has_mail_thread":true,"id":175,"model":"mail.test.simple","module_icon":"/viin_brand/static/img/apps/base.png","selfFollower":1962}],"res.partner":[{"avatar_128_access_token":"8f7d68c815f9d00c242d52cbac38b784f14fb38acc206ac44a755d914e2827b4o0x6a07df51","id":2,"is_company":false,"main_user_id":1,"name":"OdooBot","write_date":"2026-04-17 11:00:06"},{"email":"user.emp.inbox@test.example.com","id":838,"name":"Ignasse Inbox"},{"email":"user.fol.emp.inbox@test.example.com","id":840,"name":"Isabelle Follower Inbox"}],"res.users":[{"id":1,"partner_id":2,"share":false}]}}}
|
| 04/17/2026 18:30:20 | ERROR |
odoo.tests.result: 2 failed, 0 error(s) of 1273 tests when loading database 'rb-abe9bdd-221440-380151'
|
| 04/17/2026 18:30:20 | INFO |
Cleaning all resource
|
| 04/17/2026 18:30:20 | INFO |
Cleanup finished
|