@@ -101,23 +101,98 @@ async def test_remove_api_key(self):
101
101
102
102
await ac .terminate ()
103
103
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
106
105
@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 ()
109
131
110
132
@pytest .mark .asyncio
111
133
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 ()
113
146
114
147
@pytest .mark .asyncio
115
148
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 ()
117
163
118
164
@pytest .mark .asyncio
119
165
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 ()
121
196
122
197
@pytest .mark .asyncio
123
198
async def test_listen_webhooks (self ):
0 commit comments