rpush 5.2.0 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
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