sendgrid4r 1.11.0 → 1.12.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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -1
  3. data/exe/sg +5 -0
  4. data/lib/sendgrid4r/cli/api_keys/api_key.rb +53 -0
  5. data/lib/sendgrid4r/cli/api_keys/permission.rb +15 -0
  6. data/lib/sendgrid4r/cli/campaign/campaign.rb +134 -0
  7. data/lib/sendgrid4r/cli/campaign/contact/contact.rb +25 -0
  8. data/lib/sendgrid4r/cli/campaign/contact/custom_field.rb +42 -0
  9. data/lib/sendgrid4r/cli/campaign/contact/list.rb +71 -0
  10. data/lib/sendgrid4r/cli/campaign/contact/recipient.rb +78 -0
  11. data/lib/sendgrid4r/cli/campaign/contact/reserved_field.rb +17 -0
  12. data/lib/sendgrid4r/cli/campaign/contact/segment.rb +96 -0
  13. data/lib/sendgrid4r/cli/campaign/sender.rb +83 -0
  14. data/lib/sendgrid4r/cli/cancel_schedules/batch_id.rb +23 -0
  15. data/lib/sendgrid4r/cli/cancel_schedules/cancel_schedule.rb +55 -0
  16. data/lib/sendgrid4r/cli/category.rb +16 -0
  17. data/lib/sendgrid4r/cli/ipam/activity.rb +16 -0
  18. data/lib/sendgrid4r/cli/ipam/ipam.rb +14 -0
  19. data/lib/sendgrid4r/cli/ipam/whitelist.rb +39 -0
  20. data/lib/sendgrid4r/cli/ips/address.rb +48 -0
  21. data/lib/sendgrid4r/cli/ips/ip.rb +17 -0
  22. data/lib/sendgrid4r/cli/ips/pool.rb +48 -0
  23. data/lib/sendgrid4r/cli/ips/warmup.rb +39 -0
  24. data/lib/sendgrid4r/cli/mail.rb +34 -0
  25. data/lib/sendgrid4r/cli/settings/enforced_tls.rb +24 -0
  26. data/lib/sendgrid4r/cli/settings/mail.rb +171 -0
  27. data/lib/sendgrid4r/cli/settings/partner.rb +34 -0
  28. data/lib/sendgrid4r/cli/settings/settings.rb +20 -0
  29. data/lib/sendgrid4r/cli/settings/tracking.rb +92 -0
  30. data/lib/sendgrid4r/cli/sg.rb +55 -0
  31. data/lib/sendgrid4r/cli/sg_thor.rb +34 -0
  32. data/lib/sendgrid4r/cli/stats/advanced.rb +72 -0
  33. data/lib/sendgrid4r/cli/stats/category.rb +35 -0
  34. data/lib/sendgrid4r/cli/stats/global.rb +18 -0
  35. data/lib/sendgrid4r/cli/stats/parse.rb +18 -0
  36. data/lib/sendgrid4r/cli/stats/stats.rb +23 -0
  37. data/lib/sendgrid4r/cli/stats/subuser.rb +67 -0
  38. data/lib/sendgrid4r/cli/subusers/monitor.rb +44 -0
  39. data/lib/sendgrid4r/cli/subusers/subuser.rb +77 -0
  40. data/lib/sendgrid4r/cli/suppressions/block.rb +43 -0
  41. data/lib/sendgrid4r/cli/suppressions/bounce.rb +41 -0
  42. data/lib/sendgrid4r/cli/suppressions/global_unsubscribe.rb +43 -0
  43. data/lib/sendgrid4r/cli/suppressions/group.rb +56 -0
  44. data/lib/sendgrid4r/cli/suppressions/group_unsubscribe.rb +34 -0
  45. data/lib/sendgrid4r/cli/suppressions/invalid_email.rb +43 -0
  46. data/lib/sendgrid4r/cli/suppressions/spam_report.rb +43 -0
  47. data/lib/sendgrid4r/cli/suppressions/suppression.rb +36 -0
  48. data/lib/sendgrid4r/cli/templates/template.rb +51 -0
  49. data/lib/sendgrid4r/cli/templates/version.rb +78 -0
  50. data/lib/sendgrid4r/cli/user.rb +86 -0
  51. data/lib/sendgrid4r/cli/webhooks/event.rb +53 -0
  52. data/lib/sendgrid4r/cli/webhooks/parse.rb +15 -0
  53. data/lib/sendgrid4r/cli/webhooks/webhook.rb +14 -0
  54. data/lib/sendgrid4r/cli/whitelabel/domain.rb +117 -0
  55. data/lib/sendgrid4r/cli/whitelabel/ip.rb +52 -0
  56. data/lib/sendgrid4r/cli/whitelabel/link.rb +96 -0
  57. data/lib/sendgrid4r/cli/whitelabel/whitelabel.rb +17 -0
  58. data/lib/sendgrid4r/client.rb +4 -1
  59. data/lib/sendgrid4r/factory/campaign_factory.rb +1 -1
  60. data/lib/sendgrid4r/factory/condition_factory.rb +2 -2
  61. data/lib/sendgrid4r/factory/event_factory.rb +21 -0
  62. data/lib/sendgrid4r/rest/api_keys_management/api_keys.rb +5 -5
  63. data/lib/sendgrid4r/rest/api_keys_management/permissions.rb +3 -1
  64. data/lib/sendgrid4r/rest/blocks.rb +2 -2
  65. data/lib/sendgrid4r/rest/bounces.rb +2 -2
  66. data/lib/sendgrid4r/rest/cancel_scheduled_sends.rb +12 -4
  67. data/lib/sendgrid4r/rest/categories.rb +1 -1
  68. data/lib/sendgrid4r/rest/email_activity.rb +1 -1
  69. data/lib/sendgrid4r/rest/invalid_emails.rb +2 -2
  70. data/lib/sendgrid4r/rest/ip_access_management.rb +12 -4
  71. data/lib/sendgrid4r/rest/ips/addresses.rb +4 -4
  72. data/lib/sendgrid4r/rest/ips/pools.rb +4 -4
  73. data/lib/sendgrid4r/rest/ips/warmup.rb +3 -3
  74. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/custom_fields.rb +9 -3
  75. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/lists.rb +7 -5
  76. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/recipients.rb +22 -7
  77. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/reserved_fields.rb +3 -1
  78. data/lib/sendgrid4r/rest/marketing_campaigns/contacts/segments.rb +7 -5
  79. data/lib/sendgrid4r/rest/marketing_campaigns/marketing_campaigns.rb +8 -8
  80. data/lib/sendgrid4r/rest/marketing_campaigns/senders.rb +4 -4
  81. data/lib/sendgrid4r/rest/request.rb +6 -4
  82. data/lib/sendgrid4r/rest/settings/enforced_tls.rb +6 -2
  83. data/lib/sendgrid4r/rest/settings/mail.rb +71 -17
  84. data/lib/sendgrid4r/rest/settings/partner.rb +3 -3
  85. data/lib/sendgrid4r/rest/settings/tracking.rb +17 -9
  86. data/lib/sendgrid4r/rest/sm/global_unsubscribes.rb +5 -3
  87. data/lib/sendgrid4r/rest/sm/groups.rb +4 -4
  88. data/lib/sendgrid4r/rest/sm/suppressions.rb +6 -3
  89. data/lib/sendgrid4r/rest/spam_reports.rb +2 -2
  90. data/lib/sendgrid4r/rest/stats/advanced.rb +8 -8
  91. data/lib/sendgrid4r/rest/stats/category.rb +2 -2
  92. data/lib/sendgrid4r/rest/stats/global.rb +1 -1
  93. data/lib/sendgrid4r/rest/stats/parse.rb +1 -1
  94. data/lib/sendgrid4r/rest/stats/subuser.rb +4 -4
  95. data/lib/sendgrid4r/rest/subusers.rb +15 -10
  96. data/lib/sendgrid4r/rest/transactional_templates/templates.rb +12 -4
  97. data/lib/sendgrid4r/rest/transactional_templates/versions.rb +4 -4
  98. data/lib/sendgrid4r/rest/users.rb +9 -9
  99. data/lib/sendgrid4r/rest/webhooks/event.rb +2 -2
  100. data/lib/sendgrid4r/rest/webhooks/parse.rb +1 -1
  101. data/lib/sendgrid4r/rest/whitelabel/domains.rb +10 -11
  102. data/lib/sendgrid4r/rest/whitelabel/ips.rb +4 -4
  103. data/lib/sendgrid4r/rest/whitelabel/links.rb +8 -8
  104. data/lib/sendgrid4r/version.rb +1 -1
  105. data/lib/sendgrid4r.rb +57 -0
  106. data/sendgrid4r.gemspec +3 -1
  107. data/spec/cli/api_keys/api_key_spec.rb +77 -0
  108. data/spec/cli/api_keys/permission_spec.rb +29 -0
  109. data/spec/cli/campaign/campaign_spec.rb +136 -0
  110. data/spec/cli/campaign/contact/custom_field_spec.rb +48 -0
  111. data/spec/cli/campaign/contact/list_spec.rb +88 -0
  112. data/spec/cli/campaign/contact/recipient_spec.rb +93 -0
  113. data/spec/cli/campaign/contact/reserved_field_spec.rb +20 -0
  114. data/spec/cli/campaign/contact/segment_spec.rb +93 -0
  115. data/spec/cli/campaign/sender_spec.rb +83 -0
  116. data/spec/cli/cancel_schedules/batch_id_spec.rb +33 -0
  117. data/spec/cli/cancel_schedules/cancel_schedule_spec.rb +69 -0
  118. data/spec/cli/category_spec.rb +23 -0
  119. data/spec/cli/ipam/activity_spec.rb +21 -0
  120. data/spec/cli/ipam/ipam_spec.rb +26 -0
  121. data/spec/cli/ipam/whitelist_spec.rb +47 -0
  122. data/spec/cli/ips/address_spec.rb +57 -0
  123. data/spec/cli/ips/ip_spec.rb +33 -0
  124. data/spec/cli/ips/pool_spec.rb +57 -0
  125. data/spec/cli/ips/warmup_spec.rb +47 -0
  126. data/spec/cli/mail_spec.rb +37 -0
  127. data/spec/cli/settings/enforced_tls_spec.rb +30 -0
  128. data/spec/cli/settings/mail_spec.rb +255 -0
  129. data/spec/cli/settings/partner_spec.rb +47 -0
  130. data/spec/cli/settings/settings_spec.rb +40 -0
  131. data/spec/cli/settings/tracking_spec.rb +128 -0
  132. data/spec/cli/sg_spec.rb +82 -0
  133. data/spec/cli/stats/advanced_spec.rb +137 -0
  134. data/spec/cli/stats/category_spec.rb +57 -0
  135. data/spec/cli/stats/global_spec.rb +32 -0
  136. data/spec/cli/stats/parse_spec.rb +32 -0
  137. data/spec/cli/stats/stats_spec.rb +40 -0
  138. data/spec/cli/stats/subuser_spec.rb +104 -0
  139. data/spec/cli/subusers/monitor_spec.rb +52 -0
  140. data/spec/cli/subusers/subuser_spec.rb +88 -0
  141. data/spec/cli/suppressions/block_spec.rb +60 -0
  142. data/spec/cli/suppressions/bounce_spec.rb +58 -0
  143. data/spec/cli/suppressions/global_unsubscribe_spec.rb +59 -0
  144. data/spec/cli/suppressions/group_spec.rb +69 -0
  145. data/spec/cli/suppressions/group_unsubscribe_spec.rb +41 -0
  146. data/spec/cli/suppressions/invalid_email_spec.rb +60 -0
  147. data/spec/cli/suppressions/spam_report_spec.rb +60 -0
  148. data/spec/cli/suppressions/suppression_spec.rb +68 -0
  149. data/spec/cli/templates/template_spec.rb +65 -0
  150. data/spec/cli/templates/version_spec.rb +71 -0
  151. data/spec/cli/user_spec.rb +82 -0
  152. data/spec/cli/webhooks/event_spec.rb +67 -0
  153. data/spec/cli/webhooks/parse_spec.rb +20 -0
  154. data/spec/cli/webhooks/webhook_spec.rb +28 -0
  155. data/spec/cli/whitelabel/domain_spec.rb +112 -0
  156. data/spec/cli/whitelabel/ip_spec.rb +61 -0
  157. data/spec/cli/whitelabel/link_spec.rb +110 -0
  158. data/spec/cli/whitelabel/whitelabel_spec.rb +27 -0
  159. data/spec/client_spec.rb +1 -1
  160. data/spec/factory/campaign_factory_spec.rb +2 -2
  161. data/spec/factory/event_factory_spec.rb +36 -0
  162. data/spec/rest/api_keys_management/api_keys_spec.rb +24 -24
  163. data/spec/rest/api_keys_management/permissions_spec.rb +8 -10
  164. data/spec/rest/blocks_spec.rb +14 -18
  165. data/spec/rest/bounces_spec.rb +28 -32
  166. data/spec/rest/cancel_scheduled_sends_spec.rb +15 -19
  167. data/spec/rest/categories_spec.rb +8 -10
  168. data/spec/rest/email_activity_spec.rb +18 -22
  169. data/spec/rest/invalid_emails_spec.rb +19 -23
  170. data/spec/rest/ip_access_management_spec.rb +46 -52
  171. data/spec/rest/ips/addresses_spec.rb +21 -25
  172. data/spec/rest/ips/pools_spec.rb +20 -24
  173. data/spec/rest/ips/warmup_spec.rb +11 -15
  174. data/spec/rest/marketing_campaigns/contacts/custom_fields_spec.rb +26 -30
  175. data/spec/rest/marketing_campaigns/contacts/lists_spec.rb +58 -66
  176. data/spec/rest/marketing_campaigns/contacts/recipients_spec.rb +77 -87
  177. data/spec/rest/marketing_campaigns/contacts/reserved_fields_spec.rb +46 -50
  178. data/spec/rest/marketing_campaigns/contacts/segments_spec.rb +75 -78
  179. data/spec/rest/marketing_campaigns/marketing_campaigns_spec.rb +92 -94
  180. data/spec/rest/marketing_campaigns/senders_spec.rb +51 -51
  181. data/spec/rest/settings/enforced_tls_spec.rb +5 -7
  182. data/spec/rest/settings/mail_spec.rb +89 -60
  183. data/spec/rest/settings/partner_spec.rb +5 -7
  184. data/spec/rest/settings/settings_spec.rb +18 -22
  185. data/spec/rest/settings/tracking_spec.rb +26 -34
  186. data/spec/rest/sm/global_unsubscribes_spec.rb +9 -13
  187. data/spec/rest/sm/groups_spec.rb +24 -28
  188. data/spec/rest/sm/sm_spec.rb +15 -15
  189. data/spec/rest/sm/suppressions_spec.rb +34 -44
  190. data/spec/rest/spam_reports_spec.rb +19 -23
  191. data/spec/rest/stats/advanced_spec.rb +4 -4
  192. data/spec/rest/stats/global_spec.rb +0 -21
  193. data/spec/rest/subusers_spec.rb +38 -47
  194. data/spec/rest/transactional_templates/templates_spec.rb +29 -33
  195. data/spec/rest/transactional_templates/versions_spec.rb +11 -93
  196. data/spec/rest/users_spec.rb +42 -54
  197. data/spec/rest/webhooks/event_spec.rb +16 -18
  198. data/spec/rest/webhooks/parse_spec.rb +16 -20
  199. data/spec/rest/whitelabel/domains_spec.rb +93 -100
  200. data/spec/rest/whitelabel/ips_spec.rb +28 -32
  201. data/spec/rest/whitelabel/links_spec.rb +41 -45
  202. metadata +181 -4
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Settings
5
+ describe Partner do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#list with full params' do
12
+ args = [
13
+ 'list',
14
+ '--api-key', ENV['SILVER_API_KEY'],
15
+ '--limit', 10,
16
+ '--offset', 0
17
+ ]
18
+ Partner.start(args)
19
+ end
20
+
21
+ it '#new_relic get' do
22
+ args = [
23
+ 'new_relic', 'get',
24
+ '--api-key', ENV['SILVER_API_KEY']
25
+ ]
26
+ Partner.start(args)
27
+ end
28
+
29
+ it '#new_relic enable' do
30
+ args = [
31
+ 'new_relic', 'enable',
32
+ '--api-key', ENV['SILVER_API_KEY'],
33
+ '--license-key', 'aaa'
34
+ ]
35
+ Partner.start(args)
36
+ end
37
+
38
+ it '#new_relic disable' do
39
+ args = [
40
+ 'new_relic', 'disable',
41
+ '--api-key', ENV['SILVER_API_KEY']
42
+ ]
43
+ Partner.start(args)
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Settings
5
+ describe Settings do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#enforced_tls subcommand' do
12
+ args = [
13
+ 'enforced_tls'
14
+ ]
15
+ Settings.start(args)
16
+ end
17
+
18
+ it '#mail subcommand' do
19
+ args = [
20
+ 'mail'
21
+ ]
22
+ Settings.start(args)
23
+ end
24
+
25
+ it '#partner subcommand' do
26
+ args = [
27
+ 'partner'
28
+ ]
29
+ Settings.start(args)
30
+ end
31
+
32
+ it '#tracking subcommand' do
33
+ args = [
34
+ 'tracking'
35
+ ]
36
+ Settings.start(args)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,128 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Settings
5
+ describe Tracking do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#list with full params' do
12
+ args = [
13
+ 'list',
14
+ '--api-key', ENV['SILVER_API_KEY'],
15
+ '--limit', 10,
16
+ '--offset', 0
17
+ ]
18
+ Tracking.start(args)
19
+ end
20
+
21
+ it '#click get' do
22
+ args = [
23
+ 'click', 'get',
24
+ '--api-key', ENV['SILVER_API_KEY']
25
+ ]
26
+ Tracking.start(args)
27
+ end
28
+
29
+ it '#click enable' do
30
+ args = [
31
+ 'click', 'enable',
32
+ '--api-key', ENV['SILVER_API_KEY']
33
+ ]
34
+ Tracking.start(args)
35
+ end
36
+
37
+ it '#click disable' do
38
+ args = [
39
+ 'click', 'disable',
40
+ '--api-key', ENV['SILVER_API_KEY']
41
+ ]
42
+ Tracking.start(args)
43
+ end
44
+
45
+ it '#ganalytics get' do
46
+ args = [
47
+ 'ganalytics', 'get',
48
+ '--api-key', ENV['SILVER_API_KEY']
49
+ ]
50
+ Tracking.start(args)
51
+ end
52
+
53
+ it '#ganalytics enable' do
54
+ args = [
55
+ 'ganalytics', 'enable',
56
+ '--api-key', ENV['SILVER_API_KEY'],
57
+ '--utm-source', 'aaa',
58
+ '--utm-medium', 'bbb',
59
+ '--utm-term', 'ccc',
60
+ '--utm-content', 'ddd',
61
+ '--utm-campaign', 'ddd'
62
+ ]
63
+ Tracking.start(args)
64
+ end
65
+
66
+ it '#ganalytics disable' do
67
+ args = [
68
+ 'ganalytics', 'disable',
69
+ '--api-key', ENV['SILVER_API_KEY']
70
+ ]
71
+ Tracking.start(args)
72
+ end
73
+
74
+ it '#open get' do
75
+ args = [
76
+ 'open', 'get',
77
+ '--api-key', ENV['SILVER_API_KEY']
78
+ ]
79
+ Tracking.start(args)
80
+ end
81
+
82
+ it '#open enable' do
83
+ args = [
84
+ 'open', 'enable',
85
+ '--api-key', ENV['SILVER_API_KEY']
86
+ ]
87
+ Tracking.start(args)
88
+ end
89
+
90
+ it '#open disable' do
91
+ args = [
92
+ 'open', 'disable',
93
+ '--api-key', ENV['SILVER_API_KEY']
94
+ ]
95
+ Tracking.start(args)
96
+ end
97
+
98
+ it '#subscription get' do
99
+ args = [
100
+ 'subscription', 'get',
101
+ '--api-key', ENV['SILVER_API_KEY']
102
+ ]
103
+ Tracking.start(args)
104
+ end
105
+
106
+ it '#subscription enable' do
107
+ args = [
108
+ 'subscription', 'enable',
109
+ '--api-key', ENV['SILVER_API_KEY'],
110
+ '--landing', '<p>ありがとう</p>\n\n<p>さようなら</p>\n',
111
+ '--url', '',
112
+ '--replace', '',
113
+ '--html-content', '<p>配信停止は&lt;% こちら&nbsp; %&gt;から</p>',
114
+ '--plain-content', '配信停止はこちらから<% %>'
115
+ ]
116
+ Tracking.start(args)
117
+ end
118
+
119
+ it '#subscription disable' do
120
+ args = [
121
+ 'subscription', 'disable',
122
+ '--api-key', ENV['SILVER_API_KEY']
123
+ ]
124
+ Tracking.start(args)
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,82 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../spec_helper'
3
+
4
+ module SendGrid4r::CLI
5
+ describe SG do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#api_key subcommand' do
12
+ args = ['api_key']
13
+ SG.start(args)
14
+ end
15
+
16
+ it '#cancel_schedule subcommand' do
17
+ args = ['cancel_schedule']
18
+ SG.start(args)
19
+ end
20
+
21
+ it '#ip subcommand' do
22
+ args = ['ip']
23
+ SG.start(args)
24
+ end
25
+
26
+ it '#ipam subcommand' do
27
+ args = ['ipam']
28
+ SG.start(args)
29
+ end
30
+
31
+ it '#settings subcommand' do
32
+ args = ['settings']
33
+ SG.start(args)
34
+ end
35
+
36
+ it '#subuser subcommand' do
37
+ args = ['subuser']
38
+ SG.start(args)
39
+ end
40
+
41
+ it '#suppression subcommand' do
42
+ args = ['suppression']
43
+ SG.start(args)
44
+ end
45
+
46
+ it '#template subcommand' do
47
+ args = ['template']
48
+ SG.start(args)
49
+ end
50
+
51
+ it '#webhook subcommand' do
52
+ args = ['webhook']
53
+ SG.start(args)
54
+ end
55
+
56
+ it '#whitelabel subcommand' do
57
+ args = ['whitelabel']
58
+ SG.start(args)
59
+ end
60
+
61
+ it '#category subcommand' do
62
+ args = ['category']
63
+ SG.start(args)
64
+ end
65
+
66
+ it '#user subcommand' do
67
+ args = ['user']
68
+ SG.start(args)
69
+ end
70
+
71
+ it '#campaign subcommand' do
72
+ args = ['campaign']
73
+ SG.start(args)
74
+ end
75
+
76
+ it '#mail subcommand' do
77
+ args = ['mail']
78
+ SG.start(args)
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,137 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Stats
5
+ describe Advanced do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#geo with mandatory params' do
12
+ args = [
13
+ 'geo',
14
+ '--api-key', ENV['SILVER_API_KEY'],
15
+ '--start-date', '2016-01-01'
16
+ ]
17
+ Advanced.start(args)
18
+ end
19
+
20
+ it '#geo with full params' do
21
+ args = [
22
+ 'geo',
23
+ '--api-key', ENV['SILVER_API_KEY'],
24
+ '--start-date', '2016-01-01',
25
+ '--end-date', '2016-01-02',
26
+ '--aggregated-by', 'day',
27
+ '--country', 'US'
28
+ ]
29
+ Advanced.start(args)
30
+ end
31
+
32
+ it '#device with mandatory params' do
33
+ args = [
34
+ 'device',
35
+ '--api-key', ENV['SILVER_API_KEY'],
36
+ '--start-date', '2016-01-01'
37
+ ]
38
+ Advanced.start(args)
39
+ end
40
+
41
+ it '#device with full params' do
42
+ args = [
43
+ 'device',
44
+ '--api-key', ENV['SILVER_API_KEY'],
45
+ '--start-date', '2016-01-01',
46
+ '--end-date', '2016-01-02',
47
+ '--aggregated-by', 'day'
48
+ ]
49
+ Advanced.start(args)
50
+ end
51
+
52
+ it '#client with mandatory params' do
53
+ args = [
54
+ 'client',
55
+ '--api-key', ENV['SILVER_API_KEY'],
56
+ '--start-date', '2016-01-01'
57
+ ]
58
+ Advanced.start(args)
59
+ end
60
+
61
+ it '#client with full params' do
62
+ args = [
63
+ 'client',
64
+ '--api-key', ENV['SILVER_API_KEY'],
65
+ '--start-date', '2016-01-01',
66
+ '--end-date', '2016-01-02',
67
+ '--aggregated-by', 'day'
68
+ ]
69
+ Advanced.start(args)
70
+ end
71
+
72
+ it '#client_type with mandatory params' do
73
+ args = [
74
+ 'client_type',
75
+ '--api-key', ENV['SILVER_API_KEY'],
76
+ '--start-date', '2016-01-01',
77
+ '--client-type', 'phone'
78
+ ]
79
+ Advanced.start(args)
80
+ end
81
+
82
+ it '#client_type with full params' do
83
+ args = [
84
+ 'client_type',
85
+ '--api-key', ENV['SILVER_API_KEY'],
86
+ '--start-date', '2016-01-01',
87
+ '--end-date', '2016-01-02',
88
+ '--aggregated-by', 'day',
89
+ '--client-type', 'phone'
90
+ ]
91
+ Advanced.start(args)
92
+ end
93
+
94
+ it '#mailbox_provider with mandatory params' do
95
+ args = [
96
+ 'mailbox_provider',
97
+ '--api-key', ENV['SILVER_API_KEY'],
98
+ '--start-date', '2016-01-01'
99
+ ]
100
+ Advanced.start(args)
101
+ end
102
+
103
+ it '#mailbox_provider with full params' do
104
+ args = [
105
+ 'mailbox_provider',
106
+ '--api-key', ENV['SILVER_API_KEY'],
107
+ '--start-date', '2016-01-01',
108
+ '--end-date', '2016-01-02',
109
+ '--aggregated-by', 'day',
110
+ '--mailbox-providers', 'gmail'
111
+ ]
112
+ Advanced.start(args)
113
+ end
114
+
115
+ it '#browser with mandatory params' do
116
+ args = [
117
+ 'browser',
118
+ '--api-key', ENV['SILVER_API_KEY'],
119
+ '--start-date', '2016-01-01'
120
+ ]
121
+ Advanced.start(args)
122
+ end
123
+
124
+ it '#browser with full params' do
125
+ args = [
126
+ 'browser',
127
+ '--api-key', ENV['SILVER_API_KEY'],
128
+ '--start-date', '2016-01-01',
129
+ '--end-date', '2016-01-02',
130
+ '--aggregated-by', 'day',
131
+ '--browsers', 'chrome'
132
+ ]
133
+ Advanced.start(args)
134
+ end
135
+ end
136
+ end
137
+ end
@@ -0,0 +1,57 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Stats
5
+ describe Category do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#get with mandatory params' do
12
+ args = [
13
+ 'get',
14
+ '--api-key', ENV['SILVER_API_KEY'],
15
+ '--start-date', '2016-01-01',
16
+ '--categories', 'cat1'
17
+ ]
18
+ Category.start(args)
19
+ end
20
+
21
+ it '#get with full params' do
22
+ args = [
23
+ 'get',
24
+ '--api-key', ENV['SILVER_API_KEY'],
25
+ '--start-date', '2016-01-01',
26
+ '--end-date', '2016-01-02',
27
+ '--aggregated-by', 'day',
28
+ '--categories', 'cat1'
29
+ ]
30
+ Category.start(args)
31
+ end
32
+
33
+ it '#sums with mandatory params' do
34
+ args = [
35
+ 'sums',
36
+ '--api-key', ENV['SILVER_API_KEY'],
37
+ '--start-date', '2016-01-01'
38
+ ]
39
+ Category.start(args)
40
+ end
41
+
42
+ it '#sums with full params' do
43
+ args = [
44
+ 'sums',
45
+ '--api-key', ENV['SILVER_API_KEY'],
46
+ '--start-date', '2016-01-01',
47
+ '--end-date', '2016-01-02',
48
+ '--sort-by-metric', 'requests',
49
+ '--sort-by-direction', 'desc',
50
+ '--limit', 10,
51
+ '--offset', 0
52
+ ]
53
+ Category.start(args)
54
+ end
55
+ end
56
+ end
57
+ end