rpush 5.0.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -2
  3. data/lib/rpush/cli.rb +1 -1
  4. data/lib/rpush/client/active_model.rb +1 -1
  5. data/lib/rpush/client/active_model/apns/notification.rb +9 -1
  6. data/lib/rpush/client/active_model/apns/notification_payload_size_validator.rb +15 -0
  7. data/lib/rpush/client/active_model/apns2/notification.rb +14 -0
  8. data/lib/rpush/client/active_record.rb +1 -0
  9. data/lib/rpush/client/active_record/apns/active_record_serializable_notification.rb +65 -0
  10. data/lib/rpush/client/active_record/apns/notification.rb +1 -57
  11. data/lib/rpush/client/active_record/apns2/notification.rb +4 -1
  12. data/lib/rpush/client/redis/apns2/notification.rb +1 -0
  13. data/lib/rpush/client/redis/pushy/notification.rb +0 -1
  14. data/lib/rpush/daemon/apns2/delivery.rb +6 -1
  15. data/lib/rpush/daemon/apnsp8/delivery.rb +7 -2
  16. data/lib/rpush/daemon/store/active_record/reconnectable.rb +1 -1
  17. data/lib/rpush/version.rb +1 -1
  18. data/spec/functional/apns2_spec.rb +36 -0
  19. data/spec/support/simplecov_helper.rb +1 -1
  20. data/spec/unit/client/active_record/adm/app_spec.rb +2 -54
  21. data/spec/unit/client/active_record/adm/notification_spec.rb +2 -39
  22. data/spec/unit/client/active_record/apns/app_spec.rb +3 -26
  23. data/spec/unit/client/active_record/apns/feedback_spec.rb +1 -5
  24. data/spec/unit/client/active_record/apns/notification_spec.rb +29 -293
  25. data/spec/unit/client/active_record/apns2/app_spec.rb +4 -0
  26. data/spec/unit/client/active_record/apns2/notification_spec.rb +65 -0
  27. data/spec/unit/client/active_record/app_spec.rb +1 -26
  28. data/spec/unit/client/active_record/gcm/app_spec.rb +3 -1
  29. data/spec/unit/client/active_record/gcm/notification_spec.rb +6 -88
  30. data/spec/unit/client/active_record/notification_spec.rb +3 -11
  31. data/spec/unit/client/active_record/pushy/app_spec.rb +2 -13
  32. data/spec/unit/client/active_record/pushy/notification_spec.rb +2 -55
  33. data/spec/unit/client/active_record/shared/app.rb +14 -0
  34. data/spec/unit/{notification_shared.rb → client/active_record/shared/notification.rb} +12 -7
  35. data/spec/unit/client/active_record/wns/badge_notification_spec.rb +1 -11
  36. data/spec/unit/client/active_record/wns/raw_notification_spec.rb +3 -12
  37. data/spec/unit/client/active_record/wpns/app_spec.rb +3 -1
  38. data/spec/unit/client/active_record/wpns/notification_spec.rb +2 -17
  39. data/spec/unit/client/redis/adm/app_spec.rb +5 -0
  40. data/spec/unit/client/redis/adm/notification_spec.rb +5 -0
  41. data/spec/unit/client/redis/apns/app_spec.rb +5 -0
  42. data/spec/unit/client/redis/apns/feedback_spec.rb +5 -0
  43. data/spec/unit/client/redis/apns/notification_spec.rb +50 -0
  44. data/spec/unit/client/redis/apns2/app_spec.rb +4 -0
  45. data/spec/unit/client/redis/apns2/notification_spec.rb +50 -0
  46. data/spec/unit/client/redis/app_spec.rb +5 -0
  47. data/spec/unit/client/redis/gcm/app_spec.rb +5 -0
  48. data/spec/unit/client/redis/gcm/notification_spec.rb +5 -0
  49. data/spec/unit/client/redis/notification_spec.rb +5 -0
  50. data/spec/unit/client/redis/pushy/app_spec.rb +5 -0
  51. data/spec/unit/client/redis/pushy/notification_spec.rb +5 -0
  52. data/spec/unit/client/redis/wns/badge_notification_spec.rb +5 -0
  53. data/spec/unit/client/redis/wns/raw_notification_spec.rb +22 -0
  54. data/spec/unit/client/redis/wpns/app_spec.rb +5 -0
  55. data/spec/unit/client/redis/wpns/notification_spec.rb +5 -0
  56. data/spec/unit/client/shared/adm/app.rb +51 -0
  57. data/spec/unit/client/shared/adm/notification.rb +39 -0
  58. data/spec/unit/client/shared/apns/app.rb +29 -0
  59. data/spec/unit/client/shared/apns/feedback.rb +9 -0
  60. data/spec/unit/client/shared/apns/notification.rb +262 -0
  61. data/spec/unit/client/shared/app.rb +17 -0
  62. data/spec/unit/client/shared/gcm/app.rb +4 -0
  63. data/spec/unit/client/shared/gcm/notification.rb +77 -0
  64. data/spec/unit/client/shared/notification.rb +10 -0
  65. data/spec/unit/client/shared/pushy/app.rb +17 -0
  66. data/spec/unit/client/shared/pushy/notification.rb +55 -0
  67. data/spec/unit/client/shared/wns/badge_notification.rb +15 -0
  68. data/spec/unit/client/shared/wns/raw_notification.rb +21 -0
  69. data/spec/unit/client/shared/wpns/app.rb +4 -0
  70. data/spec/unit/client/shared/wpns/notification.rb +18 -0
  71. data/spec/unit/daemon/shared/store.rb +312 -0
  72. data/spec/unit/daemon/store/active_record/reconnectable_spec.rb +7 -7
  73. data/spec/unit/daemon/store/active_record_spec.rb +2 -290
  74. data/spec/unit/daemon/store/redis_spec.rb +2 -291
  75. data/spec/unit_spec_helper.rb +3 -0
  76. metadata +89 -10
  77. data/lib/rpush/client/active_model/apns/binary_notification_validator.rb +0 -16
@@ -1,6 +1,9 @@
1
1
  require 'spec_helper'
2
2
  require 'rails'
3
3
 
4
+ # load all shared example files
5
+ Dir["./spec/unit/**/shared/**/*.rb"].sort.each { |f| require f }
6
+
4
7
  def unit_example?(metadata)
5
8
  metadata[:file_path] =~ %r{spec/unit}
6
9
  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.0.0
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Leitch
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-21 00:00:00.000000000 Z
11
+ date: 2020-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -44,14 +44,20 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.14'
47
+ version: '0.18'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.18.3
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: '0.14'
57
+ version: '0.18'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.18.3
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: jwt
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -401,9 +407,9 @@ files:
401
407
  - lib/rpush/client/active_model/adm/data_validator.rb
402
408
  - lib/rpush/client/active_model/adm/notification.rb
403
409
  - lib/rpush/client/active_model/apns/app.rb
404
- - lib/rpush/client/active_model/apns/binary_notification_validator.rb
405
410
  - lib/rpush/client/active_model/apns/device_token_format_validator.rb
406
411
  - lib/rpush/client/active_model/apns/notification.rb
412
+ - lib/rpush/client/active_model/apns/notification_payload_size_validator.rb
407
413
  - lib/rpush/client/active_model/apns2/app.rb
408
414
  - lib/rpush/client/active_model/apns2/notification.rb
409
415
  - lib/rpush/client/active_model/apnsp8/app.rb
@@ -424,6 +430,7 @@ files:
424
430
  - lib/rpush/client/active_record.rb
425
431
  - lib/rpush/client/active_record/adm/app.rb
426
432
  - lib/rpush/client/active_record/adm/notification.rb
433
+ - lib/rpush/client/active_record/apns/active_record_serializable_notification.rb
427
434
  - lib/rpush/client/active_record/apns/app.rb
428
435
  - lib/rpush/client/active_record/apns/feedback.rb
429
436
  - lib/rpush/client/active_record/apns/notification.rb
@@ -561,16 +568,52 @@ files:
561
568
  - spec/unit/client/active_record/apns/app_spec.rb
562
569
  - spec/unit/client/active_record/apns/feedback_spec.rb
563
570
  - spec/unit/client/active_record/apns/notification_spec.rb
571
+ - spec/unit/client/active_record/apns2/app_spec.rb
572
+ - spec/unit/client/active_record/apns2/notification_spec.rb
564
573
  - spec/unit/client/active_record/app_spec.rb
565
574
  - spec/unit/client/active_record/gcm/app_spec.rb
566
575
  - spec/unit/client/active_record/gcm/notification_spec.rb
567
576
  - spec/unit/client/active_record/notification_spec.rb
568
577
  - spec/unit/client/active_record/pushy/app_spec.rb
569
578
  - spec/unit/client/active_record/pushy/notification_spec.rb
579
+ - spec/unit/client/active_record/shared/app.rb
580
+ - spec/unit/client/active_record/shared/notification.rb
570
581
  - spec/unit/client/active_record/wns/badge_notification_spec.rb
571
582
  - spec/unit/client/active_record/wns/raw_notification_spec.rb
572
583
  - spec/unit/client/active_record/wpns/app_spec.rb
573
584
  - spec/unit/client/active_record/wpns/notification_spec.rb
585
+ - spec/unit/client/redis/adm/app_spec.rb
586
+ - spec/unit/client/redis/adm/notification_spec.rb
587
+ - spec/unit/client/redis/apns/app_spec.rb
588
+ - spec/unit/client/redis/apns/feedback_spec.rb
589
+ - spec/unit/client/redis/apns/notification_spec.rb
590
+ - spec/unit/client/redis/apns2/app_spec.rb
591
+ - spec/unit/client/redis/apns2/notification_spec.rb
592
+ - spec/unit/client/redis/app_spec.rb
593
+ - spec/unit/client/redis/gcm/app_spec.rb
594
+ - spec/unit/client/redis/gcm/notification_spec.rb
595
+ - spec/unit/client/redis/notification_spec.rb
596
+ - spec/unit/client/redis/pushy/app_spec.rb
597
+ - spec/unit/client/redis/pushy/notification_spec.rb
598
+ - spec/unit/client/redis/wns/badge_notification_spec.rb
599
+ - spec/unit/client/redis/wns/raw_notification_spec.rb
600
+ - spec/unit/client/redis/wpns/app_spec.rb
601
+ - spec/unit/client/redis/wpns/notification_spec.rb
602
+ - spec/unit/client/shared/adm/app.rb
603
+ - spec/unit/client/shared/adm/notification.rb
604
+ - spec/unit/client/shared/apns/app.rb
605
+ - spec/unit/client/shared/apns/feedback.rb
606
+ - spec/unit/client/shared/apns/notification.rb
607
+ - spec/unit/client/shared/app.rb
608
+ - spec/unit/client/shared/gcm/app.rb
609
+ - spec/unit/client/shared/gcm/notification.rb
610
+ - spec/unit/client/shared/notification.rb
611
+ - spec/unit/client/shared/pushy/app.rb
612
+ - spec/unit/client/shared/pushy/notification.rb
613
+ - spec/unit/client/shared/wns/badge_notification.rb
614
+ - spec/unit/client/shared/wns/raw_notification.rb
615
+ - spec/unit/client/shared/wpns/app.rb
616
+ - spec/unit/client/shared/wpns/notification.rb
574
617
  - spec/unit/configuration_spec.rb
575
618
  - spec/unit/daemon/adm/delivery_spec.rb
576
619
  - spec/unit/daemon/apns/certificate_expired_error_spec.rb
@@ -589,6 +632,7 @@ files:
589
632
  - spec/unit/daemon/pushy/delivery_spec.rb
590
633
  - spec/unit/daemon/retryable_error_spec.rb
591
634
  - spec/unit/daemon/service_config_methods_spec.rb
635
+ - spec/unit/daemon/shared/store.rb
592
636
  - spec/unit/daemon/signal_handler_spec.rb
593
637
  - spec/unit/daemon/store/active_record/reconnectable_spec.rb
594
638
  - spec/unit/daemon/store/active_record_spec.rb
@@ -602,7 +646,6 @@ files:
602
646
  - spec/unit/deprecation_spec.rb
603
647
  - spec/unit/embed_spec.rb
604
648
  - spec/unit/logger_spec.rb
605
- - spec/unit/notification_shared.rb
606
649
  - spec/unit/plugin_spec.rb
607
650
  - spec/unit/push_spec.rb
608
651
  - spec/unit/reflectable_spec.rb
@@ -635,8 +678,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
635
678
  - !ruby/object:Gem::Version
636
679
  version: '0'
637
680
  requirements: []
638
- rubygems_version: 3.1.2
639
- signing_key:
681
+ rubygems_version: 3.1.4
682
+ signing_key:
640
683
  specification_version: 4
641
684
  summary: The push notification service for Ruby.
642
685
  test_files:
@@ -668,16 +711,52 @@ test_files:
668
711
  - spec/unit/client/active_record/apns/app_spec.rb
669
712
  - spec/unit/client/active_record/apns/feedback_spec.rb
670
713
  - spec/unit/client/active_record/apns/notification_spec.rb
714
+ - spec/unit/client/active_record/apns2/app_spec.rb
715
+ - spec/unit/client/active_record/apns2/notification_spec.rb
671
716
  - spec/unit/client/active_record/app_spec.rb
672
717
  - spec/unit/client/active_record/gcm/app_spec.rb
673
718
  - spec/unit/client/active_record/gcm/notification_spec.rb
674
719
  - spec/unit/client/active_record/notification_spec.rb
675
720
  - spec/unit/client/active_record/pushy/app_spec.rb
676
721
  - spec/unit/client/active_record/pushy/notification_spec.rb
722
+ - spec/unit/client/active_record/shared/app.rb
723
+ - spec/unit/client/active_record/shared/notification.rb
677
724
  - spec/unit/client/active_record/wns/badge_notification_spec.rb
678
725
  - spec/unit/client/active_record/wns/raw_notification_spec.rb
679
726
  - spec/unit/client/active_record/wpns/app_spec.rb
680
727
  - spec/unit/client/active_record/wpns/notification_spec.rb
728
+ - spec/unit/client/redis/adm/app_spec.rb
729
+ - spec/unit/client/redis/adm/notification_spec.rb
730
+ - spec/unit/client/redis/apns/app_spec.rb
731
+ - spec/unit/client/redis/apns/feedback_spec.rb
732
+ - spec/unit/client/redis/apns/notification_spec.rb
733
+ - spec/unit/client/redis/apns2/app_spec.rb
734
+ - spec/unit/client/redis/apns2/notification_spec.rb
735
+ - spec/unit/client/redis/app_spec.rb
736
+ - spec/unit/client/redis/gcm/app_spec.rb
737
+ - spec/unit/client/redis/gcm/notification_spec.rb
738
+ - spec/unit/client/redis/notification_spec.rb
739
+ - spec/unit/client/redis/pushy/app_spec.rb
740
+ - spec/unit/client/redis/pushy/notification_spec.rb
741
+ - spec/unit/client/redis/wns/badge_notification_spec.rb
742
+ - spec/unit/client/redis/wns/raw_notification_spec.rb
743
+ - spec/unit/client/redis/wpns/app_spec.rb
744
+ - spec/unit/client/redis/wpns/notification_spec.rb
745
+ - spec/unit/client/shared/adm/app.rb
746
+ - spec/unit/client/shared/adm/notification.rb
747
+ - spec/unit/client/shared/apns/app.rb
748
+ - spec/unit/client/shared/apns/feedback.rb
749
+ - spec/unit/client/shared/apns/notification.rb
750
+ - spec/unit/client/shared/app.rb
751
+ - spec/unit/client/shared/gcm/app.rb
752
+ - spec/unit/client/shared/gcm/notification.rb
753
+ - spec/unit/client/shared/notification.rb
754
+ - spec/unit/client/shared/pushy/app.rb
755
+ - spec/unit/client/shared/pushy/notification.rb
756
+ - spec/unit/client/shared/wns/badge_notification.rb
757
+ - spec/unit/client/shared/wns/raw_notification.rb
758
+ - spec/unit/client/shared/wpns/app.rb
759
+ - spec/unit/client/shared/wpns/notification.rb
681
760
  - spec/unit/configuration_spec.rb
682
761
  - spec/unit/daemon/adm/delivery_spec.rb
683
762
  - spec/unit/daemon/apns/certificate_expired_error_spec.rb
@@ -696,6 +775,7 @@ test_files:
696
775
  - spec/unit/daemon/pushy/delivery_spec.rb
697
776
  - spec/unit/daemon/retryable_error_spec.rb
698
777
  - spec/unit/daemon/service_config_methods_spec.rb
778
+ - spec/unit/daemon/shared/store.rb
699
779
  - spec/unit/daemon/signal_handler_spec.rb
700
780
  - spec/unit/daemon/store/active_record/reconnectable_spec.rb
701
781
  - spec/unit/daemon/store/active_record_spec.rb
@@ -709,7 +789,6 @@ test_files:
709
789
  - spec/unit/deprecation_spec.rb
710
790
  - spec/unit/embed_spec.rb
711
791
  - spec/unit/logger_spec.rb
712
- - spec/unit/notification_shared.rb
713
792
  - spec/unit/plugin_spec.rb
714
793
  - spec/unit/push_spec.rb
715
794
  - spec/unit/reflectable_spec.rb
@@ -1,16 +0,0 @@
1
- module Rpush
2
- module Client
3
- module ActiveModel
4
- module Apns
5
- class BinaryNotificationValidator < ::ActiveModel::Validator
6
- MAX_BYTES = 2048
7
-
8
- def validate(record)
9
- return unless record.payload.bytesize > MAX_BYTES
10
- record.errors[:base] << "APN notification cannot be larger than #{MAX_BYTES} bytes. Try condensing your alert and device attributes."
11
- end
12
- end
13
- end
14
- end
15
- end
16
- end