sendgrid4r 0.2.0 → 0.3.0

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