@@ -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