sendgrid4r 0.2.0 → 0.3.0

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +5 -0
  3. data/.rubocop.yml +8 -8
  4. data/README.md +2 -0
  5. data/lib/auth.rb +5 -2
  6. data/lib/client.rb +4 -2
  7. data/lib/sendgrid4r/factory/version_factory.rb +1 -1
  8. data/lib/sendgrid4r/rest/api.rb +4 -0
  9. data/lib/sendgrid4r/rest/api_keys/api_keys.rb +73 -0
  10. data/lib/sendgrid4r/rest/asm/asm.rb +28 -0
  11. data/lib/sendgrid4r/rest/asm/global_suppressions.rb +12 -8
  12. data/lib/sendgrid4r/rest/asm/groups.rb +29 -22
  13. data/lib/sendgrid4r/rest/asm/suppressions.rb +25 -15
  14. data/lib/sendgrid4r/rest/categories/categories.rb +19 -9
  15. data/lib/sendgrid4r/rest/contacts/custom_fields.rb +14 -8
  16. data/lib/sendgrid4r/rest/contacts/lists.rb +32 -20
  17. data/lib/sendgrid4r/rest/contacts/recipients.rb +42 -31
  18. data/lib/sendgrid4r/rest/contacts/reserved_fields.rb +6 -2
  19. data/lib/sendgrid4r/rest/contacts/segments.rb +22 -12
  20. data/lib/sendgrid4r/rest/ips/addresses.rb +36 -22
  21. data/lib/sendgrid4r/rest/ips/pools.rb +31 -16
  22. data/lib/sendgrid4r/rest/ips/warmup.rb +34 -15
  23. data/lib/sendgrid4r/rest/request.rb +33 -19
  24. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +12 -5
  25. data/lib/sendgrid4r/rest/stats/advanced.rb +73 -25
  26. data/lib/sendgrid4r/rest/stats/category.rb +11 -6
  27. data/lib/sendgrid4r/rest/stats/global.rb +6 -4
  28. data/lib/sendgrid4r/rest/stats/parse.rb +10 -4
  29. data/lib/sendgrid4r/rest/stats/stats.rb +13 -18
  30. data/lib/sendgrid4r/rest/stats/subuser.rb +10 -6
  31. data/lib/sendgrid4r/rest/templates/templates.rb +23 -16
  32. data/lib/sendgrid4r/rest/templates/versions.rb +39 -36
  33. data/lib/sendgrid4r/version.rb +1 -1
  34. data/spec/api_keys/api_keys_spec.rb +152 -0
  35. data/spec/asm/asm_spec.rb +33 -0
  36. data/spec/asm/global_suppressions_spec.rb +111 -45
  37. data/spec/asm/groups_spec.rb +172 -48
  38. data/spec/asm/suppressions_spec.rb +180 -54
  39. data/spec/categories/categories_spec.rb +81 -25
  40. data/spec/client_spec.rb +11 -4
  41. data/spec/contacts/custom_fields_spec.rb +135 -44
  42. data/spec/contacts/lists_spec.rb +314 -84
  43. data/spec/contacts/recipients_spec.rb +337 -92
  44. data/spec/contacts/reserved_fields_spec.rb +80 -60
  45. data/spec/contacts/segments_spec.rb +219 -88
  46. data/spec/factory/condition_factory_spec.rb +12 -12
  47. data/spec/factory/segment_factory_spec.rb +19 -19
  48. data/spec/factory/version_factory_spec.rb +6 -6
  49. data/spec/ips/addresses_spec.rb +177 -84
  50. data/spec/ips/pools_spec.rb +190 -34
  51. data/spec/ips/warmup_spec.rb +106 -38
  52. data/spec/settings/enforced_tls_spec.rb +76 -18
  53. data/spec/stats/advanced_spec.rb +373 -196
  54. data/spec/stats/category_spec.rb +133 -71
  55. data/spec/stats/global_spec.rb +74 -47
  56. data/spec/stats/parse_spec.rb +46 -29
  57. data/spec/stats/stats_spec.rb +246 -0
  58. data/spec/stats/subuser_spec.rb +99 -54
  59. data/spec/templates/templates_spec.rb +219 -54
  60. data/spec/templates/versions_spec.rb +171 -67
  61. metadata +10 -2
@@ -1,34 +1,92 @@
1
1
  # encoding: utf-8
2
2
  require File.dirname(__FILE__) + '/../spec_helper'
3
3
 
4
- describe 'SendGrid4r::REST::Settings::EnforcedTls' do
5
- before :all do
6
- Dotenv.load
7
- @client = SendGrid4r::Client.new(
8
- ENV['SENDGRID_USERNAME'], ENV['SENDGRID_PASSWORD'])
9
- end
4
+ describe SendGrid4r::REST::Settings::EnforcedTls do
5
+ describe 'integration test' do
6
+ before do
7
+ Dotenv.load
8
+ @client = SendGrid4r::Client.new(
9
+ username: ENV['SENDGRID_USERNAME'],
10
+ password: ENV['SENDGRID_PASSWORD'])
11
+ end
10
12
 
11
- context 'always' do
12
- describe '#get_enforced_tls' do
13
- it 'returns EnforcedTls instance' do
14
- actual = @client.get_enforced_tls
15
- expect(
16
- actual.class
17
- ).to be(SendGrid4r::REST::Settings::EnforcedTls::EnforcedTls)
13
+ context 'without block call' do
14
+ it '#get_enforced_tls' do
15
+ begin
16
+ actual = @client.get_enforced_tls
17
+ expect(
18
+ actual
19
+ ).to be_a(SendGrid4r::REST::Settings::EnforcedTls::EnforcedTls)
20
+ rescue => e
21
+ puts e.inspect
22
+ raise e
23
+ end
24
+ end
25
+
26
+ it '#patch_enforced_tls' do
27
+ begin
28
+ # get original enforced_tls settings
29
+ actual = @client.get_enforced_tls
30
+ # patch both value
31
+ actual.require_tls = false
32
+ actual.require_valid_cert = false
33
+ edit = @client.patch_enforced_tls(actual)
34
+ expect(actual.require_tls).to eq(edit.require_tls)
35
+ expect(actual.require_valid_cert).to eq(edit.require_valid_cert)
36
+ rescue => e
37
+ puts e.inspect
38
+ raise e
39
+ end
18
40
  end
19
41
  end
20
42
 
21
- describe '#patch_enforced_tls' do
22
- it 'update EnforcedTls values' do
43
+ context 'with block call' do
44
+ it '#get_enforced_tls' do
45
+ @client.get_enforced_tls do |resp, req, res|
46
+ resp =
47
+ SendGrid4r::REST::Settings::EnforcedTls.create_enforced_tls(
48
+ JSON.parse(resp)
49
+ )
50
+ expect(resp).to be_a(
51
+ SendGrid4r::REST::Settings::EnforcedTls::EnforcedTls
52
+ )
53
+ expect(req).to be_a(RestClient::Request)
54
+ expect(res).to be_a(Net::HTTPOK)
55
+ end
56
+ end
57
+
58
+ it '#patch_enforced_tls' do
23
59
  # get original enforced_tls settings
24
60
  actual = @client.get_enforced_tls
25
61
  # patch both value
26
62
  actual.require_tls = false
27
63
  actual.require_valid_cert = false
28
- edit = @client.patch_enforced_tls(actual)
29
- expect(actual.require_tls).to eq(edit.require_tls)
30
- expect(actual.require_valid_cert).to eq(edit.require_valid_cert)
64
+ @client.patch_enforced_tls(actual) do |resp, req, res|
65
+ resp =
66
+ SendGrid4r::REST::Settings::EnforcedTls.create_enforced_tls(
67
+ JSON.parse(resp)
68
+ )
69
+ expect(resp).to be_a(
70
+ SendGrid4r::REST::Settings::EnforcedTls::EnforcedTls
71
+ )
72
+ expect(req).to be_a(RestClient::Request)
73
+ expect(res).to be_a(Net::HTTPOK)
74
+ end
31
75
  end
32
76
  end
33
77
  end
78
+
79
+ describe 'unit test' do
80
+ it 'creates enforced_tls instance' do
81
+ json =
82
+ '{'\
83
+ '"require_tls": true,'\
84
+ '"require_valid_cert": false'\
85
+ '}'
86
+ hash = JSON.parse(json)
87
+ actual = SendGrid4r::REST::Settings::EnforcedTls.create_enforced_tls(hash)
88
+ expect(actual.require_tls).to eq(true)
89
+ expect(actual.require_valid_cert).to eq(false)
90
+ end
91
+ end
34
92
  end