()
| 170 | } |
| 171 | |
| 172 | func (s *WatcherTestSuite) TestWithAnyFilter() { |
| 173 | producer, err := watcher.RegisterProducer(s.ctx, "test-producer") |
| 174 | s.Require().NoError(err) |
| 175 | s.Require().NotNil(producer) |
| 176 | |
| 177 | consumer, err := watcher.RegisterConsumer( |
| 178 | s.ctx, "test-consumer", |
| 179 | watcher.WithAny( |
| 180 | watcher.WithEntityTypeFilter(common.ControllerEntityType), |
| 181 | watcher.WithEntityFilter(params.ForgeEntity{ |
| 182 | EntityType: params.ForgeEntityTypeRepository, |
| 183 | Owner: "test", |
| 184 | Name: "test", |
| 185 | ID: "test", |
| 186 | }), |
| 187 | )) |
| 188 | s.Require().NoError(err) |
| 189 | s.Require().NotNil(consumer) |
| 190 | consumeEvents(consumer) |
| 191 | |
| 192 | payload := common.ChangePayload{ |
| 193 | EntityType: common.ControllerEntityType, |
| 194 | Operation: common.UpdateOperation, |
| 195 | Payload: "test", |
| 196 | } |
| 197 | err = producer.Notify(payload) |
| 198 | s.Require().NoError(err) |
| 199 | |
| 200 | receivedPayload := waitForPayload(consumer.Watch(), 100*time.Millisecond) |
| 201 | s.Require().NotNil(receivedPayload) |
| 202 | s.Require().Equal(payload, *receivedPayload) |
| 203 | |
| 204 | payload = common.ChangePayload{ |
| 205 | EntityType: common.RepositoryEntityType, |
| 206 | Operation: common.UpdateOperation, |
| 207 | Payload: params.Repository{ |
| 208 | Owner: "test", |
| 209 | Name: "test", |
| 210 | ID: "test", |
| 211 | }, |
| 212 | } |
| 213 | |
| 214 | err = producer.Notify(payload) |
| 215 | s.Require().NoError(err) |
| 216 | |
| 217 | receivedPayload = waitForPayload(consumer.Watch(), 100*time.Millisecond) |
| 218 | s.Require().NotNil(receivedPayload) |
| 219 | s.Require().Equal(payload, *receivedPayload) |
| 220 | |
| 221 | // We're not watching for this repo |
| 222 | payload = common.ChangePayload{ |
| 223 | EntityType: common.RepositoryEntityType, |
| 224 | Operation: common.UpdateOperation, |
| 225 | Payload: params.Repository{ |
| 226 | Owner: "test", |
| 227 | Name: "test", |
| 228 | ID: "test2", |
| 229 | }, |
nothing calls this directly
no test coverage detected