sendgrid4r 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -2,5 +2,5 @@
2
2
  # SendGrid API v3 wrapper implementation.
3
3
  #
4
4
  module SendGrid4r
5
- VERSION = '1.11.0'
5
+ VERSION = '1.12.0'
6
6
  end
data/lib/sendgrid4r.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ require 'thor'
2
3
 
3
4
  require 'sendgrid4r/version'
4
5
 
@@ -75,8 +76,64 @@ require 'sendgrid4r/factory/condition_factory'
75
76
  require 'sendgrid4r/factory/segment_factory'
76
77
  require 'sendgrid4r/factory/version_factory'
77
78
  require 'sendgrid4r/factory/mail_factory'
79
+ require 'sendgrid4r/factory/event_factory'
78
80
 
79
81
  require 'sendgrid4r/rest/api'
80
82
 
81
83
  require 'sendgrid4r/auth'
82
84
  require 'sendgrid4r/client'
85
+
86
+ require 'sendgrid4r/cli/sg_thor'
87
+ require 'sendgrid4r/cli/api_keys/permission'
88
+ require 'sendgrid4r/cli/api_keys/api_key'
89
+ require 'sendgrid4r/cli/cancel_schedules/batch_id'
90
+ require 'sendgrid4r/cli/cancel_schedules/cancel_schedule'
91
+ require 'sendgrid4r/cli/ips/address'
92
+ require 'sendgrid4r/cli/ips/pool'
93
+ require 'sendgrid4r/cli/ips/warmup'
94
+ require 'sendgrid4r/cli/ips/ip'
95
+ require 'sendgrid4r/cli/ipam/activity'
96
+ require 'sendgrid4r/cli/ipam/whitelist'
97
+ require 'sendgrid4r/cli/ipam/ipam'
98
+ require 'sendgrid4r/cli/settings/enforced_tls'
99
+ require 'sendgrid4r/cli/settings/mail'
100
+ require 'sendgrid4r/cli/settings/partner'
101
+ require 'sendgrid4r/cli/settings/tracking'
102
+ require 'sendgrid4r/cli/settings/settings'
103
+ require 'sendgrid4r/cli/stats/advanced'
104
+ require 'sendgrid4r/cli/stats/category'
105
+ require 'sendgrid4r/cli/stats/global'
106
+ require 'sendgrid4r/cli/stats/parse'
107
+ require 'sendgrid4r/cli/stats/subuser'
108
+ require 'sendgrid4r/cli/stats/stats'
109
+ require 'sendgrid4r/cli/subusers/monitor'
110
+ require 'sendgrid4r/cli/subusers/subuser'
111
+ require 'sendgrid4r/cli/suppressions/block'
112
+ require 'sendgrid4r/cli/suppressions/bounce'
113
+ require 'sendgrid4r/cli/suppressions/global_unsubscribe'
114
+ require 'sendgrid4r/cli/suppressions/group_unsubscribe'
115
+ require 'sendgrid4r/cli/suppressions/group'
116
+ require 'sendgrid4r/cli/suppressions/invalid_email'
117
+ require 'sendgrid4r/cli/suppressions/spam_report'
118
+ require 'sendgrid4r/cli/suppressions/suppression'
119
+ require 'sendgrid4r/cli/templates/version'
120
+ require 'sendgrid4r/cli/templates/template'
121
+ require 'sendgrid4r/cli/webhooks/event'
122
+ require 'sendgrid4r/cli/webhooks/parse'
123
+ require 'sendgrid4r/cli/webhooks/webhook'
124
+ require 'sendgrid4r/cli/whitelabel/domain'
125
+ require 'sendgrid4r/cli/whitelabel/ip'
126
+ require 'sendgrid4r/cli/whitelabel/link'
127
+ require 'sendgrid4r/cli/whitelabel/whitelabel'
128
+ require 'sendgrid4r/cli/category'
129
+ require 'sendgrid4r/cli/user'
130
+ require 'sendgrid4r/cli/campaign/contact/custom_field'
131
+ require 'sendgrid4r/cli/campaign/contact/list'
132
+ require 'sendgrid4r/cli/campaign/contact/recipient'
133
+ require 'sendgrid4r/cli/campaign/contact/reserved_field'
134
+ require 'sendgrid4r/cli/campaign/contact/segment'
135
+ require 'sendgrid4r/cli/campaign/contact/contact'
136
+ require 'sendgrid4r/cli/campaign/sender'
137
+ require 'sendgrid4r/cli/campaign/campaign'
138
+ require 'sendgrid4r/cli/mail'
139
+ require 'sendgrid4r/cli/sg'
data/sendgrid4r.gemspec CHANGED
@@ -14,11 +14,13 @@ Gem::Specification.new do |spec|
14
14
  spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.bindir = 'exe'
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ['lib']
20
21
 
21
22
  spec.add_dependency('rest-client', '>=1.8.0', '<1.9.0')
23
+ spec.add_dependency('thor', '~> 0.19.1')
22
24
  spec.add_development_dependency('rubocop', '>=0.29.0', '<0.34.3')
23
25
  spec.add_development_dependency('bundler', '>=1.6.0', '<1.13.0')
24
26
  spec.add_development_dependency('rspec', '3.3.0')
@@ -0,0 +1,77 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::ApiKeys
5
+ describe ApiKey do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#list' do
12
+ args = [
13
+ 'list',
14
+ '--api-key', ENV['SILVER_API_KEY']
15
+ ]
16
+ ApiKey.start(args)
17
+ end
18
+
19
+ it '#create with scope' do
20
+ args = [
21
+ 'create',
22
+ '--api-key', ENV['SILVER_API_KEY'],
23
+ '--name', 'api_key_test3',
24
+ '--scopes', 'mail.send'
25
+ ]
26
+ ApiKey.start(args)
27
+ end
28
+
29
+ it '#create with all scope' do
30
+ args = [
31
+ 'create',
32
+ '--user', ENV['USERNAME'],
33
+ '--pass', ENV['PASS'],
34
+ '--name', 'api_key_test4'
35
+ ]
36
+ ApiKey.start(args)
37
+ end
38
+
39
+ it '#get' do
40
+ args = [
41
+ 'get',
42
+ '--api-key', ENV['SILVER_API_KEY'],
43
+ '--api-key-id', ENV['TEMP_API_KEY_ID']
44
+ ]
45
+ ApiKey.start(args)
46
+ end
47
+
48
+ it '#delete' do
49
+ args = [
50
+ 'delete',
51
+ '--api-key', ENV['SILVER_API_KEY'],
52
+ '--api-key-id', ENV['TEMP_API_KEY_ID']
53
+ ]
54
+ ApiKey.start(args)
55
+ end
56
+
57
+ it '#update specify scopes' do
58
+ args = [
59
+ 'update',
60
+ '--user', ENV['USERNAME'],
61
+ '--pass', ENV['PASS'],
62
+ '--name', 'api_key_test31',
63
+ '--api-key-id', ENV['TEMP_API_KEY_ID'],
64
+ '--scopes', 'mail.batch.create', 'mail.send'
65
+ ]
66
+ ApiKey.start(args)
67
+ end
68
+
69
+ it '#permission subcommand' do
70
+ args = [
71
+ 'permission'
72
+ ]
73
+ ApiKey.start(args)
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,29 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::ApiKeys
5
+ describe Permission do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#list with api key' do
12
+ args = [
13
+ 'list',
14
+ '--api-key', ENV['SILVER_API_KEY']
15
+ ]
16
+ Permission.start(args)
17
+ end
18
+
19
+ it '#list with user and pass' do
20
+ args = [
21
+ 'list',
22
+ '--user', ENV['USERNAME'],
23
+ '--pass', ENV['PASS']
24
+ ]
25
+ Permission.start(args)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,136 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Campaign
5
+ describe Campaign do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#create' do
12
+ args = [
13
+ 'create',
14
+ '--api-key', ENV['API_KEY'],
15
+ '--title', 'cli_campaign',
16
+ '--subject', 'cli_subject',
17
+ '--sender-id', 493,
18
+ '--list-ids', 402704,
19
+ '--segment-ids', 147305,
20
+ '--categories', 'CAT1',
21
+ '--suppression-group-id', 3581,
22
+ '--html-content',
23
+ '<p>This is HTML</p><a href="[unsubscribe]">here</a>',
24
+ '--plain-content', 'This is PLAIN [unsubscribe]'
25
+ ]
26
+ Campaign.start(args)
27
+ end
28
+
29
+ it '#list' do
30
+ args = [
31
+ 'list',
32
+ '--api-key', ENV['API_KEY']
33
+ ]
34
+ Campaign.start(args)
35
+ end
36
+
37
+ it '#get' do
38
+ args = [
39
+ 'get',
40
+ '--api-key', ENV['API_KEY'],
41
+ '--campaign-id', 317633
42
+ ]
43
+ Campaign.start(args)
44
+ end
45
+
46
+ it '#update' do
47
+ args = [
48
+ 'update',
49
+ '--api-key', ENV['API_KEY'],
50
+ '--campaign-id', 317707,
51
+ '--title', 'cli_campaign',
52
+ '--subject', 'cli_subject',
53
+ '--sender-id', 493,
54
+ '--list-ids', 405165,
55
+ '--categories', 'CAT1',
56
+ '--suppression-group-id', 3581,
57
+ '--html-content',
58
+ '<p>This is HTML</p><a href="[unsubscribe]">here</a>',
59
+ '--plain-content', 'This is PLAIN [unsubscribe]'
60
+ ]
61
+ Campaign.start(args)
62
+ end
63
+
64
+ it '#send' do
65
+ args = [
66
+ 'send',
67
+ '--api-key', ENV['API_KEY'],
68
+ '--campaign-id', 317707
69
+ ]
70
+ Campaign.start(args)
71
+ end
72
+
73
+ it '#schedule' do
74
+ args = [
75
+ 'schedule',
76
+ '--api-key', ENV['API_KEY'],
77
+ '--campaign-id', 317769,
78
+ '--send-at', Time.now.to_i + 1800
79
+ ]
80
+ Campaign.start(args)
81
+ end
82
+
83
+ it '#reschedule' do
84
+ args = [
85
+ 'reschedule',
86
+ '--api-key', ENV['API_KEY'],
87
+ '--campaign-id', 317735,
88
+ '--send-at', Time.now.to_i
89
+ ]
90
+ Campaign.start(args)
91
+ end
92
+
93
+ it '#unschedule' do
94
+ args = [
95
+ 'unschedule',
96
+ '--api-key', ENV['API_KEY'],
97
+ '--campaign-id', 317769
98
+ ]
99
+ Campaign.start(args)
100
+ end
101
+
102
+ it '#time' do
103
+ args = [
104
+ 'time',
105
+ '--api-key', ENV['API_KEY'],
106
+ '--campaign-id', 317769
107
+ ]
108
+ Campaign.start(args)
109
+ end
110
+
111
+ it '#test' do
112
+ args = [
113
+ 'test',
114
+ '--api-key', ENV['API_KEY'],
115
+ '--campaign-id', 317769,
116
+ '--to', 'awwa500@gmail.com'
117
+ ]
118
+ Campaign.start(args)
119
+ end
120
+
121
+ it '#sender subcommand' do
122
+ args = [
123
+ 'sender'
124
+ ]
125
+ Campaign.start(args)
126
+ end
127
+
128
+ it '#contact subcommand' do
129
+ args = [
130
+ 'contact'
131
+ ]
132
+ Campaign.start(args)
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,48 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Campaign::Contact
5
+ describe CustomField do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#create' do
12
+ args = [
13
+ 'create',
14
+ '--api-key', ENV['API_KEY'],
15
+ '--name', 'cli_test',
16
+ '--type', 'text'
17
+ ]
18
+ CustomField.start(args)
19
+ end
20
+
21
+ it '#list' do
22
+ args = [
23
+ 'list',
24
+ '--api-key', ENV['API_KEY']
25
+ ]
26
+ CustomField.start(args)
27
+ end
28
+
29
+ it '#get' do
30
+ args = [
31
+ 'get',
32
+ '--api-key', ENV['API_KEY'],
33
+ '--custom-field-id', 112801
34
+ ]
35
+ CustomField.start(args)
36
+ end
37
+
38
+ it '#delete' do
39
+ args = [
40
+ 'delete',
41
+ '--api-key', ENV['API_KEY'],
42
+ '--custom-field-id', 112801
43
+ ]
44
+ CustomField.start(args)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,88 @@
1
+ # encoding: utf-8
2
+ require File.dirname(__FILE__) + '/../../../spec_helper'
3
+
4
+ module SendGrid4r::CLI::Campaign::Contact
5
+ describe List do
6
+ describe 'integration test', :it do
7
+ before do
8
+ Dotenv.load
9
+ end
10
+
11
+ it '#create' do
12
+ args = [
13
+ 'create',
14
+ '--api-key', ENV['API_KEY'],
15
+ '--name', 'cli_list'
16
+ ]
17
+ List.start(args)
18
+ end
19
+
20
+ it '#list' do
21
+ args = [
22
+ 'list',
23
+ '--api-key', ENV['API_KEY']
24
+ ]
25
+ List.start(args)
26
+ end
27
+
28
+ it '#get' do
29
+ args = [
30
+ 'get',
31
+ '--api-key', ENV['API_KEY'],
32
+ '--list-id', 402704
33
+ ]
34
+ List.start(args)
35
+ end
36
+
37
+ it '#rename' do
38
+ args = [
39
+ 'rename',
40
+ '--api-key', ENV['API_KEY'],
41
+ '--list-id', 402704,
42
+ '--name', 'cli_list_edit'
43
+ ]
44
+ List.start(args)
45
+ end
46
+
47
+ it '#delete' do
48
+ args = [
49
+ 'delete',
50
+ '--api-key', ENV['API_KEY'],
51
+ '--list-id', 402704
52
+ ]
53
+ List.start(args)
54
+ end
55
+
56
+ it '#recipient with add action' do
57
+ args = [
58
+ 'recipient', 'add',
59
+ '--api-key', ENV['API_KEY'],
60
+ '--list-id', 402704,
61
+ '--recipients', 'YXd3YTUwMEBnbWFpbC5jb20='
62
+ ]
63
+ List.start(args)
64
+ end
65
+
66
+ it '#recipient with list action' do
67
+ args = [
68
+ 'recipient', 'list',
69
+ '--api-key', ENV['API_KEY'],
70
+ '--list-id', 405165,
71
+ '--page', 1,
72
+ '--page-size', 20
73
+ ]
74
+ List.start(args)
75
+ end
76
+
77
+ it '#recipient with remove action' do
78
+ args = [
79
+ 'recipient', 'remove',
80
+ '--api-key', ENV['API_KEY'],
81
+ '--list-id', 402704,
82
+ '--recipient-id', 'YWJjQGFiYy5hYmM='
83
+ ]
84
+ List.start(args)
85
+ end
86
+ end
87
+ end
88
+ end