rpush 5.2.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +53 -8
  4. data/lib/generators/templates/add_adm.rb +1 -1
  5. data/lib/generators/templates/add_alert_is_json_to_rapns_notifications.rb +2 -2
  6. data/lib/generators/templates/add_app_to_rapns.rb +2 -2
  7. data/lib/generators/templates/add_fail_after_to_rpush_notifications.rb +1 -1
  8. data/lib/generators/templates/add_gcm.rb +11 -25
  9. data/lib/generators/templates/add_rpush.rb +33 -83
  10. data/lib/generators/templates/add_wpns.rb +1 -1
  11. data/lib/generators/templates/create_rapns_apps.rb +1 -1
  12. data/lib/generators/templates/create_rapns_feedback.rb +3 -9
  13. data/lib/generators/templates/create_rapns_notifications.rb +3 -9
  14. data/lib/generators/templates/rename_rapns_to_rpush.rb +9 -33
  15. data/lib/generators/templates/rpush.rb +1 -4
  16. data/lib/generators/templates/rpush_2_0_0_updates.rb +5 -17
  17. data/lib/generators/templates/rpush_2_1_0_updates.rb +1 -1
  18. data/lib/generators/templates/rpush_2_6_0_updates.rb +1 -1
  19. data/lib/generators/templates/rpush_2_7_0_updates.rb +1 -1
  20. data/lib/generators/templates/rpush_3_0_0_updates.rb +1 -1
  21. data/lib/generators/templates/rpush_3_0_1_updates.rb +1 -1
  22. data/lib/generators/templates/rpush_3_1_0_add_pushy.rb +1 -1
  23. data/lib/generators/templates/rpush_3_1_1_updates.rb +1 -1
  24. data/lib/generators/templates/rpush_3_2_0_add_apns_p8.rb +1 -1
  25. data/lib/generators/templates/rpush_3_2_4_updates.rb +1 -1
  26. data/lib/generators/templates/rpush_3_3_0_updates.rb +1 -1
  27. data/lib/generators/templates/rpush_3_3_1_updates.rb +3 -3
  28. data/lib/generators/templates/rpush_4_1_0_updates.rb +1 -1
  29. data/lib/generators/templates/rpush_4_1_1_updates.rb +1 -1
  30. data/lib/generators/templates/rpush_4_2_0_updates.rb +1 -1
  31. data/lib/rpush/client/active_model/adm/data_validator.rb +1 -1
  32. data/lib/rpush/client/active_model/apns/app.rb +1 -17
  33. data/lib/rpush/client/active_model/apns/device_token_format_validator.rb +2 -2
  34. data/lib/rpush/client/active_model/apns/notification.rb +4 -0
  35. data/lib/rpush/client/active_model/apns/notification_payload_size_validator.rb +1 -1
  36. data/lib/rpush/client/active_model/apns2/app.rb +7 -1
  37. data/lib/rpush/client/active_model/certificate_private_key_validator.rb +19 -0
  38. data/lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb +1 -1
  39. data/lib/rpush/client/active_model/payload_data_size_validator.rb +1 -1
  40. data/lib/rpush/client/active_model/registration_ids_count_validator.rb +1 -1
  41. data/lib/rpush/client/active_model/webpush/app.rb +41 -0
  42. data/lib/rpush/client/active_model/webpush/notification.rb +66 -0
  43. data/lib/rpush/client/active_model.rb +4 -0
  44. data/lib/rpush/client/active_record/apnsp8/notification.rb +1 -0
  45. data/lib/rpush/client/active_record/webpush/app.rb +11 -0
  46. data/lib/rpush/client/active_record/webpush/notification.rb +12 -0
  47. data/lib/rpush/client/active_record.rb +3 -0
  48. data/lib/rpush/client/redis/apnsp8/notification.rb +2 -0
  49. data/lib/rpush/client/redis/webpush/app.rb +15 -0
  50. data/lib/rpush/client/redis/webpush/notification.rb +15 -0
  51. data/lib/rpush/client/redis.rb +3 -0
  52. data/lib/rpush/configuration.rb +1 -1
  53. data/lib/rpush/daemon/apns2/delivery.rb +8 -1
  54. data/lib/rpush/daemon/apnsp8/delivery.rb +7 -1
  55. data/lib/rpush/daemon/string_helpers.rb +1 -1
  56. data/lib/rpush/daemon/webpush/delivery.rb +114 -0
  57. data/lib/rpush/daemon/webpush.rb +10 -0
  58. data/lib/rpush/daemon.rb +3 -0
  59. data/lib/rpush/version.rb +3 -3
  60. data/spec/functional/apns2_spec.rb +14 -2
  61. data/spec/functional/retry_spec.rb +1 -1
  62. data/spec/functional/webpush_spec.rb +31 -0
  63. data/spec/spec_helper.rb +3 -1
  64. data/spec/support/active_record_setup.rb +4 -3
  65. data/spec/support/config/database.yml +4 -4
  66. data/spec/support/simplecov_helper.rb +1 -1
  67. data/spec/unit/client/active_record/apns/notification_spec.rb +1 -1
  68. data/spec/unit/client/active_record/apns2/app_spec.rb +1 -0
  69. data/spec/unit/client/active_record/apns2/notification_spec.rb +1 -1
  70. data/spec/unit/client/active_record/apnsp8/notification_spec.rb +28 -0
  71. data/spec/unit/client/active_record/webpush/app_spec.rb +6 -0
  72. data/spec/unit/client/active_record/webpush/notification_spec.rb +6 -0
  73. data/spec/unit/client/redis/apns/notification_spec.rb +1 -1
  74. data/spec/unit/client/redis/apns2/notification_spec.rb +1 -1
  75. data/spec/unit/client/redis/apnsp8/notification_spec.rb +29 -0
  76. data/spec/unit/client/redis/webpush/app_spec.rb +5 -0
  77. data/spec/unit/client/redis/webpush/notification_spec.rb +5 -0
  78. data/spec/unit/client/shared/apns/notification.rb +15 -0
  79. data/spec/unit/client/shared/webpush/app.rb +33 -0
  80. data/spec/unit/client/shared/webpush/notification.rb +83 -0
  81. data/spec/unit/daemon/apnsp8/delivery_spec.rb +53 -0
  82. data/spec/unit/daemon/pushy/delivery_spec.rb +5 -3
  83. data/spec/unit/daemon/webpush/delivery_spec.rb +144 -0
  84. metadata +50 -5
@@ -61,10 +61,12 @@ describe Rpush::Daemon::Pushy::Delivery do
61
61
  it_behaves_like 'process notification'
62
62
  end
63
63
 
64
- shared_examples 'retry delivery' do |response_code:|
65
- let(:response_code) { response_code }
64
+ shared_examples 'retry delivery' do |options|
65
+ let(:response_code) { options[:response_code] }
66
+
67
+ shared_examples 'logs' do |log_options|
68
+ let(:deliver_after) { log_options[:deliver_after] }
66
69
 
67
- shared_examples 'logs' do |deliver_after:|
68
70
  let(:expected_log_message) do
69
71
  "Pushy responded with a #{response_code} error. Notification #{notification.id} " \
70
72
  "will be retried after #{deliver_after} (retry 1)."
@@ -0,0 +1,144 @@
1
+ require 'unit_spec_helper'
2
+
3
+ describe Rpush::Daemon::Webpush::Delivery do
4
+ let(:app) { Rpush::Webpush::App.create!(name: 'MyApp', vapid_keypair: VAPID_KEYPAIR) }
5
+
6
+ # Push subscription information as received from a client browser when the
7
+ # user subscribed to push notifications.
8
+ let(:device_reg) {
9
+ { endpoint: 'https://webpush-provider.example.org/push/some-id',
10
+ keys: {'auth' => 'DgN9EBia1o057BdhCOGURA', 'p256dh' => 'BAtxJ--7vHq9IVm8utUB3peJ4lpxRqk1rukCIkVJOomS83QkCnrQ4EyYQsSaCRgy_c8XPytgXxuyAvRJdnTPK4A'} }
11
+ }
12
+
13
+ let(:data) { { message: 'some message' } }
14
+ let(:notification) { Rpush::Webpush::Notification.create!(app: app, registration_ids: [device_reg], data: data) }
15
+ let(:batch) { instance_double('Rpush::Daemon::Batch', notification_processed: nil) }
16
+ let(:response) { instance_double('Net::HTTPResponse', code: response_code, header: response_header, body: response_body) }
17
+ let(:response_code) { 201 }
18
+ let(:response_header) { {} }
19
+ let(:response_body) { nil }
20
+ let(:http) { instance_double('Net::HTTP::Persistent', request: response) }
21
+ let(:logger) { instance_double('Rpush::Logger', error: nil, info: nil, warn: nil, internal_logger: nil) }
22
+ let(:now) { Time.parse('2020-10-13 00:00:00 UTC') }
23
+
24
+ before do
25
+ allow(Rpush).to receive_messages(logger: logger)
26
+ allow(Time).to receive_messages(now: now)
27
+ end
28
+
29
+ subject(:delivery) { described_class.new(app, http, notification, batch) }
30
+
31
+ describe '#perform' do
32
+ shared_examples 'process notification' do
33
+ it 'invoke batch.notification_processed' do
34
+ subject.perform rescue nil
35
+ expect(batch).to have_received(:notification_processed)
36
+ end
37
+ end
38
+
39
+ context 'when response code is 201' do
40
+ before do
41
+ allow(batch).to receive(:mark_delivered)
42
+ Rpush::Daemon.store = Rpush::Daemon::Store.const_get(Rpush.config.client.to_s.camelcase).new
43
+ end
44
+
45
+ it 'marks the notification as delivered' do
46
+ delivery.perform
47
+ expect(batch).to have_received(:mark_delivered).with(notification)
48
+ end
49
+
50
+ it_behaves_like 'process notification'
51
+ end
52
+
53
+ shared_examples 'retry delivery' do |options|
54
+ let(:response_code) { options[:response_code] }
55
+
56
+ shared_examples 'logs' do |log_options|
57
+ let(:deliver_after) { log_options[:deliver_after] }
58
+
59
+ let(:expected_log_message) do
60
+ "[MyApp] Webpush endpoint responded with a #{response_code} error. Notification #{notification.id} will be retried after #{deliver_after} (retry 1)."
61
+ end
62
+
63
+ it 'logs that the notification will be retried' do
64
+ delivery.perform
65
+ expect(logger).to have_received(:info).with(expected_log_message)
66
+ end
67
+ end
68
+
69
+ context 'when Retry-After header is present' do
70
+ let(:response_header) { { 'retry-after' => 10 } }
71
+
72
+ before do
73
+ allow(delivery).to receive(:mark_retryable) do
74
+ notification.deliver_after = now + 10.seconds
75
+ notification.retries += 1
76
+ end
77
+ end
78
+
79
+ it 'retry the notification' do
80
+ delivery.perform
81
+ expect(delivery).to have_received(:mark_retryable).with(notification, now + 10.seconds)
82
+ end
83
+
84
+ it_behaves_like 'logs', deliver_after: '2020-10-13 00:00:10'
85
+ it_behaves_like 'process notification'
86
+ end
87
+
88
+ context 'when Retry-After header is not present' do
89
+ before do
90
+ allow(delivery).to receive(:mark_retryable_exponential) do
91
+ notification.deliver_after = now + 2.seconds
92
+ notification.retries = 1
93
+ end
94
+ end
95
+
96
+ it 'retry the notification' do
97
+ delivery.perform
98
+ expect(delivery).to have_received(:mark_retryable_exponential).with(notification)
99
+ end
100
+
101
+ it_behaves_like 'logs', deliver_after: '2020-10-13 00:00:02'
102
+ it_behaves_like 'process notification'
103
+ end
104
+ end
105
+
106
+ it_behaves_like 'retry delivery', response_code: 429
107
+ it_behaves_like 'retry delivery', response_code: 500
108
+ it_behaves_like 'retry delivery', response_code: 502
109
+ it_behaves_like 'retry delivery', response_code: 503
110
+ it_behaves_like 'retry delivery', response_code: 504
111
+
112
+ context 'when delivery failed' do
113
+ let(:response_code) { 400 }
114
+ let(:fail_message) { 'that was a bad request' }
115
+ before do
116
+ allow(response).to receive(:body) { fail_message }
117
+ allow(batch).to receive(:mark_failed)
118
+ end
119
+
120
+ it 'marks the notification as failed' do
121
+ expect { delivery.perform }.to raise_error(Rpush::DeliveryError)
122
+ expected_message = "Unable to deliver notification #{notification.id}, " \
123
+ "received error 400 (Bad Request: #{fail_message})"
124
+ expect(batch).to have_received(:mark_failed).with(notification, 400, expected_message)
125
+ end
126
+
127
+ it_behaves_like 'process notification'
128
+ end
129
+
130
+ context 'when SocketError raised' do
131
+ before do
132
+ allow(http).to receive(:request) { raise SocketError }
133
+ allow(delivery).to receive(:mark_retryable)
134
+ end
135
+
136
+ it 'retry delivery after 10 seconds' do
137
+ expect { delivery.perform }.to raise_error(SocketError)
138
+ expect(delivery).to have_received(:mark_retryable).with(notification, now + 10.seconds, SocketError)
139
+ end
140
+
141
+ it_behaves_like 'process notification'
142
+ end
143
+ end
144
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpush
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Leitch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-08 00:00:00.000000000 Z
11
+ date: 2021-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '5.0'
81
+ version: '5.2'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: '5.0'
88
+ version: '5.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: thor
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +134,20 @@ dependencies:
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
136
  version: '0'
137
+ - !ruby/object:Gem::Dependency
138
+ name: webpush
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '1.0'
144
+ type: :runtime
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '1.0'
137
151
  - !ruby/object:Gem::Dependency
138
152
  name: rake
139
153
  requirement: !ruby/object:Gem::Requirement
@@ -414,6 +428,7 @@ files:
414
428
  - lib/rpush/client/active_model/apns2/notification.rb
415
429
  - lib/rpush/client/active_model/apnsp8/app.rb
416
430
  - lib/rpush/client/active_model/apnsp8/notification.rb
431
+ - lib/rpush/client/active_model/certificate_private_key_validator.rb
417
432
  - lib/rpush/client/active_model/gcm/app.rb
418
433
  - lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb
419
434
  - lib/rpush/client/active_model/gcm/notification.rb
@@ -423,6 +438,8 @@ files:
423
438
  - lib/rpush/client/active_model/pushy/notification.rb
424
439
  - lib/rpush/client/active_model/pushy/time_to_live_validator.rb
425
440
  - lib/rpush/client/active_model/registration_ids_count_validator.rb
441
+ - lib/rpush/client/active_model/webpush/app.rb
442
+ - lib/rpush/client/active_model/webpush/notification.rb
426
443
  - lib/rpush/client/active_model/wns/app.rb
427
444
  - lib/rpush/client/active_model/wns/notification.rb
428
445
  - lib/rpush/client/active_model/wpns/app.rb
@@ -444,6 +461,8 @@ files:
444
461
  - lib/rpush/client/active_record/notification.rb
445
462
  - lib/rpush/client/active_record/pushy/app.rb
446
463
  - lib/rpush/client/active_record/pushy/notification.rb
464
+ - lib/rpush/client/active_record/webpush/app.rb
465
+ - lib/rpush/client/active_record/webpush/notification.rb
447
466
  - lib/rpush/client/active_record/wns/app.rb
448
467
  - lib/rpush/client/active_record/wns/badge_notification.rb
449
468
  - lib/rpush/client/active_record/wns/notification.rb
@@ -466,6 +485,8 @@ files:
466
485
  - lib/rpush/client/redis/notification.rb
467
486
  - lib/rpush/client/redis/pushy/app.rb
468
487
  - lib/rpush/client/redis/pushy/notification.rb
488
+ - lib/rpush/client/redis/webpush/app.rb
489
+ - lib/rpush/client/redis/webpush/notification.rb
469
490
  - lib/rpush/client/redis/wns/app.rb
470
491
  - lib/rpush/client/redis/wns/badge_notification.rb
471
492
  - lib/rpush/client/redis/wns/notification.rb
@@ -520,6 +541,8 @@ files:
520
541
  - lib/rpush/daemon/string_helpers.rb
521
542
  - lib/rpush/daemon/synchronizer.rb
522
543
  - lib/rpush/daemon/tcp_connection.rb
544
+ - lib/rpush/daemon/webpush.rb
545
+ - lib/rpush/daemon/webpush/delivery.rb
523
546
  - lib/rpush/daemon/wns.rb
524
547
  - lib/rpush/daemon/wns/badge_request.rb
525
548
  - lib/rpush/daemon/wns/delivery.rb
@@ -552,6 +575,7 @@ files:
552
575
  - spec/functional/pushy_spec.rb
553
576
  - spec/functional/retry_spec.rb
554
577
  - spec/functional/synchronization_spec.rb
578
+ - spec/functional/webpush_spec.rb
555
579
  - spec/functional/wpns_spec.rb
556
580
  - spec/functional_spec_helper.rb
557
581
  - spec/spec_helper.rb
@@ -570,6 +594,7 @@ files:
570
594
  - spec/unit/client/active_record/apns/notification_spec.rb
571
595
  - spec/unit/client/active_record/apns2/app_spec.rb
572
596
  - spec/unit/client/active_record/apns2/notification_spec.rb
597
+ - spec/unit/client/active_record/apnsp8/notification_spec.rb
573
598
  - spec/unit/client/active_record/app_spec.rb
574
599
  - spec/unit/client/active_record/gcm/app_spec.rb
575
600
  - spec/unit/client/active_record/gcm/notification_spec.rb
@@ -578,6 +603,8 @@ files:
578
603
  - spec/unit/client/active_record/pushy/notification_spec.rb
579
604
  - spec/unit/client/active_record/shared/app.rb
580
605
  - spec/unit/client/active_record/shared/notification.rb
606
+ - spec/unit/client/active_record/webpush/app_spec.rb
607
+ - spec/unit/client/active_record/webpush/notification_spec.rb
581
608
  - spec/unit/client/active_record/wns/badge_notification_spec.rb
582
609
  - spec/unit/client/active_record/wns/raw_notification_spec.rb
583
610
  - spec/unit/client/active_record/wpns/app_spec.rb
@@ -589,12 +616,15 @@ files:
589
616
  - spec/unit/client/redis/apns/notification_spec.rb
590
617
  - spec/unit/client/redis/apns2/app_spec.rb
591
618
  - spec/unit/client/redis/apns2/notification_spec.rb
619
+ - spec/unit/client/redis/apnsp8/notification_spec.rb
592
620
  - spec/unit/client/redis/app_spec.rb
593
621
  - spec/unit/client/redis/gcm/app_spec.rb
594
622
  - spec/unit/client/redis/gcm/notification_spec.rb
595
623
  - spec/unit/client/redis/notification_spec.rb
596
624
  - spec/unit/client/redis/pushy/app_spec.rb
597
625
  - spec/unit/client/redis/pushy/notification_spec.rb
626
+ - spec/unit/client/redis/webpush/app_spec.rb
627
+ - spec/unit/client/redis/webpush/notification_spec.rb
598
628
  - spec/unit/client/redis/wns/badge_notification_spec.rb
599
629
  - spec/unit/client/redis/wns/raw_notification_spec.rb
600
630
  - spec/unit/client/redis/wpns/app_spec.rb
@@ -610,6 +640,8 @@ files:
610
640
  - spec/unit/client/shared/notification.rb
611
641
  - spec/unit/client/shared/pushy/app.rb
612
642
  - spec/unit/client/shared/pushy/notification.rb
643
+ - spec/unit/client/shared/webpush/app.rb
644
+ - spec/unit/client/shared/webpush/notification.rb
613
645
  - spec/unit/client/shared/wns/badge_notification.rb
614
646
  - spec/unit/client/shared/wns/raw_notification.rb
615
647
  - spec/unit/client/shared/wpns/app.rb
@@ -619,6 +651,7 @@ files:
619
651
  - spec/unit/daemon/apns/certificate_expired_error_spec.rb
620
652
  - spec/unit/daemon/apns/delivery_spec.rb
621
653
  - spec/unit/daemon/apns/feedback_receiver_spec.rb
654
+ - spec/unit/daemon/apnsp8/delivery_spec.rb
622
655
  - spec/unit/daemon/app_runner_spec.rb
623
656
  - spec/unit/daemon/batch_spec.rb
624
657
  - spec/unit/daemon/delivery_error_spec.rb
@@ -638,6 +671,7 @@ files:
638
671
  - spec/unit/daemon/store/active_record_spec.rb
639
672
  - spec/unit/daemon/store/redis_spec.rb
640
673
  - spec/unit/daemon/tcp_connection_spec.rb
674
+ - spec/unit/daemon/webpush/delivery_spec.rb
641
675
  - spec/unit/daemon/wns/delivery_spec.rb
642
676
  - spec/unit/daemon/wns/post_request_spec.rb
643
677
  - spec/unit/daemon/wpns/delivery_spec.rb
@@ -660,7 +694,7 @@ metadata:
660
694
  changelog_uri: https://github.com/rpush/rpush/blob/master/CHANGELOG.md
661
695
  source_code_uri: https://github.com/rpush/rpush
662
696
  post_install_message: |
663
- When upgrading, don't forget to run `bundle exec rpush init` to get all the latest migrations.
697
+ When upgrading Rpush, don't forget to run `bundle exec rpush init` to get all the latest migrations.
664
698
 
665
699
  For details on this specific release, refer to the CHANGELOG.md file.
666
700
  https://github.com/rpush/rpush/blob/master/CHANGELOG.md
@@ -695,6 +729,7 @@ test_files:
695
729
  - spec/functional/pushy_spec.rb
696
730
  - spec/functional/retry_spec.rb
697
731
  - spec/functional/synchronization_spec.rb
732
+ - spec/functional/webpush_spec.rb
698
733
  - spec/functional/wpns_spec.rb
699
734
  - spec/functional_spec_helper.rb
700
735
  - spec/spec_helper.rb
@@ -713,6 +748,7 @@ test_files:
713
748
  - spec/unit/client/active_record/apns/notification_spec.rb
714
749
  - spec/unit/client/active_record/apns2/app_spec.rb
715
750
  - spec/unit/client/active_record/apns2/notification_spec.rb
751
+ - spec/unit/client/active_record/apnsp8/notification_spec.rb
716
752
  - spec/unit/client/active_record/app_spec.rb
717
753
  - spec/unit/client/active_record/gcm/app_spec.rb
718
754
  - spec/unit/client/active_record/gcm/notification_spec.rb
@@ -721,6 +757,8 @@ test_files:
721
757
  - spec/unit/client/active_record/pushy/notification_spec.rb
722
758
  - spec/unit/client/active_record/shared/app.rb
723
759
  - spec/unit/client/active_record/shared/notification.rb
760
+ - spec/unit/client/active_record/webpush/app_spec.rb
761
+ - spec/unit/client/active_record/webpush/notification_spec.rb
724
762
  - spec/unit/client/active_record/wns/badge_notification_spec.rb
725
763
  - spec/unit/client/active_record/wns/raw_notification_spec.rb
726
764
  - spec/unit/client/active_record/wpns/app_spec.rb
@@ -732,12 +770,15 @@ test_files:
732
770
  - spec/unit/client/redis/apns/notification_spec.rb
733
771
  - spec/unit/client/redis/apns2/app_spec.rb
734
772
  - spec/unit/client/redis/apns2/notification_spec.rb
773
+ - spec/unit/client/redis/apnsp8/notification_spec.rb
735
774
  - spec/unit/client/redis/app_spec.rb
736
775
  - spec/unit/client/redis/gcm/app_spec.rb
737
776
  - spec/unit/client/redis/gcm/notification_spec.rb
738
777
  - spec/unit/client/redis/notification_spec.rb
739
778
  - spec/unit/client/redis/pushy/app_spec.rb
740
779
  - spec/unit/client/redis/pushy/notification_spec.rb
780
+ - spec/unit/client/redis/webpush/app_spec.rb
781
+ - spec/unit/client/redis/webpush/notification_spec.rb
741
782
  - spec/unit/client/redis/wns/badge_notification_spec.rb
742
783
  - spec/unit/client/redis/wns/raw_notification_spec.rb
743
784
  - spec/unit/client/redis/wpns/app_spec.rb
@@ -753,6 +794,8 @@ test_files:
753
794
  - spec/unit/client/shared/notification.rb
754
795
  - spec/unit/client/shared/pushy/app.rb
755
796
  - spec/unit/client/shared/pushy/notification.rb
797
+ - spec/unit/client/shared/webpush/app.rb
798
+ - spec/unit/client/shared/webpush/notification.rb
756
799
  - spec/unit/client/shared/wns/badge_notification.rb
757
800
  - spec/unit/client/shared/wns/raw_notification.rb
758
801
  - spec/unit/client/shared/wpns/app.rb
@@ -762,6 +805,7 @@ test_files:
762
805
  - spec/unit/daemon/apns/certificate_expired_error_spec.rb
763
806
  - spec/unit/daemon/apns/delivery_spec.rb
764
807
  - spec/unit/daemon/apns/feedback_receiver_spec.rb
808
+ - spec/unit/daemon/apnsp8/delivery_spec.rb
765
809
  - spec/unit/daemon/app_runner_spec.rb
766
810
  - spec/unit/daemon/batch_spec.rb
767
811
  - spec/unit/daemon/delivery_error_spec.rb
@@ -781,6 +825,7 @@ test_files:
781
825
  - spec/unit/daemon/store/active_record_spec.rb
782
826
  - spec/unit/daemon/store/redis_spec.rb
783
827
  - spec/unit/daemon/tcp_connection_spec.rb
828
+ - spec/unit/daemon/webpush/delivery_spec.rb
784
829
  - spec/unit/daemon/wns/delivery_spec.rb
785
830
  - spec/unit/daemon/wns/post_request_spec.rb
786
831
  - spec/unit/daemon/wpns/delivery_spec.rb