@@ -101,23 +101,117 @@ 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
+ print ("Connections Handler" )
113
+
114
+ connection_listener = {
115
+ "handler" : connections_handler ,
116
+ "topic" : "connections"
117
+ }
118
+
119
+ listeners .append (connection_listener )
120
+
121
+ def issuer_handler (payload ):
122
+ print ("Issuer handler" )
123
+
124
+ issuer_listener = {
125
+ "topic" : "issue_credential" ,
126
+ "handler" : issuer_handler
127
+ }
128
+
129
+ listeners .append (issuer_listener )
130
+
131
+ ac .register_listeners (listeners )
132
+
133
+ for listener in listeners :
134
+ assert ac .is_subscribed (listener )
135
+
136
+ await ac .terminate ()
137
+
109
138
110
139
@pytest .mark .asyncio
111
140
async def test_add_listener (self ):
112
- pass
141
+ ac = AriesAgentControllerBase (admin_url = "0.0.0.0" )
142
+
143
+ # Receive connection messages
144
+ def connections_handler (payload ):
145
+ print ("Connections Handler" )
146
+
147
+ connection_listener = {
148
+ "handler" : connections_handler ,
149
+ "topic" : "connections"
150
+ }
151
+
152
+ ac .add_listener (connection_listener )
153
+
154
+ assert ac .is_subscribed (connection_listener )
155
+ await ac .terminate ()
113
156
114
157
@pytest .mark .asyncio
115
158
async def test_remove_listener (self ):
116
- pass
159
+ ac = AriesAgentControllerBase (admin_url = "0.0.0.0" )
160
+
161
+ # Receive connection messages
162
+ def connections_handler (payload ):
163
+ print ("Connections Handler" )
164
+
165
+ connection_listener = {
166
+ "handler" : connections_handler ,
167
+ "topic" : "connections"
168
+ }
169
+
170
+ ac .add_listener (connection_listener )
171
+
172
+ ac .remove_listener (connection_listener )
173
+
174
+ assert not ac .is_subscribed (connection_listener )
175
+ await ac .terminate ()
117
176
118
177
@pytest .mark .asyncio
119
178
async def test_remove_all_listeners (self ):
120
- pass
179
+ ac = AriesAgentControllerBase (admin_url = "0.0.0.0" )
180
+
181
+ listeners = []
182
+
183
+ # Receive connection messages
184
+ def connections_handler (payload ):
185
+ print ("Connections Handler" )
186
+
187
+ connection_listener = {
188
+ "handler" : connections_handler ,
189
+ "topic" : "connections"
190
+ }
191
+
192
+ listeners .append (connection_listener )
193
+
194
+ def issuer_handler (payload ):
195
+ print ("Issuer handler" )
196
+
197
+ issuer_listener = {
198
+ "topic" : "issue_credential" ,
199
+ "handler" : issuer_handler
200
+ }
201
+
202
+ listeners .append (issuer_listener )
203
+
204
+ ac .register_listeners (listeners )
205
+
206
+ ac .remove_all_listeners ("issue_credential" )
207
+
208
+ assert not ac .is_subscribed (issuer_listener )
209
+ assert ac .is_subscribed (connection_listener )
210
+
211
+ ac .remove_all_listeners ()
212
+
213
+ assert not ac .is_subscribed (connection_listener )
214
+ await ac .terminate ()
121
215
122
216
@pytest .mark .asyncio
123
217
async def test_listen_webhooks (self ):
0 commit comments