{"receipt_id":"agent1-1","seq":1,"branch_id":"agent1","kind":"command","cmd":"git ls-files -z","path":null,"exit_code":0,"stdout_tail":".gitignore\u0000.travis.yml\u0000LICENSE\u0000README.md\u0000contributing.md\u0000docs/Makefile\u0000docs/conf.py\u0000docs/index.rst\u0000docs/make.bat\u0000msal/__init__.py\u0000msal/application.py\u0000msal/authority.py\u0000msal/exceptions.py\u0000msal/mex.py\u0000msal/oauth2cli/__init__.py\u0000msal/oauth2cli/assertion.py\u0000msal/oauth2cli/authcode.py\u0000msal/oauth2cli/http.py\u0000msal/oauth2cli/oauth2.py\u0000msal/oauth2cli/oidc.py\u0000msal/token_cache.py\u0000msal/wstrust_request.py\u0000msal/wstrust_response.py\u0000requirements.txt\u0000sample/authorization-code-flow-sample/authorization_code_flow_sample.py\u0000sample/confidential_client_certificate_sample.py\u0000sample/confidential_client_secret_sample.py\u0000sample/device_flow_sample.py\u0000sample/username_password_sample.py\u0000setup.cfg\u0000setup.py\u0000tests/__init__.py\u0000tests/archan.us.mex.xml\u0000tests/arupela.mex.xml\u0000tests/authcode.py\u0000tests/http_client.py\u0000tests/microsoft.mex.xml\u0000tests/rst_response.xml\u0000tests/test_application.py\u0000tests/test_assertion.py\u0000tests/test_authority.py\u0000tests/test_client.py\u0000tests/test_e2e.py\u0000tests/test_mex.py\u0000tests/test_token_cache.py\u0000tests/test_wstrust.py\u0000","stderr_tail":"","stdout_sha256":"eed4c283c2f04e3febe6471cecca804df25d46c817547874610ab46cd75d3911","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-1.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:33:41.837659Z","duration_s":0.003536,"timed_out":false,"image_before":"d626db55-921e-4a74-b77d-b11df6d540e4","image_after":"759ecdaa-ccab-40bc-bed8-a87d20837b5e","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-2","seq":2,"branch_id":"agent1","kind":"command","cmd":"grep -n \"acquire_token_silent_with_error\" msal/application.py","path":null,"exit_code":0,"stdout_tail":"491:        Internally, this method calls :func:`~acquire_token_silent_with_error`.\n499:        result = self.acquire_token_silent_with_error(\n503:    def acquire_token_silent_with_error(\n","stderr_tail":"","stdout_sha256":"a5ee3db72a9606f869508ed0fafec852d3ad34b9d912c2f25a281dcc0ca5bd44","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-2.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:33:54.667338Z","duration_s":0.003205,"timed_out":false,"image_before":"759ecdaa-ccab-40bc-bed8-a87d20837b5e","image_after":"94cc5915-a0c0-4e6d-a791-e74955b75bc5","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-3","seq":3,"branch_id":"agent1","kind":"command","cmd":"grep -n \"test_preexisting_family_app_will_attempt_frt_and_return_error\" tests/test_application.py","path":null,"exit_code":0,"stdout_tail":"179:    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n","stderr_tail":"","stdout_sha256":"2b4434eacbef110e489a8b73d621f4d3cab9d90ca26bb4dd155798e1a44f3901","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-3.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:34:08.672540Z","duration_s":0.003206,"timed_out":false,"image_before":"94cc5915-a0c0-4e6d-a791-e74955b75bc5","image_after":"d5813bf9-83e5-4dea-8716-617302ac7707","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-4","seq":4,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-2ee029a4dae64ee3bc0210ff9d8251f9/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-2ee029a4dae64ee3bc0210ff9d8251f9/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-4.xml","path":null,"exit_code":1,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error FAILED [100%]\n\n=================================== FAILURES ===================================\n_ TestClientApplicationAcquireTokenSilentFociBehaviors.test_preexisting_family_app_will_attempt_frt_and_return_error _\n\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError\n------------ generated xml file: /opt/receipts/reports/agent1-4.xml ------------\n=========================== short test summary info ============================\nFAILED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\n============================== 1 failed in 0.99s ===============================\n","stderr_tail":"","stdout_sha256":"16aa68d449b4940e463a48d4ccea47890e02202a9db6d7cab4a5b5a50595c7b2","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-4.log","tree_digest":"325e389aa040be9f61f505d38f3e3fff615812fa9e7c13d9c24ef32a3feae26d","tree_download_s":2.2452667909674346,"started_at":"2026-10-03T17:34:16.068996Z","duration_s":0.739936,"timed_out":false,"image_before":"d5813bf9-83e5-4dea-8716-617302ac7707","image_after":"3691d912-5644-42a7-b356-e9bcaa7af4f4","junit":{"passed":[],"failed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error":"AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-5","seq":5,"branch_id":"agent1","kind":"command","cmd":"grep -n \"frt\\|FRT\" tests/test_application.py","path":null,"exit_code":0,"stdout_tail":"111:        self.frt = \"what the frt\"\n114:        self.cache.add({  # Pre-populate a FRT\n121:                uid=self.uid, utid=self.utid, refresh_token=self.frt, foci=\"1\"),\n124:    def test_unknown_orphan_app_will_attempt_frt_and_not_remove_it(self):\n130:            self.assertEqual(self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n135:            msal.TokenCache.CredentialType.REFRESH_TOKEN, query={\"secret\": self.frt}),\n136:            \"The FRT should not be removed from the cache\")\n138:    def test_known_orphan_app_will_skip_frt_and_only_use_its_own_rt(self):\n156:    def test_unknown_family_app_will_attempt_frt_and_join_family(self):\n159:                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n175:    # Known family app will simply use FRT, which is largely the same as this one\n179:    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n183:                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n","stderr_tail":"","stdout_sha256":"3bacb1ce7bed4c69147e1970cad1a36da3f0a03deef60fa6974e81f1a54d8211","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-5.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:34:24.868070Z","duration_s":0.0032069999999999998,"timed_out":false,"image_before":"3691d912-5644-42a7-b356-e9bcaa7af4f4","image_after":"72d04abe-3d52-4037-a734-048c8a7069d6","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-6","seq":6,"branch_id":"agent1","kind":"command","cmd":"grep -n \"remove_rt\\|on_removing_rt\" msal/oauth2cli/oauth2.py","path":null,"exit_code":0,"stdout_tail":"425:            on_removing_rt=lambda token_item: None,\n430:        self.on_removing_rt = on_removing_rt\n464:            on_removing_rt=None,\n481:        :param on_removing_rt: If absent, fall back to the one defined in initialization\n489:            (on_removing_rt or self.on_removing_rt)(token_item)  # Discard old RT\n","stderr_tail":"","stdout_sha256":"12a6f9f4c4e78511ba903935cebdbaf2892ab73621af07024cf19ef336f43c20","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-6.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:34:37.454077Z","duration_s":0.00338,"timed_out":false,"image_before":"72d04abe-3d52-4037-a734-048c8a7069d6","image_after":"25ff01c9-4bfb-49ca-a29b-3084be3562d0","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-7","seq":7,"branch_id":"agent1","kind":"command","cmd":"find tests -name \"*.py\" -exec grep -l \"TokenCacheTestCase\" {} \\;","path":null,"exit_code":0,"stdout_tail":"tests/test_token_cache.py\ntests/test_application.py\n","stderr_tail":"","stdout_sha256":"057f3e24685c32dcfe786e4b4f321fc4c30d60a7670e5a40f4882a6c56b76199","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-7.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:34:58.059709Z","duration_s":0.016014,"timed_out":false,"image_before":"25ff01c9-4bfb-49ca-a29b-3084be3562d0","image_after":"45f456ec-6c44-4186-a55e-ce6403bd269a","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-8","seq":8,"branch_id":"agent1","kind":"command","cmd":"grep -n \"def add\" msal/token_cache.py","path":null,"exit_code":0,"stdout_tail":"100:    def add(self, event, now=None):\n287:    def add(self, event, **kwargs):\n","stderr_tail":"","stdout_sha256":"b745bb7e8f39f09591d8ecf5d0d7b5c0049b347160c5e77c3fa5ec3645a873f8","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-8.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:35:04.296216Z","duration_s":0.003294,"timed_out":false,"image_before":"45f456ec-6c44-4186-a55e-ce6403bd269a","image_after":"622a7e1b-a4f1-4280-a1fa-b324e4b19be3","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-9","seq":9,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-7d527a85da8a43e48d7a0c238e898dd4/bin/busybox sh -c 'mkdir -p /microsoft-authentication-library-for-python/tests && cp /opt/receipts-7d527a85da8a43e48d7a0c238e898dd4/incoming/a4ad1bc81ebf6f4a90bf76d5a2590c8bed8831a78d14e01d69dc2ddcf9e6f373 /microsoft-authentication-library-for-python/tests/test_application.py'","path":"tests/test_application.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"a4ad1bc81ebf6f4a90bf76d5a2590c8bed8831a78d14e01d69dc2ddcf9e6f373","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-9.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:35:26.739326Z","duration_s":0.004448,"timed_out":false,"image_before":"622a7e1b-a4f1-4280-a1fa-b324e4b19be3","image_after":"99cb12d5-f087-43eb-9a3f-4a5fd79cd1fa","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-10","seq":10,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-fd369f7672b4446bb45e362b0828ebd2/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-fd369f7672b4446bb45e362b0828ebd2/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-10.xml","path":null,"exit_code":1,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error FAILED [100%]\n\n=================================== FAILURES ===================================\n_ TestClientApplicationAcquireTokenSilentFociBehaviors.test_preexisting_family_app_will_attempt_frt_and_return_error _\n\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError\n----------- generated xml file: /opt/receipts/reports/agent1-10.xml ------------\n=========================== short test summary info ============================\nFAILED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\n============================== 1 failed in 1.00s ===============================\n","stderr_tail":"","stdout_sha256":"b11f08f87896726ea7b5d3291d2303e895419c750231db82846da1059bf25d5d","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-10.log","tree_digest":"e9d6052f2ae8038c129b1fec49e07869a9838cf84d291d9c4f0f94efdc0da090","tree_download_s":2.25628370908089,"started_at":"2026-10-03T17:35:29.473414Z","duration_s":0.735506,"timed_out":false,"image_before":"99cb12d5-f087-43eb-9a3f-4a5fd79cd1fa","image_after":"83f13bd2-0f67-4e5b-8ba1-c4e341f3e471","junit":{"passed":[],"failed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error":"AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-11","seq":11,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-a05baaf9dc5e4fe1a8a2e67413aca751/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-a05baaf9dc5e4fe1a8a2e67413aca751/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-11.xml","path":null,"exit_code":0,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error PASSED [100%]\n\n==================================== PASSES ====================================\n----------- generated xml file: /opt/receipts/reports/agent1-11.xml ------------\n=========================== short test summary info ============================\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error\n============================== 1 passed in 3.01s ===============================\n","stderr_tail":"","stdout_sha256":"a1e2ca4fcfb8eb2a8b6431147515c249f4a4b02bc6fc05f031c616695f250c5c","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-11.log","tree_digest":"e9d6052f2ae8038c129b1fec49e07869a9838cf84d291d9c4f0f94efdc0da090","tree_download_s":1.8732162499800324,"started_at":"2026-10-03T17:35:40.078764Z","duration_s":0.749957,"timed_out":false,"image_before":"83f13bd2-0f67-4e5b-8ba1-c4e341f3e471","image_after":"e32c79cf-8aa6-460a-83b0-0082589d909f","junit":{"passed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-12","seq":12,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-2c351e67f17a4e0bbba47c8cb430e18d/bin/busybox sh -c 'mkdir -p /microsoft-authentication-library-for-python/msal && cp /opt/receipts-2c351e67f17a4e0bbba47c8cb430e18d/incoming/c8faa63b7394b7d2c2acca7da7b0af1fd0c5863b4eb198839eb229a427a591b0 /microsoft-authentication-library-for-python/msal/application.py'","path":"msal/application.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"c8faa63b7394b7d2c2acca7da7b0af1fd0c5863b4eb198839eb229a427a591b0","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-12.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:36:01.885935Z","duration_s":0.004681,"timed_out":false,"image_before":"e32c79cf-8aa6-460a-83b0-0082589d909f","image_after":"9b22f393-26eb-42d4-88e5-62a9fe46ac30","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-13","seq":13,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-6ebb537bced54fcbbdc80920a3b61f20/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-6ebb537bced54fcbbdc80920a3b61f20/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-13.xml","path":null,"exit_code":1,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error FAILED [100%]\n\n=================================== FAILURES ===================================\n_ TestClientApplicationAcquireTokenSilentFociBehaviors.test_preexisting_family_app_will_attempt_frt_and_return_error _\n\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError\n----------- generated xml file: /opt/receipts/reports/agent1-13.xml ------------\n=========================== short test summary info ============================\nFAILED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\n============================== 1 failed in 0.80s ===============================\n","stderr_tail":"","stdout_sha256":"a539dd3d438951568203e3915b661625c625c18aa33c5fd6b26ef2fef845f52e","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-13.log","tree_digest":"07031d09acc16de55a1c2cd0190e76e249c9e0754b659a24f4696c7115f8de31","tree_download_s":2.3882539169862866,"started_at":"2026-10-03T17:36:05.128560Z","duration_s":0.74515,"timed_out":false,"image_before":"9b22f393-26eb-42d4-88e5-62a9fe46ac30","image_after":"be5193b0-edcd-4cef-8756-6cdea78337bc","junit":{"passed":[],"failed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error":"AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-14","seq":14,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-acdd2719549a4e9cb366d0e569450567/bin/busybox sh -c 'mkdir -p /microsoft-authentication-library-for-python/msal && cp /opt/receipts-acdd2719549a4e9cb366d0e569450567/incoming/e4447368d41f8a68e6d6c22d061ab3a67c3604a3d2cbdfa905829d1c5c7a4b91 /microsoft-authentication-library-for-python/msal/application.py'","path":"msal/application.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"e4447368d41f8a68e6d6c22d061ab3a67c3604a3d2cbdfa905829d1c5c7a4b91","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-14.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:36:16.588314Z","duration_s":0.004812,"timed_out":false,"image_before":"be5193b0-edcd-4cef-8756-6cdea78337bc","image_after":"e8cedfc8-32da-4098-8401-273f5e787ac5","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-15","seq":15,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-5db17683030548ab90ba63cfece80a8e/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-5db17683030548ab90ba63cfece80a8e/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-15.xml","path":null,"exit_code":0,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error PASSED [100%]\n\n==================================== PASSES ====================================\n----------- generated xml file: /opt/receipts/reports/agent1-15.xml ------------\n=========================== short test summary info ============================\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error\n============================== 1 passed in 2.62s ===============================\n","stderr_tail":"","stdout_sha256":"937de731f7beadca7c5dba4f3b53f308d09af89668c8c5ec8d568bb3ffa4c774","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-15.log","tree_digest":"e9d6052f2ae8038c129b1fec49e07869a9838cf84d291d9c4f0f94efdc0da090","tree_download_s":2.265793083002791,"started_at":"2026-10-03T17:36:19.819580Z","duration_s":0.748806,"timed_out":false,"image_before":"e8cedfc8-32da-4098-8401-273f5e787ac5","image_after":"5cb51fa1-5972-459d-b623-a9d29d27c521","junit":{"passed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-16","seq":16,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-9d6c9110ba814865be8696eef83a310c/bin/busybox sh -c 'mkdir -p /microsoft-authentication-library-for-python/tests && cp /opt/receipts-9d6c9110ba814865be8696eef83a310c/incoming/0e1fcb970d6c69835a5b8d7430feed0dc78a50bf720239dd86e2de7f48042e11 /microsoft-authentication-library-for-python/tests/test_application.py'","path":"tests/test_application.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"0e1fcb970d6c69835a5b8d7430feed0dc78a50bf720239dd86e2de7f48042e11","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-16.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:36:39.370809Z","duration_s":0.004836,"timed_out":false,"image_before":"5cb51fa1-5972-459d-b623-a9d29d27c521","image_after":"57494be2-3fa9-486e-a829-fb5c3d901fec","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-17","seq":17,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-d13defd4a0f944d7b29284b93b2a9f7b/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-d13defd4a0f944d7b29284b93b2a9f7b/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-17.xml","path":null,"exit_code":1,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error FAILED [100%]\n\n=================================== FAILURES ===================================\n_ TestClientApplicationAcquireTokenSilentFociBehaviors.test_preexisting_family_app_will_attempt_frt_and_return_error _\n\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError\n----------- generated xml file: /opt/receipts/reports/agent1-17.xml ------------\n=========================== short test summary info ============================\nFAILED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\n============================== 1 failed in 1.09s ===============================\n","stderr_tail":"","stdout_sha256":"267263a573c3da86ed629e6a6167a32bcc1c50abc850d50ebbedaeed7162d0a9","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-17.log","tree_digest":"325e389aa040be9f61f505d38f3e3fff615812fa9e7c13d9c24ef32a3feae26d","tree_download_s":2.105053000152111,"started_at":"2026-10-03T17:36:53.005749Z","duration_s":0.739092,"timed_out":false,"image_before":"57494be2-3fa9-486e-a829-fb5c3d901fec","image_after":"cd7bc598-0a4d-4960-b002-b5f2c31b3085","junit":{"passed":[],"failed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error"],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{"tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error":"AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\nself = <tests.test_application.TestClientApplicationAcquireTokenSilentFociBehaviors testMethod=test_preexisting_family_app_will_attempt_frt_and_return_error>\n\n    def test_preexisting_family_app_will_attempt_frt_and_return_error(self):\n        error_response = '{\"error\": \"invalid_grant\", \"error_description\": \"xyz\"}'\n        def tester(url, data=None, **kwargs):\n            self.assertEqual(\n                self.frt, data.get(\"refresh_token\"), \"Should attempt the FRT\")\n            return MinimalResponse(status_code=400, text=error_response)\n        app = ClientApplication(\n            \"preexisting_family_app\", authority=self.authority_url, token_cache=self.cache)\n        resp = app._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family(\n            self.authority, self.scopes, self.account, post=tester)\n        logger.debug(\"%s.cache = %s\", self.id(), self.cache.serialize())\n>       self.assertEqual(json.loads(error_response), resp, \"Error raised will be returned\")\nE       AssertionError: {'error': 'invalid_grant', 'error_description': 'xyz'} != None : Error raised will be returned\n\ntests/test_application.py:190: AssertionError"}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-18","seq":18,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-b75555d801e24b2a936efbfd3591d2c2/bin/busybox sh -c 'mkdir -p /microsoft-authentication-library-for-python/msal && cp /opt/receipts-b75555d801e24b2a936efbfd3591d2c2/incoming/a82dfb62e8be71301183e2f40425517e09d72433b9dab9fe1c6ff02ae490ae68 /microsoft-authentication-library-for-python/msal/application.py'","path":"msal/application.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"a82dfb62e8be71301183e2f40425517e09d72433b9dab9fe1c6ff02ae490ae68","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-18.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:37:11.622346Z","duration_s":0.00506,"timed_out":false,"image_before":"cd7bc598-0a4d-4960-b002-b5f2c31b3085","image_after":"bb6171ed-3d4b-43ef-9889-6b0aba000e58","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-19","seq":19,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-217c6747fb3d4448b2d22fdc18d024df/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-217c6747fb3d4448b2d22fdc18d024df/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-19.xml","path":null,"exit_code":0,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error PASSED [100%]\n\n==================================== PASSES ====================================\n----------- generated xml file: /opt/receipts/reports/agent1-19.xml ------------\n=========================== short test summary info ============================\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\n============================== 1 passed in 2.02s ===============================\n","stderr_tail":"","stdout_sha256":"aff0725bcbcf9b147bd3c03c84a69d8d8e8054199c70d53e63432d8717f54bf4","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-19.log","tree_digest":"a042af18cc8bf42de73f2e14a24c6cd884d79429dbf119d50e0ae373372fa933","tree_download_s":2.1053131672088057,"started_at":"2026-10-03T17:37:15.471596Z","duration_s":0.738646,"timed_out":false,"image_before":"bb6171ed-3d4b-43ef-9889-6b0aba000e58","image_after":"48e210ab-f122-42f5-ac9f-e4b64da53654","junit":{"passed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-20","seq":20,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-5b06190d8fbb407ca3f88ae88719e349/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-5b06190d8fbb407ca3f88ae88719e349/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-20.xml","path":null,"exit_code":0,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 5 items\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_will_suppress_error PASSED [ 20%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error PASSED [ 40%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_atswe_will_map_some_suberror_to_classification_as_is PASSED [ 60%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_atswe_will_map_some_suberror_to_classification_to_empty_string PASSED [ 80%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_cache_empty_will_be_returned_as_None PASSED [100%]\n\n==================================== PASSES ====================================\n----------- generated xml file: /opt/receipts/reports/agent1-20.xml ------------\n=========================== short test summary info ============================\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_will_suppress_error\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_atswe_will_map_some_suberror_to_classification_as_is\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_atswe_will_map_some_suberror_to_classification_to_empty_string\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_cache_empty_will_be_returned_as_None\n============================== 5 passed in 6.52s ===============================\n","stderr_tail":"","stdout_sha256":"ba472db5c74337728bbdc6b99359b6eeece9b888573826ad56c9c4bf8ff5c366","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-20.log","tree_digest":"a042af18cc8bf42de73f2e14a24c6cd884d79429dbf119d50e0ae373372fa933","tree_download_s":1.8545644159894437,"started_at":"2026-10-03T17:37:25.268676Z","duration_s":0.9525,"timed_out":false,"image_before":"48e210ab-f122-42f5-ac9f-e4b64da53654","image_after":"7eed08e8-9b52-46c2-b377-fb8896be2ea3","junit":{"passed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_will_suppress_error","tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_acquire_token_silent_with_error_will_return_error","tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_atswe_will_map_some_suberror_to_classification_as_is","tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_atswe_will_map_some_suberror_to_classification_to_empty_string","tests/test_application.py::TestClientApplicationAcquireTokenSilentErrorBehaviors::test_cache_empty_will_be_returned_as_None"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-21","seq":21,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-91b6e97eb5dd4c898d2fb979a565c59b/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-91b6e97eb5dd4c898d2fb979a565c59b/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-21.xml","path":null,"exit_code":0,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 5 items\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_family_app_remove_account PASSED [ 20%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_known_orphan_app_will_skip_frt_and_only_use_its_own_rt PASSED [ 40%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error PASSED [ 60%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_unknown_family_app_will_attempt_frt_and_join_family PASSED [ 80%]\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_unknown_orphan_app_will_attempt_frt_and_not_remove_it PASSED [100%]\n\n==================================== PASSES ====================================\n----------- generated xml file: /opt/receipts/reports/agent1-21.xml ------------\n=========================== short test summary info ============================\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_family_app_remove_account\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_known_orphan_app_will_skip_frt_and_only_use_its_own_rt\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_unknown_family_app_will_attempt_frt_and_join_family\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_unknown_orphan_app_will_attempt_frt_and_not_remove_it\n============================== 5 passed in 2.34s ===============================\n","stderr_tail":"","stdout_sha256":"7fe3668d91c7105c6b74373701168623c8094719baf50a5292f8dedfd949e6a2","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-21.log","tree_digest":"a042af18cc8bf42de73f2e14a24c6cd884d79429dbf119d50e0ae373372fa933","tree_download_s":2.247212541056797,"started_at":"2026-10-03T17:37:38.026104Z","duration_s":0.810912,"timed_out":false,"image_before":"7eed08e8-9b52-46c2-b377-fb8896be2ea3","image_after":"ab3ec843-cecc-483f-8f44-32dbd114f555","junit":{"passed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_family_app_remove_account","tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_known_orphan_app_will_skip_frt_and_only_use_its_own_rt","tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error","tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_unknown_family_app_will_attempt_frt_and_join_family","tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_unknown_orphan_app_will_attempt_frt_and_not_remove_it"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-22","seq":22,"branch_id":"agent1","kind":"command","cmd":"/opt/receipts-fe9125f62c8e40858ad4bdee1248535f/bin/busybox mkdir -p /opt/receipts/reports && python -I /opt/receipts-fe9125f62c8e40858ad4bdee1248535f/receipts_pytest.py tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error -v -o junit_family=xunit1 -p no:cacheprovider -rA --continue-on-collection-errors --junitxml=/opt/receipts/reports/agent1-22.xml","path":null,"exit_code":0,"stdout_tail":"============================= test session starts ==============================\nplatform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /usr/local/bin/python\nrootdir: /microsoft-authentication-library-for-python\ncollecting ... collected 1 item\n\ntests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error PASSED [100%]\n\n==================================== PASSES ====================================\n----------- generated xml file: /opt/receipts/reports/agent1-22.xml ------------\n=========================== short test summary info ============================\nPASSED tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error\n============================== 1 passed in 0.78s ===============================\n","stderr_tail":"","stdout_sha256":"8b518e8502e0caf41b3ced40eae0d4fe945e91ee9471b32ad70f7be15e559c41","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-22.log","tree_digest":"a042af18cc8bf42de73f2e14a24c6cd884d79429dbf119d50e0ae373372fa933","tree_download_s":2.24574837484397,"started_at":"2026-10-03T17:37:48.300495Z","duration_s":0.719201,"timed_out":false,"image_before":"ab3ec843-cecc-483f-8f44-32dbd114f555","image_after":"7d759c4b-a411-45ad-bca3-fe9618dfcb08","junit":{"passed":["tests/test_application.py::TestClientApplicationAcquireTokenSilentFociBehaviors::test_preexisting_family_app_will_attempt_frt_and_return_error"],"failed":[],"errors":[],"skipped":[],"collection_errors":[],"failure_text":{}},"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-23","seq":23,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-98239929987c45baa5d16f903e8335be/bin/busybox sh -c 'mkdir -p /tmp && cp /opt/receipts-98239929987c45baa5d16f903e8335be/incoming/275b2c94f8f90e538df54e2f42201efd50b833f4440e99d90f194eb92f949b4f /tmp/test_error_preservation.py'","path":"/tmp/test_error_preservation.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"275b2c94f8f90e538df54e2f42201efd50b833f4440e99d90f194eb92f949b4f","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-23.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:38:00.932329Z","duration_s":0.005071,"timed_out":false,"image_before":"7d759c4b-a411-45ad-bca3-fe9618dfcb08","image_after":"c6a3441e-4609-4da4-b8ee-116b88f48f6c","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-24","seq":24,"branch_id":"agent1","kind":"command","cmd":"cd /microsoft-authentication-library-for-python && python /tmp/test_error_preservation.py","path":null,"exit_code":1,"stdout_tail":"","stderr_tail":"Traceback (most recent call last):\n  File \"/tmp/test_error_preservation.py\", line 10, in <module>\n    from tests.http_client import MinimalHttpClient, MinimalResponse\nModuleNotFoundError: No module named 'tests'\n","stdout_sha256":"e9b6c3137977c1bf832ebe1bf2030bc477a7d8842bba3c5876c95cad6b4433bb","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-24.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:38:04.226841Z","duration_s":0.126701,"timed_out":false,"image_before":"c6a3441e-4609-4da4-b8ee-116b88f48f6c","image_after":"203942e8-7bcb-4a1d-8135-38cd92932f07","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-25","seq":25,"branch_id":"agent1","kind":"write","cmd":"/opt/receipts-f81bfe5aff51467eb2de77d57a989f8f/bin/busybox sh -c 'mkdir -p /tmp && cp /opt/receipts-f81bfe5aff51467eb2de77d57a989f8f/incoming/cda90201e66fc0d7229e1e92ec6cd24cb8b6bd1fdc4a0f3caf3d50223427e42d /tmp/test_error_preservation.py'","path":"/tmp/test_error_preservation.py","exit_code":0,"stdout_tail":"","stderr_tail":"","stdout_sha256":"cda90201e66fc0d7229e1e92ec6cd24cb8b6bd1fdc4a0f3caf3d50223427e42d","log_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/logs/agent1/agent1-25.log","tree_digest":null,"tree_download_s":null,"started_at":"2026-10-03T17:38:11.442805Z","duration_s":0.00459,"timed_out":false,"image_before":"203942e8-7bcb-4a1d-8135-38cd92932f07","image_after":"caa17901-588f-4ab8-854a-adee0d955f51","junit":null,"diff":null,"patch_sha256":null,"dropped_paths":[],"snapshot_sha":null}
{"receipt_id":"agent1-26","seq":26,"branch_id":"agent1","kind":"diff","cmd":"compute patch in executor staging agent1-243018c66c8247c89a2396afeee3c411: /opt/homebrew/Cellar/git/2.53.0/bin/git -c core.hooksPath=/dev/null -c core.attributesFile=/dev/null -c diff.external= -c core.quotePath=false add -A && /opt/homebrew/Cellar/git/2.53.0/bin/git -c core.hooksPath=/dev/null -c core.attributesFile=/dev/null -c diff.external= -c core.quotePath=false diff --cached --binary --no-ext-diff --no-textconv --no-renames c6e3e926ccea69b30d313da1b592a1bb7810c5ec","path":null,"exit_code":0,"stdout_tail":"diff --git a/msal/application.py b/msal/application.py\nindex a17d359..ba17d22 100644\n--- a/msal/application.py\n+++ b/msal/application.py\n@@ -616,6 +616,7 @@ class ClientApplication(object):\n             # \"realm\": authority.tenant,  # AAD RTs are tenant-independent\n             }\n         app_metadata = self._get_app_metadata(authority.instance)\n+        last_error = None\n         if not app_metadata:  # Meaning this app is now used for the first time.\n             # When/if we have a way to directly detect current app's family,\n             # we'll rewrite this block, to support multiple families.\n@@ -633,16 +634,24 @@ class ClientApplication(object):\n                 **kwargs)\n             if at and \"error\" not in at:\n                 return at\n+            else:\n+                last_error = at\n         if app_metadata.get(\"family_id\"):  # Meaning this app belongs to this family\n             at = self._acquire_token_silent_by_finding_specific_refresh_token(\n                 authority, scopes, dict(query, family_id=app_metadata[\"family_id\"]),\n                 **kwargs)\n             if at and \"error\" not in at:\n                 return at\n+            else:\n+                last_error = at\n         # Either this app is an orphan, so we will naturally use its own RT;\n         # or all attempts above have failed, so we fall back to non-foci behavior.\n-        return self._acquire_token_silent_by_finding_specific_refresh_token(\n+        at = self._acquire_token_silent_by_finding_specific_refresh_token(\n             authority, scopes, dict(query, client_id=self.client_id), **kwargs)\n+        if at and \"error\" not in at:\n+            return at\n+        # Return the last error we saw if all attempts failed to get a token\n+        return last_error if last_error is not None else at\n \n     def _get_app_metadata(self, environment):\n         apps = self.token_cache.find(  # Use find(), rather than token_cache.get(...)\n","stderr_tail":"","stdout_sha256":"bc2a3f8e4146dde4df243761a138b6f394acd6b172ae96ea777a4eabde487926","log_path":null,"tree_digest":"a042af18cc8bf42de73f2e14a24c6cd884d79429dbf119d50e0ae373372fa933","tree_download_s":1.8507822500541806,"started_at":"2026-10-03T17:38:17.346464Z","duration_s":0.04243441694416106,"timed_out":false,"image_before":"caa17901-588f-4ab8-854a-adee0d955f51","image_after":"caa17901-588f-4ab8-854a-adee0d955f51","junit":null,"diff":{"files":[{"path":"msal/application.py","added":10,"deleted":1,"category":"source","status":"modified"}],"patch_sha256":"bc2a3f8e4146dde4df243761a138b6f394acd6b172ae96ea777a4eabde487926","patch_path":"~/dev/nebius-hackathon/pilot/v2-P/azuread__microsoft-authentication-library-for-python-186/runs/pilot-azuread__microsoft-authentication-library-for-py-6e4e84f263/artifacts/agent1/agent1-26.patch"},"patch_sha256":"bc2a3f8e4146dde4df243761a138b6f394acd6b172ae96ea777a4eabde487926","dropped_paths":[],"snapshot_sha":"c6e3e926ccea69b30d313da1b592a1bb7810c5ec"}
