nulogy_message_bus_producer 4.0.0.alpha → 5.0.1.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -108
  3. data/lib/nulogy_message_bus_producer/subscription_event.rb +0 -3
  4. data/lib/nulogy_message_bus_producer/subscriptions/postgres_transport.rb +9 -9
  5. data/lib/nulogy_message_bus_producer/subscriptions/risky_subscription_blocker.rb +1 -1
  6. data/lib/nulogy_message_bus_producer/version.rb +1 -1
  7. data/lib/nulogy_message_bus_producer.rb +3 -19
  8. data/spec/dummy/bin/setup +8 -9
  9. data/spec/dummy/bin/yarn +15 -7
  10. data/spec/dummy/config/application.rb +11 -6
  11. data/spec/dummy/config/boot.rb +2 -4
  12. data/spec/dummy/config/cable.yml +2 -2
  13. data/spec/dummy/config/environments/development.rb +29 -7
  14. data/spec/dummy/config/environments/production.rb +45 -15
  15. data/spec/dummy/config/environments/test.rb +24 -7
  16. data/spec/dummy/config/initializers/backtrace_silencers.rb +4 -3
  17. data/spec/dummy/config/initializers/content_security_policy.rb +30 -0
  18. data/spec/dummy/config/initializers/filter_parameter_logging.rb +3 -1
  19. data/spec/dummy/config/initializers/new_framework_defaults_6_1.rb +67 -0
  20. data/spec/dummy/config/initializers/permissions_policy.rb +11 -0
  21. data/spec/dummy/config/locales/en.yml +1 -1
  22. data/spec/dummy/config/storage.yml +34 -0
  23. data/spec/dummy/config.ru +1 -0
  24. data/spec/dummy/db/schema.rb +1 -4
  25. data/spec/dummy/log/development.log +77 -2520
  26. data/spec/dummy/log/test.log +1897 -46571
  27. data/spec/integration/lib/nulogy_message_bus_producer/repopulate_replication_slots_spec.rb +1 -3
  28. data/spec/spec_helper.rb +1 -0
  29. data/spec/support/skip.rb +9 -0
  30. data/spec/support/test_graphql_schema.rb +0 -2
  31. metadata +98 -63
  32. data/db/migrate/20210330204121_add_event_type_to_subscription_events.rb +0 -9
  33. data/spec/integration/lib/nulogy_message_bus_producer_spec.rb +0 -25
@@ -14,9 +14,7 @@ RSpec.describe NulogyMessageBusProducer::RepopulateReplicationSlots do
14
14
  cleanup_everything
15
15
  end
16
16
 
17
- # TODO: This test is incredibly flakey.
18
- # It rarely works in CI, and ocassionally works locally.
19
- xit "generates events" do
17
+ it "generates events", skip: flakey_in_ci do
20
18
  Kafka.create_topic(topic_name)
21
19
  consumer = Kafka.setup_kafka_consumer(topic_name)
22
20
 
data/spec/spec_helper.rb CHANGED
@@ -56,4 +56,5 @@ RSpec.configure do |config|
56
56
  end
57
57
 
58
58
  config.include(SubscriptionHelpers)
59
+ config.extend(Skip)
59
60
  end
@@ -0,0 +1,9 @@
1
+ module Skip
2
+ def flakey_in_ci
3
+ if ENV.fetch("CI", false)
4
+ "This spec is terribly flakey in CI, so we only run it locally"
5
+ else
6
+ false
7
+ end
8
+ end
9
+ end
@@ -40,8 +40,6 @@ module NulogyMessageBusProducer
40
40
  end
41
41
 
42
42
  class TestSchema < GraphQL::Schema
43
- use GraphQL::Execution::Interpreter
44
- use GraphQL::Analysis::AST
45
43
  use NulogyMessageBusProducer::Subscriptions::PostgresTransport
46
44
 
47
45
  query TestQuery
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nulogy_message_bus_producer
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.alpha
4
+ version: 5.0.1.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nulogy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-13 00:00:00.000000000 Z
11
+ date: 2022-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: graphql
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.11.4
19
+ version: 2.0.11
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.11.4
26
+ version: 2.0.11
27
27
  - !ruby/object:Gem::Dependency
28
- name: rails
28
+ name: railties
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '5'
33
+ version: '5.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '5'
40
+ version: '5.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler-audit
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.7.0.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: listen
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.5'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.5'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: pg
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,20 @@ dependencies:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '6'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '6'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rake
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -208,7 +236,7 @@ dependencies:
208
236
  version: 1.40.0
209
237
  description: Nulogy's code for producing to the Message Bus
210
238
  email:
211
- - tass@nulogy.com
239
+ - platform-engineering@nulogy.com
212
240
  executables: []
213
241
  extensions: []
214
242
  extra_rdoc_files: []
@@ -217,7 +245,6 @@ files:
217
245
  - Rakefile
218
246
  - db/migrate/20200611150212_create_public_subscriptions_and_events_tables.rb
219
247
  - db/migrate/20201005150212_rename_tenant_id_and_public.rb
220
- - db/migrate/20210330204121_add_event_type_to_subscription_events.rb
221
248
  - lib/nulogy_message_bus_producer.rb
222
249
  - lib/nulogy_message_bus_producer/application_record.rb
223
250
  - lib/nulogy_message_bus_producer/base_subscription.rb
@@ -270,16 +297,20 @@ files:
270
297
  - spec/dummy/config/initializers/application_controller_renderer.rb
271
298
  - spec/dummy/config/initializers/assets.rb
272
299
  - spec/dummy/config/initializers/backtrace_silencers.rb
300
+ - spec/dummy/config/initializers/content_security_policy.rb
273
301
  - spec/dummy/config/initializers/cookies_serializer.rb
274
302
  - spec/dummy/config/initializers/filter_parameter_logging.rb
275
303
  - spec/dummy/config/initializers/inflections.rb
276
304
  - spec/dummy/config/initializers/mime_types.rb
305
+ - spec/dummy/config/initializers/new_framework_defaults_6_1.rb
306
+ - spec/dummy/config/initializers/permissions_policy.rb
277
307
  - spec/dummy/config/initializers/wrap_parameters.rb
278
308
  - spec/dummy/config/locales/en.yml
279
309
  - spec/dummy/config/puma.rb
280
310
  - spec/dummy/config/routes.rb
281
311
  - spec/dummy/config/secrets.yml
282
312
  - spec/dummy/config/spring.rb
313
+ - spec/dummy/config/storage.yml
283
314
  - spec/dummy/db/migrate/20201005164116_create_active_storage_tables.active_storage.rb
284
315
  - spec/dummy/db/schema.rb
285
316
  - spec/dummy/log/development.log
@@ -299,7 +330,6 @@ files:
299
330
  - spec/integration/lib/nulogy_message_bus_producer/subscriptions/postgres_transport_spec.rb
300
331
  - spec/integration/lib/nulogy_message_bus_producer/subscriptions/query_validator_spec.rb
301
332
  - spec/integration/lib/nulogy_message_bus_producer/subscriptions/risky_subscription_blocker_spec.rb
302
- - spec/integration/lib/nulogy_message_bus_producer_spec.rb
303
333
  - spec/integration_spec_helper.rb
304
334
  - spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
305
335
  - spec/nulogy_message_bus_producer/subscriptions/subscription_spec.rb
@@ -307,6 +337,7 @@ files:
307
337
  - spec/support/kafka.rb
308
338
  - spec/support/kafka_connect.rb
309
339
  - spec/support/shared_examples/subscription_validations.rb
340
+ - spec/support/skip.rb
310
341
  - spec/support/spec_utils.rb
311
342
  - spec/support/sql_helpers.rb
312
343
  - spec/support/subscription_helpers.rb
@@ -320,92 +351,96 @@ require_paths:
320
351
  - lib
321
352
  required_ruby_version: !ruby/object:Gem::Requirement
322
353
  requirements:
323
- - - "~>"
354
+ - - ">="
324
355
  - !ruby/object:Gem::Version
325
- version: '2.0'
356
+ version: '2.6'
326
357
  required_rubygems_version: !ruby/object:Gem::Requirement
327
358
  requirements:
328
359
  - - ">"
329
360
  - !ruby/object:Gem::Version
330
361
  version: 1.3.1
331
362
  requirements: []
332
- rubygems_version: 3.0.3
363
+ rubygems_version: 3.2.15
333
364
  signing_key:
334
365
  specification_version: 4
335
366
  summary: Nulogy's code for producing to the Message Bus
336
367
  test_files:
337
- - spec/spec_helper.rb
338
- - spec/dummy/app/mailers/application_mailer.rb
339
- - spec/dummy/app/models/application_record.rb
340
- - spec/dummy/app/jobs/application_job.rb
368
+ - spec/dummy/Rakefile
369
+ - spec/dummy/app/assets/config/manifest.js
370
+ - spec/dummy/app/assets/javascripts/application.js
371
+ - spec/dummy/app/assets/javascripts/cable.js
372
+ - spec/dummy/app/assets/stylesheets/application.css
373
+ - spec/dummy/app/channels/application_cable/channel.rb
374
+ - spec/dummy/app/channels/application_cable/connection.rb
341
375
  - spec/dummy/app/controllers/application_controller.rb
342
376
  - spec/dummy/app/controllers/dummy_controller.rb
377
+ - spec/dummy/app/helpers/application_helper.rb
378
+ - spec/dummy/app/jobs/application_job.rb
379
+ - spec/dummy/app/mailers/application_mailer.rb
380
+ - spec/dummy/app/models/application_record.rb
343
381
  - spec/dummy/app/views/layouts/application.html.erb
344
382
  - spec/dummy/app/views/layouts/mailer.html.erb
345
383
  - spec/dummy/app/views/layouts/mailer.text.erb
346
- - spec/dummy/app/assets/config/manifest.js
347
- - spec/dummy/app/assets/javascripts/cable.js
348
- - spec/dummy/app/assets/javascripts/application.js
349
- - spec/dummy/app/assets/stylesheets/application.css
350
- - spec/dummy/app/helpers/application_helper.rb
351
- - spec/dummy/app/channels/application_cable/connection.rb
352
- - spec/dummy/app/channels/application_cable/channel.rb
353
- - spec/dummy/bin/update
384
+ - spec/dummy/bin/bundle
385
+ - spec/dummy/bin/rails
354
386
  - spec/dummy/bin/rake
355
387
  - spec/dummy/bin/setup
356
- - spec/dummy/bin/bundle
388
+ - spec/dummy/bin/update
357
389
  - spec/dummy/bin/yarn
358
- - spec/dummy/bin/rails
359
- - spec/dummy/config/secrets.yml
360
- - spec/dummy/config/routes.rb
361
- - spec/dummy/config/locales/en.yml
390
+ - spec/dummy/config/application.rb
391
+ - spec/dummy/config/boot.rb
362
392
  - spec/dummy/config/cable.yml
363
- - spec/dummy/config/environments/production.rb
393
+ - spec/dummy/config/database.yml
394
+ - spec/dummy/config/environment.rb
364
395
  - spec/dummy/config/environments/development.rb
396
+ - spec/dummy/config/environments/production.rb
365
397
  - spec/dummy/config/environments/test.rb
366
- - spec/dummy/config/spring.rb
367
- - spec/dummy/config/environment.rb
368
- - spec/dummy/config/application.rb
369
- - spec/dummy/config/puma.rb
370
- - spec/dummy/config/database.yml
371
- - spec/dummy/config/boot.rb
372
398
  - spec/dummy/config/initializers/application_controller_renderer.rb
373
- - spec/dummy/config/initializers/backtrace_silencers.rb
374
- - spec/dummy/config/initializers/mime_types.rb
375
- - spec/dummy/config/initializers/filter_parameter_logging.rb
376
- - spec/dummy/config/initializers/wrap_parameters.rb
377
399
  - spec/dummy/config/initializers/assets.rb
400
+ - spec/dummy/config/initializers/backtrace_silencers.rb
401
+ - spec/dummy/config/initializers/content_security_policy.rb
378
402
  - spec/dummy/config/initializers/cookies_serializer.rb
403
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
379
404
  - spec/dummy/config/initializers/inflections.rb
405
+ - spec/dummy/config/initializers/mime_types.rb
406
+ - spec/dummy/config/initializers/new_framework_defaults_6_1.rb
407
+ - spec/dummy/config/initializers/permissions_policy.rb
408
+ - spec/dummy/config/initializers/wrap_parameters.rb
409
+ - spec/dummy/config/locales/en.yml
410
+ - spec/dummy/config/puma.rb
411
+ - spec/dummy/config/routes.rb
412
+ - spec/dummy/config/secrets.yml
413
+ - spec/dummy/config/spring.rb
414
+ - spec/dummy/config/storage.yml
380
415
  - spec/dummy/config.ru
381
- - spec/dummy/Rakefile
382
- - spec/dummy/public/favicon.ico
416
+ - spec/dummy/db/migrate/20201005164116_create_active_storage_tables.active_storage.rb
417
+ - spec/dummy/db/schema.rb
418
+ - spec/dummy/log/development.log
419
+ - spec/dummy/log/test.log
420
+ - spec/dummy/package.json
421
+ - spec/dummy/public/404.html
383
422
  - spec/dummy/public/422.html
384
- - spec/dummy/public/apple-touch-icon.png
385
423
  - spec/dummy/public/500.html
386
- - spec/dummy/public/404.html
387
424
  - spec/dummy/public/apple-touch-icon-precomposed.png
388
- - spec/dummy/package.json
389
- - spec/dummy/db/schema.rb
390
- - spec/dummy/db/migrate/20201005164116_create_active_storage_tables.active_storage.rb
391
- - spec/dummy/log/test.log
392
- - spec/dummy/log/development.log
393
- - spec/integration_spec_helper.rb
394
- - spec/integration/lib/nulogy_message_bus_producer_spec.rb
395
- - spec/integration/lib/nulogy_message_bus_producer/repopulate_replication_slots_spec.rb
425
+ - spec/dummy/public/apple-touch-icon.png
426
+ - spec/dummy/public/favicon.ico
396
427
  - spec/integration/lib/nulogy_message_bus_producer/config_spec.rb
397
- - spec/integration/lib/nulogy_message_bus_producer/subscriptions/risky_subscription_blocker_spec.rb
428
+ - spec/integration/lib/nulogy_message_bus_producer/repopulate_replication_slots_spec.rb
429
+ - spec/integration/lib/nulogy_message_bus_producer/subscription_spec.rb
398
430
  - spec/integration/lib/nulogy_message_bus_producer/subscriptions/finder_spec.rb
431
+ - spec/integration/lib/nulogy_message_bus_producer/subscriptions/no_variables_spec.rb
399
432
  - spec/integration/lib/nulogy_message_bus_producer/subscriptions/postgres_transport_spec.rb
400
433
  - spec/integration/lib/nulogy_message_bus_producer/subscriptions/query_validator_spec.rb
401
- - spec/integration/lib/nulogy_message_bus_producer/subscriptions/no_variables_spec.rb
402
- - spec/integration/lib/nulogy_message_bus_producer/subscription_spec.rb
403
- - spec/support/kafka_connect.rb
404
- - spec/support/subscription_helpers.rb
434
+ - spec/integration/lib/nulogy_message_bus_producer/subscriptions/risky_subscription_blocker_spec.rb
435
+ - spec/integration_spec_helper.rb
436
+ - spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
437
+ - spec/nulogy_message_bus_producer/subscriptions/subscription_spec.rb
438
+ - spec/spec_helper.rb
405
439
  - spec/support/kafka.rb
440
+ - spec/support/kafka_connect.rb
441
+ - spec/support/shared_examples/subscription_validations.rb
442
+ - spec/support/skip.rb
406
443
  - spec/support/spec_utils.rb
407
444
  - spec/support/sql_helpers.rb
408
- - spec/support/shared_examples/subscription_validations.rb
445
+ - spec/support/subscription_helpers.rb
409
446
  - spec/support/test_graphql_schema.rb
410
- - spec/nulogy_message_bus_producer/configuration/query_parser_spec.rb
411
- - spec/nulogy_message_bus_producer/subscriptions/subscription_spec.rb
@@ -1,9 +0,0 @@
1
- class AddEventTypeToSubscriptionEvents < ActiveRecord::Migration[5.2]
2
- def up
3
- add_column :message_bus_subscription_events, :event_type, :text
4
- end
5
-
6
- def down
7
- remove_column :message_bus_subscription_events, :event_type
8
- end
9
- end
@@ -1,25 +0,0 @@
1
- require "integration_spec_helper"
2
-
3
- RSpec.describe NulogyMessageBusProducer do
4
- describe "publishing events" do
5
- it "publishes an event" do
6
- company_uuid = SecureRandom.uuid
7
-
8
- described_class.publish(
9
- topic: "some-topic",
10
- type: "some-type",
11
- company_uuid: company_uuid,
12
- data: {
13
- field: "value"
14
- }
15
- )
16
-
17
- message = NulogyMessageBusProducer::SubscriptionEvent.last
18
-
19
- expect(message).to be_present
20
- expect(message.topic_name).to eq("some-topic")
21
- expect(message.company_uuid).to eq(company_uuid)
22
- expect(message.event_json).to eq({"field" => "value"})
23
- end
24
- end
25
- end