@@ -101,23 +101,98 @@ async def test_remove_api_key(self):
101101
102102        await  ac .terminate ()
103103
104-     # TODO create mock for pubsub listening webhooks 
105-     # Maybe this makes more sense in aries_controller 
104+     # TODO Maybe this makes more sense in aries_controller 
106105    @pytest .mark .asyncio  
107-     async  def  test_register_listners (self ):
108-         pass 
106+     async  def  test_register_listeners (self ):
107+         ac  =  AriesAgentControllerBase (admin_url = "0.0.0.0" )
108+ 
109+         listeners  =  []
110+         # Receive connection messages 
111+         def  connections_handler (payload ):
112+             LOGGER .info ("Connections Handler" )
113+ 
114+         connection_listener  =  {"handler" : connections_handler , "topic" : "connections" }
115+ 
116+         listeners .append (connection_listener )
117+ 
118+         def  issuer_handler (payload ):
119+             LOGGER .info ("Issuer handler" )
120+ 
121+         issuer_listener  =  {"topic" : "issue_credential" , "handler" : issuer_handler }
122+ 
123+         listeners .append (issuer_listener )
124+ 
125+         ac .register_listeners (listeners )
126+ 
127+         for  listener  in  listeners :
128+             assert  ac .is_subscribed (listener )
129+ 
130+         await  ac .terminate ()
109131
110132    @pytest .mark .asyncio  
111133    async  def  test_add_listener (self ):
112-         pass 
134+         ac  =  AriesAgentControllerBase (admin_url = "0.0.0.0" )
135+ 
136+         # Receive connection messages 
137+         def  connections_handler (payload ):
138+             print ("Connections Handler" )
139+ 
140+         connection_listener  =  {"handler" : connections_handler , "topic" : "connections" }
141+ 
142+         ac .add_listener (connection_listener )
143+ 
144+         assert  ac .is_subscribed (connection_listener )
145+         await  ac .terminate ()
113146
114147    @pytest .mark .asyncio  
115148    async  def  test_remove_listener (self ):
116-         pass 
149+         ac  =  AriesAgentControllerBase (admin_url = "0.0.0.0" )
150+ 
151+         # Receive connection messages 
152+         def  connections_handler (payload ):
153+             print ("Connections Handler" )
154+ 
155+         connection_listener  =  {"handler" : connections_handler , "topic" : "connections" }
156+ 
157+         ac .add_listener (connection_listener )
158+ 
159+         ac .remove_listener (connection_listener )
160+ 
161+         assert  not  ac .is_subscribed (connection_listener )
162+         await  ac .terminate ()
117163
118164    @pytest .mark .asyncio  
119165    async  def  test_remove_all_listeners (self ):
120-         pass 
166+         ac  =  AriesAgentControllerBase (admin_url = "0.0.0.0" )
167+ 
168+         listeners  =  []
169+ 
170+         # Receive connection messages 
171+         def  connections_handler (payload ):
172+             print ("Connections Handler" )
173+ 
174+         connection_listener  =  {"handler" : connections_handler , "topic" : "connections" }
175+ 
176+         listeners .append (connection_listener )
177+ 
178+         def  issuer_handler (payload ):
179+             print ("Issuer handler" )
180+ 
181+         issuer_listener  =  {"topic" : "issue_credential" , "handler" : issuer_handler }
182+ 
183+         listeners .append (issuer_listener )
184+ 
185+         ac .register_listeners (listeners )
186+ 
187+         ac .remove_all_listeners ("issue_credential" )
188+ 
189+         assert  not  ac .is_subscribed (issuer_listener )
190+         assert  ac .is_subscribed (connection_listener )
191+ 
192+         ac .remove_all_listeners ()
193+ 
194+         assert  not  ac .is_subscribed (connection_listener )
195+         await  ac .terminate ()
121196
122197    @pytest .mark .asyncio  
123198    async  def  test_listen_webhooks (self ):
0 commit comments