1515 DevToolsException ,
1616 DomainNotEnabledError , DevToolsTimeoutException , MethodNotFoundError ,
1717 InvalidParametersError , WebSocketBlockedException , MessagingThreadIsDeadError ,
18- MaxRetriesException , ResourceNotFoundError , TargetNotAttachedError
18+ MaxRetriesException , ResourceNotFoundError , TargetNotAttachedError , TargetNotFoundError
1919)
2020from browserdebuggertools .targets_manager import (
2121 _WSSessionManager , _WSMessageProducer , TargetsManager , _Target , _DOMManager
@@ -1061,7 +1061,7 @@ def test(self, _targets_manager):
10611061
10621062
10631063@patch (MODULE_PATH + "requests" )
1064- class Test_TargetsManager__create_tab (WSMessageProducerTest ):
1064+ class Test_TargetsManager__create_tab (unittest . TestCase ):
10651065
10661066 def setUp (self ):
10671067 self ._targets_manager = TargetsManager (10 , 9222 )
@@ -1085,6 +1085,48 @@ def test_not_ok_response(self, requests):
10851085 self ._targets_manager ._create_tab ()
10861086
10871087
1088+ class Test_TargetsManager_get_service_worker (unittest .TestCase ):
1089+
1090+ def setUp (self ):
1091+ self ._targets_manager = TargetsManager (10 , 9222 )
1092+ self ._targets_manager ._get_targets = MagicMock ()
1093+ self ._targets_manager ._get_targets .return_value = [
1094+ {
1095+ "description" : "" ,
1096+ "devtoolsFrontendUrl" :
1097+ "/devtools/inspector.html?ws=172.17.0.2:10000/devtools/page/extension-id" ,
1098+ "id" : "extension-id" ,
1099+ "title" : "Service Worker chrome-extension://..../service.js" ,
1100+ "type" : "service_worker" ,
1101+ "url" : "chrome-extension://..../service.js" ,
1102+ "webSocketDebuggerUrl" : "ws://172.17.0.2:10000/devtools/page/extension-ID"
1103+ },
1104+ {
1105+ "description" : "" ,
1106+ "devtoolsFrontendUrl" :
1107+ "/devtools/inspector.html?ws=172.17.0.2:10001/devtools/page/other-extension-id" ,
1108+ "id" : "other-extension-id" ,
1109+ "title" : "Service Worker chrome-extension://ih...gi/other-service.js" ,
1110+ "type" : "service_worker" ,
1111+ "url" : "chrome-extension://ih...gi/other-service.js" ,
1112+ "webSocketDebuggerUrl" : "ws://172.17.0.2:10000/devtools/page/other-extension-id"
1113+ }
1114+ ]
1115+
1116+ def test (self ):
1117+ self .assertEqual (
1118+ "extension-id" , self ._targets_manager .get_service_worker ("service.js" ).id
1119+ )
1120+ self .assertEqual (
1121+ "other-extension-id" , self ._targets_manager .get_service_worker ("other-service.js" ).id
1122+ )
1123+
1124+ def test_target_not_found (self ):
1125+ with self .assertRaises (TargetNotFoundError ):
1126+ self ._targets_manager .get_service_worker ("not-installed" )
1127+
1128+
1129+
10881130class DOMManagerTest (TestCase ):
10891131
10901132 def setUp (self ):
0 commit comments