| 123456789101112131415161718192021222324252627282930313233343536 |
- """A printer named after its model keeps the model in the support package (#3442).
- The support package redacts printer names everywhere. A printer named "H3C"
- turned every "H3C" into [PRINTER], so the package no longer said which model
- it came from. A name that is only a model name is not private and stays.
- """
- import pytest
- from backend.app.services.log_reader import collect_sensitive_strings, sanitize_log_content
- @pytest.mark.asyncio
- @pytest.mark.parametrize(
- ("name", "model"),
- [
- ("H3C", "H3C"), # a model Bambuddy does not list yet: the row's own model decides
- ("x1c", "P1S"), # a listed display name, any case
- ("A1mini", "A1"), # spaces do not matter
- ("BL-P001", "X1C"), # an internal code
- ("Bambu Lab H2D", "H2D"), # the 3MF name
- ],
- )
- async def test_a_model_name_is_not_redacted(db_session, printer_factory, name, model):
- await printer_factory(name=name, model=model)
- sensitive = await collect_sensitive_strings(db_session)
- assert name not in sensitive
- @pytest.mark.asyncio
- async def test_a_real_name_is_still_redacted(db_session, printer_factory):
- await printer_factory(name="Workshop H3C", model="H3C")
- sensitive = await collect_sensitive_strings(db_session)
- assert sensitive["Workshop H3C"] == "[PRINTER]"
- line = "Workshop H3C: model H3C connected"
- assert sanitize_log_content(line, sensitive) == "[PRINTER]: model H3C connected"
|