| 1 | #!/usr/bin/env bash |
| 2 | set -e |
| 3 | export PYTHONPYCACHEPREFIX="$(mktemp -d)" |
| 4 | python3 - <<'PY' |
| 5 | import logging |
| 6 | import orders, shipping |
| 7 | records = [] |
| 8 | class Cap(logging.Handler): |
| 9 | def emit(self, r): records.append(r) |
| 10 | for name in ("orders", "shipping"): |
| 11 | lg = logging.getLogger(name); lg.setLevel(logging.INFO); lg.addHandler(Cap()) |
| 12 | orders.place({"id": "o1"}, request_id="r-9") |
| 13 | shipping.dispatch({"id": "o1"}, request_id="r-9") |
| 14 | assert len(records) >= 2 |
| 15 | for r in records: |
| 16 | assert getattr(r, "request_id", None) == "r-9", r.name |
| 17 | PY |
| 18 |