Odoo 19 Test Suite Using Docker
Post install tests: from spreadsheet_dashboard_hr_timesheet to viin_brand_base_import
- 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_ecpay,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_cashmatic,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_self_order_viva_com,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_account_counterpart,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_legal_invoice_number,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_account_counterpart,/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_legal_invoice_number,/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,-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,-:TestKpiProvider
| Create Date | Level | Message |
|---|---|---|
| 06/20/2026 10:10:00 | 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.15.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 |
| 06/20/2026 10:20:13 | 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-7e7d82b-222271 -d rb-7e7d82b-222271-386455 --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_account_counterpart,/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_legal_invoice_number,/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,-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,-:TestKpiProvider ; |
| 06/20/2026 10:20:13 | INFO |
Restoring from: rb-7e7d82b-222271-386451
|
| 06/20/2026 10:20:13 | INFO |
Container rb-7e7d82b-222271-386455 started !
|
| 06/20/2026 10:45:45 | INFO |
Container rb-7e7d82b-222271-386455 stopped !
|
| 06/20/2026 10:45:45 | 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 2656, in with_users
func(self, *args, **kwargs)
File "/data/build/Viindoo-odoo-19.0/odoo/tests/common.py", line 2687, 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[28756 chars]se}]} != {'discuss.call.history': [{'duration_hour':[28735 chars]24}]}
{'MessageReactions': [{'content': '👍',
'count': 1,
'guests': [],
'message': 2353,
'partners': [252],
'sequence': 36},
{'content': '😁',
'count': 2,
'guests': [],
'message': 2353,
'partners': [252, 251],
'sequence': 31},
{'content': '😊',
'count': 3,
'guests': [],
'message': 2353,
'partners': [252, 251, 250],
'sequence': 27},
{'content': '😁',
'count': 1,
'guests': [],
'message': 2351,
'partners': [252],
'sequence': 33},
{'content': '😊',
'count': 3,
'guests': [],
'message': 2351,
'partners': [252, 251, 250],
'sequence': 25},
{'content': '😏',
'count': 2,
'guests': [],
'message': 2351,
'partners': [251, 250],
'sequence': 26}],
'discuss.call.history': [{'duration_hour': -10158.097222222223,
'end_dt': False,
'id': 3}],
'discuss.channel': [{'avatar_cache_key': '498e14385629b834c796af58f3996cc46000228b5892680ca26cfd51213f0b0006c9763fb8ee5b2a8797ef4d42eacb03d508f0aee17d3b9d0cce2f1e3c3c12d3',
'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-06-20 03:24:23',
'member_count': 21,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'general',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': '4AXNXbFzEd'},
{'avatar_cache_key': 'eb5999567af3f53f9443c254ec5641a80af91ba27eb58a8d6897c67f3b456516fff19559f300b92776cdd5061bbd4ac8af9d48a4237de06f52d695368ae87b7a',
'channel_type': 'channel',
'create_uid': 121,
'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-06-20 03:24:23',
'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': 'YBHAtXbvrE'},
{'avatar_cache_key': '0ab3f0130189031bf65b564682970da47d882e3ec4c5b18285727310b2e25b680c5ffbd12184d516a5235e35f9bc874af37a90b4b5120421c27a5c44140e2725',
'channel_type': 'channel',
'create_uid': 121,
'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-06-20 03:24:21',
'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': 'qDcv5LRTIb'},
{'avatar_cache_key': '45342ef8e8a7bbe0ae1dc7f24d99c8b19fb7433f487620d350587c4cbf2460c78a17a3441f46a77408cc04ceb968ed295d858cce56fbc5f697234dcb0e390680',
'channel_type': 'channel',
'create_uid': 121,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'from_message_id': False,
'group_ids': [],
'group_public_id': 1,
'id': 29,
'invited_member_ids': [['ADD', [208]]],
'is_editable': True,
'last_interest_dt': '2026-06-20 03:24:21',
'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': 'wF2IAewRbL'},
{'avatar_cache_key': '5e393df9e43392e8563dea56990b3fc61f9e2406eaa38f9d59ba7ece1ecff421d827a7da35074e3108b5aa2f179a9d33304467b1c6e73b69a94fe4852949f9e4',
'channel_type': 'channel',
'create_uid': 121,
'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-06-20 03:24:21',
'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': 'n6zaeF8Ynu'},
{'avatar_cache_key': '4f8e3bd9c039930185f7c3fb0de112c764350dd8d88f131e8eed570735a7eb2d6be7cb0a7924043eb71ee64944429e3cf6c8547c078864f14f6dc8fb44e2b8ff',
'channel_name_member_ids': [226, 227],
'channel_type': 'group',
'create_uid': 121,
'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-06-20 03:24:21',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': '',
'parent_channel_id': False,
'rtc_session_ids': [['ADD', []]],
'uuid': 'eS236tDohR'},
{'channel_type': 'chat',
'create_uid': 121,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 31,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-06-20 03:24:21',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test14',
'rtc_session_ids': [['ADD', []]],
'uuid': 'z3B25Cm2y3'},
{'channel_type': 'chat',
'create_uid': 121,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 32,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-06-20 03:24:21',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test15',
'rtc_session_ids': [['ADD', []]],
'uuid': 'WFLEvjrXQL'},
{'channel_type': 'chat',
'create_uid': 121,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 33,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-06-20 03:24:21',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test2',
'rtc_session_ids': [['ADD', []]],
'uuid': 'sQIicNvLaZ'},
{'channel_type': 'chat',
'create_uid': 121,
'default_display_mode': False,
'fetchChannelInfoState': 'fetched',
'id': 34,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-06-20 03:24:21',
'member_count': 2,
'message_needaction_counter': 0,
'message_needaction_counter_bus_id': 468,
'name': 'Ernest Employee, test3',
'rtc_session_ids': [['ADD', []]],
'uuid': 'a9jDFsG54T'},
{'channel_type': 'livechat',
'country_id': 104,
'create_uid': 122,
'default_display_mode': False,
'description': False,
'fetchChannelInfoState': 'fetched',
'id': 36,
'invited_member_ids': [['ADD', []]],
'is_editable': True,
'last_interest_dt': '2026-06-20 03:24:23',
'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': 250,
'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': 'sK8mRjpCeS'},
{'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-06-20 03:24:23',
'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': 250,
'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': 'Nh2NSDZMdh'}],
'discuss.channel.member': [{'channel_id': {'id': 1,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 192,
'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': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 27,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2351,
'id': 198,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': '2026-06-20 03:24:23',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2352,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': 2351,
'unpin_dt': False},
{'channel_id': {'id': 28,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2346,
'id': 203,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': '2026-06-20 03:24:22',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2347,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': 2346,
'unpin_dt': False},
{'channel_id': {'id': 29,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2347,
'id': 208,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': '2026-06-20 03:24:22',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2348,
'partner_id': 250,
'rtc_inviting_session_id': 3,
'seen_message_id': 2347,
'unpin_dt': False},
{'channel_id': {'id': 29,
'model': 'discuss.channel'},
'id': 209,
'partner_id': 252},
{'channel_id': {'id': 30,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': 2348,
'id': 213,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': '2026-06-20 03:24:22',
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 2349,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': 2348,
'unpin_dt': False},
{'channel_id': {'id': 35,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 226,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 35,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'fetched_message_id': False,
'id': 227,
'last_seen_dt': False,
'partner_id': 262,
'seen_message_id': False},
{'channel_id': {'id': 31,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 218,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 31,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'fetched_message_id': False,
'id': 219,
'last_seen_dt': False,
'partner_id': 264,
'seen_message_id': False},
{'channel_id': {'id': 32,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 220,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 32,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'fetched_message_id': False,
'id': 221,
'last_seen_dt': False,
'partner_id': 265,
'seen_message_id': False},
{'channel_id': {'id': 33,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 222,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 33,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'fetched_message_id': False,
'id': 223,
'last_seen_dt': False,
'partner_id': 252,
'seen_message_id': False},
{'channel_id': {'id': 34,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 224,
'last_interest_dt': '2026-06-20 03:24:21',
'last_seen_dt': False,
'message_unread_counter': 0,
'message_unread_counter_bus_id': 468,
'mute_until_dt': False,
'new_message_separator': 0,
'partner_id': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': False},
{'channel_id': {'id': 34,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:07',
'fetched_message_id': False,
'id': 225,
'last_seen_dt': False,
'partner_id': 253,
'seen_message_id': False},
{'channel_id': {'id': 36,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:23',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 228,
'last_interest_dt': '2026-06-20 03:24:22',
'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': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': '2026-06-20 03:24:23'},
{'channel_id': {'id': 36,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:23',
'fetched_message_id': 2349,
'id': 229,
'last_seen_dt': '2026-06-20 03:24:23',
'livechat_member_type': 'visitor',
'partner_id': 251,
'seen_message_id': 2349},
{'channel_id': {'id': 37,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:23',
'custom_channel_name': False,
'custom_notifications': False,
'fetched_message_id': False,
'id': 230,
'last_interest_dt': '2026-06-20 03:24:22',
'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': 250,
'rtc_inviting_session_id': False,
'seen_message_id': False,
'unpin_dt': '2026-06-20 03:24:23'},
{'channel_id': {'id': 37,
'model': 'discuss.channel'},
'create_date': '2026-06-20 03:24:23',
'fetched_message_id': 2350,
'guest_id': 9,
'id': 231,
'last_seen_dt': '2026-06-20 03:24:23',
'livechat_member_type': 'visitor',
'seen_message_id': 2350}],
'discuss.channel.rtc.session': [{'channel_member_id': 209,
'id': 3,
'is_camera_on': False,
'is_deaf': False,
'is_muted': False,
'is_screen_sharing_on': False}],
'hr.employee': [{'active': True,
'company_id': 1,
'id': 36,
'leave_date_to': False,
'user_id': 121},
{'active': True,
'company_id': 1,
'id': 48,
'leave_date_to': False,
'user_id': 133},
{'active': True,
'company_id': 1,
'id': 50,
'leave_date_to': False,
'user_id': 135},
{'active': True,
'company_id': 1,
'id': 51,
'leave_date_to': False,
'user_id': 136},
{'active': True,
'company_id': 1,
'id': 38,
'leave_date_to': False,
'user_id': 123},
{'active': True,
'company_id': 1,
'id': 39,
'leave_date_to': False,
'user_id': 124}],
'im_livechat.channel': [{'id': 10, 'name': 'support'}],
'im_livechat.conversation.tag': [{'color': 1, 'id': 3, 'name': 'Support'}],
'mail.guest': [{'avatar_128_access_token': 'dfb6003cc5f7774823903d98d96271190cdaec7cfb188e20d79de4d48a538ef9o0x6826fd4c',
'country_id': 20,
'id': 9,
'im_status': 'offline',
'im_status_access_token': 'de7c9d5053c428fab8448810f6c7ecdbe27232ba5447961d613daebf780fa74fo0x68267acd',
'name': 'Visitor',
'offline_since': False,
'write_date': '2026-06-20 03:24:23'}],
'mail.message': [{'attachment_ids': [],
'author_guest_id': False,
'author_id': 250,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-06-20 03:24:07',
'date': '2026-06-20 03:24:23',
'default_subject': 'general',
'email_from': '"Ernest Employee" <e.e@example.com>',
'id': 2353,
'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': 2353},
{'content': '😁', 'message': 2353},
{'content': '😊', 'message': 2353}],
'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-06-20 03:24:07'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 252,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-06-20 03:24:07',
'date': '2026-06-20 03:24:23',
'default_subject': 'public channel 1',
'email_from': '"test2" <test2@example.com>',
'id': 2351,
'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': [250],
'pinned_at': False,
'rating_id': False,
'reactions': [{'content': '😁', 'message': 2351},
{'content': '😊', 'message': 2351},
{'content': '😏', 'message': 2351}],
'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-06-20 03:24:07'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 250,
'body': ['markup',
'<div class="o_mail_notification">created this '
'channel.</div>'],
'create_date': '2026-06-20 03:24:07',
'date': '2026-06-20 03:24:22',
'default_subject': 'public channel 2',
'email_from': '"Ernest Employee" <e.e@example.com>',
'id': 2346,
'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-06-20 03:24:07'},
{'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-06-20 03:24:07',
'date': '2026-06-20 03:24:23',
'default_subject': 'group restricted channel 1',
'email_from': '"OdooBot" <odoobot@example.com>',
'id': 2352,
'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-06-20 03:24:07'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 250,
'body': ['markup',
'<div class="o_mail_notification">created this '
'channel.</div>'],
'create_date': '2026-06-20 03:24:07',
'date': '2026-06-20 03:24:22',
'default_subject': 'group restricted channel 2',
'email_from': '"Ernest Employee" <e.e@example.com>',
'id': 2348,
'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-06-20 03:24:07'},
{'attachment_ids': [],
'author_guest_id': False,
'author_id': 251,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-06-20 03:24:07',
'date': '2026-06-20 03:24:23',
'default_subject': 'test1 Ernest Employee',
'email_from': '"test1" <test1@example.com>',
'id': 2349,
'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-06-20 03:24:07'},
{'attachment_ids': [],
'author_guest_id': 9,
'author_id': False,
'body': ['markup', '<p>test</p>'],
'create_date': '2026-06-20 03:24:23',
'date': '2026-06-20 03:24:23',
'default_subject': 'Visitor Ernest Employee',
'email_from': False,
'id': 2350,
'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-06-20 03:24:23'}],
'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': 2351,
'notification_status': 'sent',
'notification_type': 'inbox',
'res_partner_id': 250}],
'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': 'fe484562d3ce06295dc576f022b0d6134873c04c72adce64a324f94eb78c67a6o0x68293d5c',
'country_id': False,
'email': 'e.e@example.com',
'id': 250,
'im_status': 'online',
'im_status_access_token': '59256412f143c42e8881054b39b2fb06bacef6f4f8d085144ea03ba86125d51do0x6828ab37',
'is_company': False,
'is_public': False,
'main_user_id': 121,
'mention_token': '4385e0ae78cad5718d1715deabb39c37a1687a90c6c9bb6a48b2d4df42d57871o0x6823cc5b',
'name': 'Ernest Employee',
'user_livechat_username': False,
'write_date': '2026-06-20 03:24:07'},
{'active': True,
'avatar_128_access_token': '485472814ebc88c295f94445eddbe60a9d831bac94800fc13be5d27e0d0fcdbfo0x68293faa',
'email': 'test2@example.com',
'id': 252,
'im_status': 'offline',
'im_status_access_token': '921718b6ca5f7782784817a995a52412094292760d328bc5f9de30261535e91fo0x6828ad61',
'is_company': False,
'main_user_id': 123,
'mention_token': '67f04374797c8eb28abe3608ae83c0a13f78f726f6ce3c2bc8f60ac6ca8d701eo0x6823cd82',
'name': 'test2',
'write_date': '2026-06-20 03:24:07'},
{'active': True,
'avatar_128_access_token': '1193071c0837aa38fe706e5a189e5b0a87cc0b90151ae3a287fc30f711914c04o0x682940e4',
'email': False,
'id': 262,
'im_status': 'offline',
'im_status_access_token': 'ecc64bfa8bbe9131a446b8c9af6f471cf68315b8792bdf873ee11afe22bea3b9o0x6828ae88',
'is_company': False,
'main_user_id': 133,
'mention_token': '9efcfea9a7f4bc43c0b2c3a82cd5e767275c50709a4214efb332bcaf24ead83do0x6823ce29',
'name': 'test12',
'write_date': '2026-06-20 03:24:07'},
{'active': True,
'avatar_128_access_token': '258209e29272898da765ea46a2a4e014f5ecc5c8329f1f4d75b600e53d207274o0x68294333',
'email': False,
'id': 264,
'im_status': 'offline',
'im_status_access_token': '55760d234b92672617ae943ba2b15ab5bc76290695bba3f41a6b2e4447b6f90ao0x6828b0b2',
'is_company': False,
'main_user_id': 135,
'mention_token': 'aa701015e48079210fd9ede3ba46abb25efed83795f53c7654e2c854560a1aa5o0x6823cf50',
'name': 'test14',
'write_date': '2026-06-20 03:24:07'},
{'active': True,
'avatar_128_access_token': 'b4b7ce34267b7ea38fc22bd68cad19d76693a272b5e2756b2e3d07cba95cbc94o0x6829445a',
'email': False,
'id': 265,
'im_status': 'offline',
'im_status_access_token': 'f8438f36b44bf37e6e7bd45f7cf8d92f525e4fe417bbea2b29648da80696e712o0x6828b1c7',
'is_company': False,
'main_user_id': 136,
'mention_token': '0309487ccb66c2f4f4ebd6767b7598ad528a8cfebf921d92a59b1e96bfc38ab6o0x6823cfe3',
'name': 'test15',
'write_date': '2026-06-20 03:24:07'},
{'active': True,
'avatar_128_access_token': '9c73d7fd2afcdd38b5aa451d4d182b7b86c5bf8b83fe8db955e3afd29fdb7af4o0x682940d2',
'email': False,
'id': 253,
'im_status': 'offline',
'im_status_access_token': '637479cba3c0c29cf8e989671b9517ea3838579ab4f5e1e3d72b488547bcaa0bo0x6828ae76',
'is_company': False,
'main_user_id': 124,
'mention_token': 'bf989f4653cd01d44907a51637807996c1940c7a854e3bb755077a7a763d9bedo0x6823ce16',
'name': 'test3',
'write_date': '2026-06-20 03:24:07'},
{'active': True,
'avatar_128_access_token': '33d8cacc4f57c9d7ce3e0dbcfad73f5c1a5c92c8d327ab09e9744cca26bd19dao0x68293e83',
'country_id': 104,
'email': 'test1@example.com',
'id': 251,
'im_status': 'offline',
'im_status_access_token': 'd763387ef28c366471f8e7fc9441afd33d57304f3d1293c745d5ac7420b46489o0x6828ac4c',
'is_company': False,
'is_public': False,
'main_user_id': 122,
'mention_token': '7675c9405f0f9ada9906ddf508307d8d52500cbef67df69c94435277480cb731o0x6823ccef',
'name': 'test1',
'offline_since': False,
'user_livechat_username': False,
'write_date': '2026-06-20 03:24:07'},
{'avatar_128_access_token': 'a55283f7858eef1358dd54cbee713aa36e9462f43d3d506c4e103a75c421b91co0x6827fd51',
'id': 2,
'is_company': False,
'main_user_id': 1,
'name': 'OdooBot',
'write_date': '2026-06-20 03:24:07'}],
'res.users': [{'employee_ids': [36],
'id': 121,
'partner_id': 250,
'share': False},
{'employee_ids': [48],
'id': 133,
'partner_id': 262,
'share': False},
{'employee_ids': [50],
'id': 135,
'partner_id': 264,
'share': False},
{'employee_ids': [51],
'id': 136,
'partner_id': 265,
'share': False},
{'employee_ids': [38],
'id': 123,
'partner_id': 252,
'share': False},
{'employee_ids': [39],
'id': 124,
'partner_id': 253,
'share': False},
{'id': 1, 'partner_id': 2, 'share': False},
{'id': 122, 'partner_id': 251, 'share': False}]}
|
| 06/20/2026 10:45:45 | 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 2687, 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":6565,"store_data":{"mail.followers":[{"id":1973,"is_active":true,"partner_id":850}],"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-06-20 03:29:28","date":"2026-06-20 03:29:35","default_subject":"Test","email_from":"\"OdooBot\" <odoobot@example.com>","id":6565,"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-06-20 03:29:28"}],"mail.message.subtype":[{"description":false,"id":1}],"mail.notification":[{"mail_email_address":false,"failure_type":false,"id":1067,"mail_message_id":6565,"notification_status":"sent","notification_type":"inbox","res_partner_id":850},{"mail_email_address":false,"failure_type":false,"id":1068,"mail_message_id":6565,"notification_status":"sent","notification_type":"inbox","res_partner_id":852}],"mail.thread":[{"display_name":"Test","has_mail_thread":true,"id":175,"model":"mail.test.simple","module_icon":"/base/static/description/icon.png","selfFollower":1973}],"res.partner":[{"avatar_128_access_token":"7ba0c20fb37042d13ca321dcdddc24eb36ec7a2c93add914ee177cd7745915eeo0x6a642851","id":2,"is_company":false,"main_user_id":1,"name":"OdooBot","write_date":"2026-06-20 03:29:28"},{"email":"user.emp.inbox@test.example.com","id":850,"name":"Ignasse Inbox"},{"email":"user.fol.emp.inbox@test.example.com","id":852,"name":"Isabelle Follower Inbox"}],"res.users":[{"id":1,"partner_id":2,"share":false}]}}}
Returned:
["rb-7e7d82b-222271-386455","res.partner",850]
{"type":"mail.message/inbox","payload":{"message_id":6565,"store_data":{"mail.followers":[{"id":1973,"is_active":true,"partner_id":850}],"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-06-20 03:29:28","date":"2026-06-20 03:29:35","default_subject":"Test","email_from":"\"OdooBot\" <odoobot@example.com>","id":6565,"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-06-20 03:29:28"}],"mail.message.subtype":[{"description":false,"id":1}],"mail.notification":[{"failure_type":false,"id":1067,"mail_email_address":false,"mail_message_id":6565,"notification_status":"sent","notification_type":"inbox","res_partner_id":850},{"failure_type":false,"id":1068,"mail_email_address":false,"mail_message_id":6565,"notification_status":"sent","notification_type":"inbox","res_partner_id":852}],"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":1973}],"res.partner":[{"avatar_128_access_token":"7ba0c20fb37042d13ca321dcdddc24eb36ec7a2c93add914ee177cd7745915eeo0x6a642851","id":2,"is_company":false,"main_user_id":1,"name":"OdooBot","write_date":"2026-06-20 03:29:28"},{"email":"user.emp.inbox@test.example.com","id":850,"name":"Ignasse Inbox"},{"email":"user.fol.emp.inbox@test.example.com","id":852,"name":"Isabelle Follower Inbox"}],"res.users":[{"id":1,"partner_id":2,"share":false}]}}}
["rb-7e7d82b-222271-386455","res.partner",852]
{"type":"mail.message/inbox","payload":{"message_id":6565,"store_data":{"mail.followers":[{"id":1974,"is_active":true,"partner_id":852}],"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-06-20 03:29:28","date":"2026-06-20 03:29:35","default_subject":"Test","email_from":"\"OdooBot\" <odoobot@example.com>","id":6565,"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-06-20 03:29:28"}],"mail.message.subtype":[{"description":false,"id":1}],"mail.notification":[{"failure_type":false,"id":1067,"mail_email_address":false,"mail_message_id":6565,"notification_status":"sent","notification_type":"inbox","res_partner_id":850},{"failure_type":false,"id":1068,"mail_email_address":false,"mail_message_id":6565,"notification_status":"sent","notification_type":"inbox","res_partner_id":852}],"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":1974}],"res.partner":[{"avatar_128_access_token":"7ba0c20fb37042d13ca321dcdddc24eb36ec7a2c93add914ee177cd7745915eeo0x6a642851","id":2,"is_company":false,"main_user_id":1,"name":"OdooBot","write_date":"2026-06-20 03:29:28"},{"email":"user.emp.inbox@test.example.com","id":850,"name":"Ignasse Inbox"},{"email":"user.fol.emp.inbox@test.example.com","id":852,"name":"Isabelle Follower Inbox"}],"res.users":[{"id":1,"partner_id":2,"share":false}]}}}
|
| 06/20/2026 10:45:45 | ERROR |
odoo.tests.result: 2 failed, 0 error(s) of 1311 tests when loading database 'rb-7e7d82b-222271-386455'
|
| 06/20/2026 10:45:45 | INFO |
Cleaning all resource
|
| 06/20/2026 10:45:45 | INFO |
Cleanup finished
|