sendgrid-ruby 1.1.6 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE +17 -0
  3. data/.travis.yml +1 -6
  4. data/CHANGELOG.md +6 -0
  5. data/CONTRIBUTING.md +202 -0
  6. data/Gemfile +3 -5
  7. data/LICENSE.txt +1 -1
  8. data/README.md +74 -248
  9. data/Rakefile +8 -6
  10. data/USAGE.md +4645 -0
  11. data/examples/accesssettings/accesssettings.rb +89 -0
  12. data/examples/apikeys/apikeys.rb +95 -0
  13. data/examples/asm/asm.rb +169 -0
  14. data/examples/browsers/browsers.rb +29 -0
  15. data/examples/campaigns/campaigns.rb +166 -0
  16. data/examples/categories/categories.rb +49 -0
  17. data/examples/clients/clients.rb +40 -0
  18. data/examples/contactdb/contactdb.rb +398 -0
  19. data/examples/devices/devices.rb +29 -0
  20. data/examples/geo/geo.rb +29 -0
  21. data/examples/helpers/mail/example.rb +130 -0
  22. data/examples/ips/ips.rb +167 -0
  23. data/examples/mail/mail.rb +191 -0
  24. data/examples/mailboxproviders/mailboxproviders.rb +29 -0
  25. data/examples/mailsettings/mailsettings.rb +232 -0
  26. data/examples/partnersettings/partnersettings.rb +52 -0
  27. data/examples/scopes/scopes.rb +28 -0
  28. data/examples/stats/stats.rb +29 -0
  29. data/examples/subusers/subusers.rb +182 -0
  30. data/examples/suppression/suppression.rb +186 -0
  31. data/examples/templates/templates.rb +142 -0
  32. data/examples/trackingsettings/trackingsettings.rb +123 -0
  33. data/examples/user/user.rb +256 -0
  34. data/examples/whitelabel/whitelabel.rb +323 -0
  35. data/lib/helpers/mail/README.md +14 -0
  36. data/lib/helpers/mail/mail.rb +999 -0
  37. data/lib/sendgrid-ruby.rb +33 -8
  38. data/sendgrid-ruby.gemspec +5 -17
  39. data/test/helpers/mail/test_mail.rb +122 -0
  40. data/test/test_sendgrid-ruby.rb +2016 -0
  41. metadata +42 -190
  42. data/.env_sample +0 -3
  43. data/.rspec +0 -2
  44. data/.rubocop.yml +0 -30
  45. data/FETCH_HEAD +0 -0
  46. data/Guardfile +0 -10
  47. data/example.rb +0 -41
  48. data/lib/sendgrid/client.rb +0 -62
  49. data/lib/sendgrid/exceptions.rb +0 -7
  50. data/lib/sendgrid/mail.rb +0 -182
  51. data/lib/sendgrid/recipient.rb +0 -29
  52. data/lib/sendgrid/response.rb +0 -14
  53. data/lib/sendgrid/template.rb +0 -26
  54. data/lib/sendgrid/template_mailer.rb +0 -59
  55. data/lib/sendgrid/version.rb +0 -3
  56. data/spec/lib/sendgrid/client_spec.rb +0 -87
  57. data/spec/lib/sendgrid/mail_spec.rb +0 -151
  58. data/spec/lib/sendgrid/recipient_spec.rb +0 -91
  59. data/spec/lib/sendgrid/template_mailer_spec.rb +0 -86
  60. data/spec/lib/sendgrid/template_spec.rb +0 -61
  61. data/spec/lib/sendgrid_spec.rb +0 -7
  62. data/spec/spec_helper.rb +0 -1
data/lib/sendgrid-ruby.rb CHANGED
@@ -1,8 +1,33 @@
1
- require_relative 'sendgrid/client'
2
- require_relative 'sendgrid/exceptions'
3
- require_relative 'sendgrid/recipient'
4
- require_relative 'sendgrid/template'
5
- require_relative 'sendgrid/template_mailer'
6
- require_relative 'sendgrid/mail'
7
- require_relative 'sendgrid/response'
8
- require_relative 'sendgrid/version'
1
+ # Quickly and easily access the SendGrid API.
2
+ require 'ruby_http_client'
3
+
4
+ module SendGrid
5
+ # Initialize the HTTP client
6
+ class API
7
+ attr_accessor :client
8
+ attr_reader :VERSION, :request_headers, :host, :version
9
+ # * *Args* :
10
+ # - +api_key+ -> your SendGrid API key
11
+ # - +host+ -> the base URL for the API
12
+ # - +request_headers+ -> any headers that you want to be globally applied
13
+ # - +version+ -> the version of the API you wish to access,
14
+ # currently only "v3" is supported
15
+ #
16
+ def initialize(api_key: nil, host: nil, request_headers: nil, version: nil)
17
+ @VERSION = '2.0.0'
18
+ @api_key = api_key
19
+ @host = host ? host : 'https://api.sendgrid.com'
20
+ @version = version ? version : 'v3'
21
+ @user_agent = "sendgrid/#{@VERSION};ruby"
22
+ @request_headers = JSON.parse('
23
+ {
24
+ "Authorization": "Bearer ' + @api_key + '"
25
+ }
26
+ ')
27
+
28
+ @request_headers = @request_headers.merge(request_headers) if request_headers
29
+ @client = Client.new(host: "#{@host}/#{@version}",
30
+ request_headers: @request_headers)
31
+ end
32
+ end
33
+ end
@@ -1,13 +1,12 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'sendgrid/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = 'sendgrid-ruby'
8
- spec.version = SendGrid::VERSION
9
- spec.authors = ['Robin Johnson', 'Eddie Zaneski']
10
- spec.email = 'community@sendgrid.com'
7
+ spec.version = '3.0.0'
8
+ spec.authors = ['Elmer Thomas', 'Robin Johnson', 'Eddie Zaneski']
9
+ spec.email = 'dx@sendgrid.com'
11
10
  spec.summary = 'Official SendGrid Gem'
12
11
  spec.description = 'Interact with SendGrids API in native Ruby'
13
12
  spec.homepage = 'http://github.com/sendgrid/sendgrid-ruby'
@@ -18,17 +17,6 @@ Gem::Specification.new do |spec|
18
17
  spec.test_files = spec.files.grep(/^(test|spec|features)/)
19
18
  spec.require_paths = ['lib']
20
19
 
21
- spec.add_dependency 'smtpapi', '~> 0.1'
22
- spec.add_dependency 'faraday', '~> 0.9'
23
- spec.add_dependency 'mimemagic'
24
- spec.add_development_dependency 'rake'
25
- spec.add_development_dependency 'rspec'
26
- spec.add_development_dependency 'rspec-nc'
27
- spec.add_development_dependency 'webmock'
28
- spec.add_development_dependency 'guard'
29
- spec.add_development_dependency 'guard-rspec'
30
- spec.add_development_dependency 'rubocop'
31
- spec.add_development_dependency 'guard-rubocop'
32
- spec.add_development_dependency 'ruby_gntp'
33
- spec.add_development_dependency 'bundler', '~> 1.6'
20
+ spec.add_dependency 'ruby_http_client', '~> 2.1.1'
21
+ spec.add_development_dependency 'rake', '~> 0'
34
22
  end
@@ -0,0 +1,122 @@
1
+ require_relative "../../../lib/helpers/mail/mail"
2
+ require_relative "../../../lib/sendgrid-ruby"
3
+ include SendGrid
4
+ require "json"
5
+ require 'minitest/autorun'
6
+
7
+ class TestMail < Minitest::Test
8
+ def setup
9
+ end
10
+
11
+ def test_hello_world
12
+ mail = Mail.new()
13
+ mail.from = Email.new(email: "test@example.com")
14
+ mail.subject = "Hello World from the SendGrid Ruby Library"
15
+ personalization = Personalization.new()
16
+ personalization.to = Email.new(email: "test@example.com")
17
+ mail.personalizations = personalization
18
+ mail.contents = Content.new(type: "text/plain", value: "some text here")
19
+ mail.contents = Content.new(type: "text/html", value: "<html><body>some text here</body></html>")
20
+ assert_equal(mail.to_json, JSON.parse('{"content":[{"type":"text/plain","value":"some text here"},{"type":"text/html","value":"<html><body>some text here</body></html>"}],"from":{"email":"test@example.com"},"personalizations":[{"to":[{"email":"test@example.com"}]}],"subject":"Hello World from the SendGrid Ruby Library"}'))
21
+ end
22
+
23
+ def test_kitchen_sink
24
+ mail = Mail.new()
25
+ mail.from = Email.new(email: "test@example.com")
26
+ mail.subject = "Hello World from the SendGrid Ruby Library"
27
+ personalization = Personalization.new()
28
+ personalization.to = Email.new(email: "test@example.com", name: "Example User")
29
+ personalization.to = Email.new(email: "test@example.com", name: "Example User")
30
+ personalization.cc = Email.new(email: "test@example.com", name: "Example User")
31
+ personalization.cc = Email.new(email: "test@example.com", name: "Example User")
32
+ personalization.bcc = Email.new(email: "test@example.com", name: "Example User")
33
+ personalization.bcc = Email.new(email: "test@example.com", name: "Example User")
34
+ personalization.subject = "Hello World from the Personalized SendGrid Python Library"
35
+ personalization.headers = Header.new(key: "X-Test", value: "True")
36
+ personalization.headers = Header.new(key: "X-Mock", value: "False")
37
+ personalization.substitutions = Substitution.new(key: "%name%", value: "Example User")
38
+ personalization.substitutions = Substitution.new(key: "%city%", value: "Denver")
39
+ personalization.custom_args = CustomArg.new(key: "user_id", value: "343")
40
+ personalization.custom_args = CustomArg.new(key: "type", value: "marketing")
41
+ personalization.send_at = 1443636843
42
+ mail.personalizations = personalization
43
+
44
+ personalization2 = Personalization.new()
45
+ personalization2.to = Email.new(email: "test@example.com", name: "Example User")
46
+ personalization2.to = Email.new(email: "test@example.com", name: "Example User")
47
+ personalization2.cc = Email.new(email: "test@example.com", name: "Example User")
48
+ personalization2.cc = Email.new(email: "test@example.com", name: "Example User")
49
+ personalization2.bcc = Email.new(email: "test@example.com", name: "Example User")
50
+ personalization2.bcc = Email.new(email: "test@example.com", name: "Example User")
51
+ personalization2.subject = "Hello World from the Personalized SendGrid Python Library"
52
+ personalization2.headers = Header.new(key: "X-Test", value: "True")
53
+ personalization2.headers = Header.new(key: "X-Mock", value: "False")
54
+ personalization2.substitutions = Substitution.new(key: "%name%", value: "Example User")
55
+ personalization2.substitutions = Substitution.new(key: "%city%", value: "Denver")
56
+ personalization2.custom_args = CustomArg.new(key: "user_id", value: "343")
57
+ personalization2.custom_args = CustomArg.new(key: "type", value: "marketing")
58
+ personalization2.send_at = 1443636843
59
+ mail.personalizations = personalization2
60
+
61
+ mail.contents = Content.new(type: "text/plain", value: "some text here")
62
+ mail.contents = Content.new(type: "text/html", value: "<html><body>some text here</body></html>")
63
+
64
+ attachment = Attachment.new()
65
+ attachment.content = "TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3JhcyBwdW12"
66
+ attachment.type = "application/pdf"
67
+ attachment.filename = "balance_001.pdf"
68
+ attachment.disposition = "attachment"
69
+ attachment.content_id = "Balance Sheet"
70
+
71
+ mail.attachments = attachment
72
+
73
+ attachment2 = Attachment.new()
74
+ attachment2.content = "BwdW"
75
+ attachment2.type = "image/png"
76
+ attachment2.filename = "banner.png"
77
+ attachment2.disposition = "inline"
78
+ attachment2.content_id = "Banner"
79
+ mail.attachments = attachment2
80
+
81
+ mail.template_id = "13b8f94f-bcae-4ec6-b752-70d6cb59f932"
82
+
83
+ mail.sections = Section.new(key: "%section1%", value: "Substitution Text for Section 1")
84
+ mail.sections = Section.new(key: "%section2%", value: "Substitution Text for Section 2")
85
+
86
+ mail.headers = Header.new(key: "X-Test3", value: "test3")
87
+ mail.headers = Header.new(key: "X-Test4", value: "test4")
88
+
89
+ mail.categories = Category.new(name: "May")
90
+ mail.categories = Category.new(name: "2016")
91
+
92
+ mail.custom_args = CustomArg.new(key: "campaign", value: "welcome")
93
+ mail.custom_args = CustomArg.new(key: "weekday", value: "morning")
94
+
95
+ mail.send_at = 1443636842
96
+
97
+ mail.batch_id = "sendgrid_batch_id"
98
+
99
+ mail.asm = ASM.new(group_id: 99, groups_to_display: [4,5,6,7,8])
100
+
101
+ mail.ip_pool_name = "23"
102
+
103
+ mail_settings = MailSettings.new()
104
+ mail_settings.bcc = BccSettings.new(enable: true, email: "test@example.com")
105
+ mail_settings.bypass_list_management = BypassListManagement.new(enable: true)
106
+ mail_settings.footer = Footer.new(enable: true, text: "Footer Text", html: "<html><body>Footer Text</body></html>")
107
+ mail_settings.sandbox_mode = SandBoxMode.new(enable: true)
108
+ mail_settings.spam_check = SpamCheck.new(enable: true, threshold: 1, post_to_url: "https://spamcatcher.sendgrid.com")
109
+ mail.mail_settings = mail_settings
110
+
111
+ tracking_settings = TrackingSettings.new()
112
+ tracking_settings.click_tracking = ClickTracking.new(enable: false, enable_text: false)
113
+ tracking_settings.open_tracking = OpenTracking.new(enable: true, substitution_tag: "Optional tag to replace with the open image in the body of the message")
114
+ tracking_settings.subscription_tracking = SubscriptionTracking.new(enable: true, text: "text to insert into the text/plain portion of the message", html: "html to insert into the text/html portion of the message", substitution_tag: "Optional tag to replace with the open image in the body of the message")
115
+ tracking_settings.ganalytics = Ganalytics.new(enable: true, utm_source: "some source", utm_medium: "some medium", utm_term: "some term", utm_content: "some content", utm_campaign: "some campaign")
116
+ mail.tracking_settings = tracking_settings
117
+
118
+ mail.reply_to = Email.new(email: "test@example.com")
119
+
120
+ assert_equal(mail.to_json, JSON.parse('{"asm":{"group_id":99,"groups_to_display":[4,5,6,7,8]},"attachments":[{"content":"TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQ3JhcyBwdW12","content_id":"Balance Sheet","disposition":"attachment","filename":"balance_001.pdf","type":"application/pdf"},{"content":"BwdW","content_id":"Banner","disposition":"inline","filename":"banner.png","type":"image/png"}],"batch_id":"sendgrid_batch_id","categories":["May","2016"],"content":[{"type":"text/plain","value":"some text here"},{"type":"text/html","value":"<html><body>some text here</body></html>"}],"custom_args":{"campaign":"welcome","weekday":"morning"},"from":{"email":"test@example.com"},"headers":{"X-Test3":"test3","X-Test4":"test4"},"ip_pool_name":"23","mail_settings":{"bcc":{"email":"test@example.com","enable":true},"bypass_list_management":{"enable":true},"footer":{"enable":true,"html":"<html><body>Footer Text</body></html>","text":"Footer Text"},"sandbox_mode":{"enable":true},"spam_check":{"enable":true,"post_to_url":"https://spamcatcher.sendgrid.com","threshold":1}},"personalizations":[{"bcc":[{"email":"test@example.com","name":"Example User"},{"email":"test@example.com","name":"Example User"}],"cc":[{"email":"test@example.com","name":"Example User"},{"email":"test@example.com","name":"Example User"}],"custom_args":{"type":"marketing","user_id":"343"},"headers":{"X-Mock":"False","X-Test":"True"},"send_at":1443636843,"subject":"Hello World from the Personalized SendGrid Python Library","substitutions":{"%city%":"Denver","%name%":"Example User"},"to":[{"email":"test@example.com","name":"Example User"},{"email":"test@example.com","name":"Example User"}]},{"bcc":[{"email":"test@example.com","name":"Example User"},{"email":"test@example.com","name":"Example User"}],"cc":[{"email":"test@example.com","name":"Example User"},{"email":"test@example.com","name":"Example User"}],"custom_args":{"type":"marketing","user_id":"343"},"headers":{"X-Mock":"False","X-Test":"True"},"send_at":1443636843,"subject":"Hello World from the Personalized SendGrid Python Library","substitutions":{"%city%":"Denver","%name%":"Example User"},"to":[{"email":"test@example.com","name":"Example User"},{"email":"test@example.com","name":"Example User"}]}],"reply_to":{"email":"test@example.com"},"sections":{"%section1%":"Substitution Text for Section 1","%section2%":"Substitution Text for Section 2"},"send_at":1443636842,"subject":"Hello World from the SendGrid Ruby Library","template_id":"13b8f94f-bcae-4ec6-b752-70d6cb59f932","tracking_settings":{"click_tracking":{"enable":false,"enable_text":false},"ganalytics":{"enable":true,"utm_campaign":"some campaign","utm_content":"some content","utm_medium":"some medium","utm_source":"some source","utm_term":"some term"},"open_tracking":{"enable":true,"substitution_tag":"Optional tag to replace with the open image in the body of the message"},"subscription_tracking":{"enable":true,"html":"html to insert into the text/html portion of the message","substitution_tag":"Optional tag to replace with the open image in the body of the message","text":"text to insert into the text/plain portion of the message"}}}'))
121
+ end
122
+ end
@@ -0,0 +1,2016 @@
1
+ require_relative '../lib/sendgrid-ruby.rb'
2
+ require 'ruby_http_client'
3
+ require 'minitest/autorun'
4
+
5
+ class TestAPI < Minitest::Test
6
+ def setup
7
+ if ENV['TRAVIS']
8
+ host = ENV['MOCK_HOST']
9
+ else
10
+ host = "http://localhost:4010"
11
+ end
12
+ @sg = SendGrid::API.new(api_key: "SENDGRID_API_KEY", host: host)
13
+ end
14
+
15
+ def test_init
16
+ headers = JSON.parse('
17
+ {
18
+ "X-Test": "test"
19
+ }
20
+ ')
21
+ sg = SendGrid::API.new(api_key: "SENDGRID_API_KEY", host: "https://api.test.com", request_headers: headers, version: "v3")
22
+
23
+ assert_equal("https://api.test.com", sg.host)
24
+ test_headers = JSON.parse('
25
+ {
26
+ "Authorization": "Bearer SENDGRID_API_KEY",
27
+ "X-Test": "test"
28
+ }
29
+ ')
30
+ assert_equal(test_headers, sg.request_headers)
31
+ assert_equal("v3", sg.version)
32
+ assert_equal("2.0.0", sg.VERSION)
33
+ assert_instance_of(SendGrid::Client, sg.client)
34
+ end
35
+
36
+ def test_access_settings_activity_get
37
+ params = JSON.parse('{"limit": 1}')
38
+ headers = JSON.parse('{"X-Mock": 200}')
39
+ response = @sg.client.access_settings.activity.get(query_params: params, request_headers: headers)
40
+ self.assert_equal(response.status_code, "200")
41
+ end
42
+
43
+ def test_access_settings_whitelist_post
44
+ data = JSON.parse('{
45
+ "ips": [
46
+ {
47
+ "ip": "192.168.1.1"
48
+ },
49
+ {
50
+ "ip": "192.*.*.*"
51
+ },
52
+ {
53
+ "ip": "192.168.1.3/32"
54
+ }
55
+ ]
56
+ }')
57
+ headers = JSON.parse('{"X-Mock": 201}')
58
+ response = @sg.client.access_settings.whitelist.post(request_body: data, request_headers: headers)
59
+ self.assert_equal(response.status_code, "201")
60
+ end
61
+
62
+ def test_access_settings_whitelist_get
63
+ headers = JSON.parse('{"X-Mock": 200}')
64
+ response = @sg.client.access_settings.whitelist.get(request_headers: headers)
65
+ self.assert_equal(response.status_code, "200")
66
+ end
67
+
68
+ def test_access_settings_whitelist_delete
69
+ data = JSON.parse('{
70
+ "ids": [
71
+ 1,
72
+ 2,
73
+ 3
74
+ ]
75
+ }')
76
+ headers = JSON.parse('{"X-Mock": 204}')
77
+ response = @sg.client.access_settings.whitelist.delete(request_body: data, request_headers: headers)
78
+ self.assert_equal(response.status_code, "204")
79
+ end
80
+
81
+ def test_access_settings_whitelist__rule_id__get
82
+ rule_id = "test_url_param"
83
+ headers = JSON.parse('{"X-Mock": 200}')
84
+ response = @sg.client.access_settings.whitelist._(rule_id).get(request_headers: headers)
85
+ self.assert_equal(response.status_code, "200")
86
+ end
87
+
88
+ def test_access_settings_whitelist__rule_id__delete
89
+ rule_id = "test_url_param"
90
+ headers = JSON.parse('{"X-Mock": 204}')
91
+ response = @sg.client.access_settings.whitelist._(rule_id).delete(request_headers: headers)
92
+ self.assert_equal(response.status_code, "204")
93
+ end
94
+
95
+ def test_api_keys_post
96
+ data = JSON.parse('{
97
+ "name": "My API Key",
98
+ "scopes": [
99
+ "mail.send",
100
+ "alerts.create",
101
+ "alerts.read"
102
+ ]
103
+ }')
104
+ headers = JSON.parse('{"X-Mock": 201}')
105
+ response = @sg.client.api_keys.post(request_body: data, request_headers: headers)
106
+ self.assert_equal(response.status_code, "201")
107
+ end
108
+
109
+ def test_api_keys_get
110
+ headers = JSON.parse('{"X-Mock": 200}')
111
+ response = @sg.client.api_keys.get(request_headers: headers)
112
+ self.assert_equal(response.status_code, "200")
113
+ end
114
+
115
+ def test_api_keys__api_key_id__put
116
+ data = JSON.parse('{
117
+ "name": "A New Hope",
118
+ "scopes": [
119
+ "user.profile.read",
120
+ "user.profile.update"
121
+ ]
122
+ }')
123
+ api_key_id = "test_url_param"
124
+ headers = JSON.parse('{"X-Mock": 200}')
125
+ response = @sg.client.api_keys._(api_key_id).put(request_body: data, request_headers: headers)
126
+ self.assert_equal(response.status_code, "200")
127
+ end
128
+
129
+ def test_api_keys__api_key_id__patch
130
+ data = JSON.parse('{
131
+ "name": "A New Hope"
132
+ }')
133
+ api_key_id = "test_url_param"
134
+ headers = JSON.parse('{"X-Mock": 200}')
135
+ response = @sg.client.api_keys._(api_key_id).patch(request_body: data, request_headers: headers)
136
+ self.assert_equal(response.status_code, "200")
137
+ end
138
+
139
+ def test_api_keys__api_key_id__get
140
+ api_key_id = "test_url_param"
141
+ headers = JSON.parse('{"X-Mock": 200}')
142
+ response = @sg.client.api_keys._(api_key_id).get(request_headers: headers)
143
+ self.assert_equal(response.status_code, "200")
144
+ end
145
+
146
+ def test_api_keys__api_key_id__delete
147
+ api_key_id = "test_url_param"
148
+ headers = JSON.parse('{"X-Mock": 204}')
149
+ response = @sg.client.api_keys._(api_key_id).delete(request_headers: headers)
150
+ self.assert_equal(response.status_code, "204")
151
+ end
152
+
153
+ def test_asm_groups_post
154
+ data = JSON.parse('{
155
+ "description": "A group description",
156
+ "is_default": false,
157
+ "name": "A group name"
158
+ }')
159
+ headers = JSON.parse('{"X-Mock": 200}')
160
+ response = @sg.client.asm.groups.post(request_body: data, request_headers: headers)
161
+ self.assert_equal(response.status_code, "200")
162
+ end
163
+
164
+ def test_asm_groups_get
165
+ headers = JSON.parse('{"X-Mock": 200}')
166
+ response = @sg.client.asm.groups.get(request_headers: headers)
167
+ self.assert_equal(response.status_code, "200")
168
+ end
169
+
170
+ def test_asm_groups__group_id__patch
171
+ data = JSON.parse('{
172
+ "description": "Suggestions for items our users might like.",
173
+ "id": 103,
174
+ "name": "Item Suggestions"
175
+ }')
176
+ group_id = "test_url_param"
177
+ headers = JSON.parse('{"X-Mock": 201}')
178
+ response = @sg.client.asm.groups._(group_id).patch(request_body: data, request_headers: headers)
179
+ self.assert_equal(response.status_code, "201")
180
+ end
181
+
182
+ def test_asm_groups__group_id__get
183
+ group_id = "test_url_param"
184
+ headers = JSON.parse('{"X-Mock": 200}')
185
+ response = @sg.client.asm.groups._(group_id).get(request_headers: headers)
186
+ self.assert_equal(response.status_code, "200")
187
+ end
188
+
189
+ def test_asm_groups__group_id__delete
190
+ group_id = "test_url_param"
191
+ headers = JSON.parse('{"X-Mock": 204}')
192
+ response = @sg.client.asm.groups._(group_id).delete(request_headers: headers)
193
+ self.assert_equal(response.status_code, "204")
194
+ end
195
+
196
+ def test_asm_groups__group_id__suppressions_post
197
+ data = JSON.parse('{
198
+ "recipient_emails": [
199
+ "test1@example.com",
200
+ "test2@example.com"
201
+ ]
202
+ }')
203
+ group_id = "test_url_param"
204
+ headers = JSON.parse('{"X-Mock": 201}')
205
+ response = @sg.client.asm.groups._(group_id).suppressions.post(request_body: data, request_headers: headers)
206
+ self.assert_equal(response.status_code, "201")
207
+ end
208
+
209
+ def test_asm_groups__group_id__suppressions_get
210
+ group_id = "test_url_param"
211
+ headers = JSON.parse('{"X-Mock": 200}')
212
+ response = @sg.client.asm.groups._(group_id).suppressions.get(request_headers: headers)
213
+ self.assert_equal(response.status_code, "200")
214
+ end
215
+
216
+ def test_asm_groups__group_id__suppressions__email__delete
217
+ group_id = "test_url_param"
218
+ email = "test_url_param"
219
+ headers = JSON.parse('{"X-Mock": 204}')
220
+ response = @sg.client.asm.groups._(group_id).suppressions._(email).delete(request_headers: headers)
221
+ self.assert_equal(response.status_code, "204")
222
+ end
223
+
224
+ def test_asm_suppressions_global_post
225
+ data = JSON.parse('{
226
+ "recipient_emails": [
227
+ "test1@example.com",
228
+ "test2@example.com"
229
+ ]
230
+ }')
231
+ headers = JSON.parse('{"X-Mock": 201}')
232
+ response = @sg.client.asm.suppressions.global.post(request_body: data, request_headers: headers)
233
+ self.assert_equal(response.status_code, "201")
234
+ end
235
+
236
+ def test_asm_suppressions_global__email__get
237
+ email = "test_url_param"
238
+ headers = JSON.parse('{"X-Mock": 200}')
239
+ response = @sg.client.asm.suppressions.global._(email).get(request_headers: headers)
240
+ self.assert_equal(response.status_code, "200")
241
+ end
242
+
243
+ def test_asm_suppressions_global__email__delete
244
+ email = "test_url_param"
245
+ headers = JSON.parse('{"X-Mock": 204}')
246
+ response = @sg.client.asm.suppressions.global._(email).delete(request_headers: headers)
247
+ self.assert_equal(response.status_code, "204")
248
+ end
249
+
250
+ def test_browsers_stats_get
251
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "browsers": "test_string", "limit": "test_string", "offset": "test_string", "start_date": "2016-01-01"}')
252
+ headers = JSON.parse('{"X-Mock": 200}')
253
+ response = @sg.client.browsers.stats.get(query_params: params, request_headers: headers)
254
+ self.assert_equal(response.status_code, "200")
255
+ end
256
+
257
+ def test_campaigns_post
258
+ data = JSON.parse('{
259
+ "categories": [
260
+ "spring line"
261
+ ],
262
+ "custom_unsubscribe_url": "",
263
+ "html_content": "<html><head><title></title></head><body><p>Check out our spring line!</p></body></html>",
264
+ "ip_pool": "marketing",
265
+ "list_ids": [
266
+ 110,
267
+ 124
268
+ ],
269
+ "plain_content": "Check out our spring line!",
270
+ "segment_ids": [
271
+ 110
272
+ ],
273
+ "sender_id": 124451,
274
+ "subject": "New Products for Spring!",
275
+ "suppression_group_id": 42,
276
+ "title": "March Newsletter"
277
+ }')
278
+ headers = JSON.parse('{"X-Mock": 201}')
279
+ response = @sg.client.campaigns.post(request_body: data, request_headers: headers)
280
+ self.assert_equal(response.status_code, "201")
281
+ end
282
+
283
+ def test_campaigns_get
284
+ params = JSON.parse('{"limit": 0, "offset": 0}')
285
+ headers = JSON.parse('{"X-Mock": 200}')
286
+ response = @sg.client.campaigns.get(query_params: params, request_headers: headers)
287
+ self.assert_equal(response.status_code, "200")
288
+ end
289
+
290
+ def test_campaigns__campaign_id__patch
291
+ data = JSON.parse('{
292
+ "categories": [
293
+ "summer line"
294
+ ],
295
+ "html_content": "<html><head><title></title></head><body><p>Check out our summer line!</p></body></html>",
296
+ "plain_content": "Check out our summer line!",
297
+ "subject": "New Products for Summer!",
298
+ "title": "May Newsletter"
299
+ }')
300
+ campaign_id = "test_url_param"
301
+ headers = JSON.parse('{"X-Mock": 200}')
302
+ response = @sg.client.campaigns._(campaign_id).patch(request_body: data, request_headers: headers)
303
+ self.assert_equal(response.status_code, "200")
304
+ end
305
+
306
+ def test_campaigns__campaign_id__get
307
+ campaign_id = "test_url_param"
308
+ headers = JSON.parse('{"X-Mock": 200}')
309
+ response = @sg.client.campaigns._(campaign_id).get(request_headers: headers)
310
+ self.assert_equal(response.status_code, "200")
311
+ end
312
+
313
+ def test_campaigns__campaign_id__delete
314
+ campaign_id = "test_url_param"
315
+ headers = JSON.parse('{"X-Mock": 204}')
316
+ response = @sg.client.campaigns._(campaign_id).delete(request_headers: headers)
317
+ self.assert_equal(response.status_code, "204")
318
+ end
319
+
320
+ def test_campaigns__campaign_id__schedules_patch
321
+ data = JSON.parse('{
322
+ "send_at": 1489451436
323
+ }')
324
+ campaign_id = "test_url_param"
325
+ headers = JSON.parse('{"X-Mock": 200}')
326
+ response = @sg.client.campaigns._(campaign_id).schedules.patch(request_body: data, request_headers: headers)
327
+ self.assert_equal(response.status_code, "200")
328
+ end
329
+
330
+ def test_campaigns__campaign_id__schedules_post
331
+ data = JSON.parse('{
332
+ "send_at": 1489771528
333
+ }')
334
+ campaign_id = "test_url_param"
335
+ headers = JSON.parse('{"X-Mock": 201}')
336
+ response = @sg.client.campaigns._(campaign_id).schedules.post(request_body: data, request_headers: headers)
337
+ self.assert_equal(response.status_code, "201")
338
+ end
339
+
340
+ def test_campaigns__campaign_id__schedules_get
341
+ campaign_id = "test_url_param"
342
+ headers = JSON.parse('{"X-Mock": 200}')
343
+ response = @sg.client.campaigns._(campaign_id).schedules.get(request_headers: headers)
344
+ self.assert_equal(response.status_code, "200")
345
+ end
346
+
347
+ def test_campaigns__campaign_id__schedules_delete
348
+ campaign_id = "test_url_param"
349
+ headers = JSON.parse('{"X-Mock": 204}')
350
+ response = @sg.client.campaigns._(campaign_id).schedules.delete(request_headers: headers)
351
+ self.assert_equal(response.status_code, "204")
352
+ end
353
+
354
+ def test_campaigns__campaign_id__schedules_now_post
355
+ campaign_id = "test_url_param"
356
+ headers = JSON.parse('{"X-Mock": 201}')
357
+ response = @sg.client.campaigns._(campaign_id).schedules.now.post(request_headers: headers)
358
+ self.assert_equal(response.status_code, "201")
359
+ end
360
+
361
+ def test_campaigns__campaign_id__schedules_test_post
362
+ data = JSON.parse('{
363
+ "to": "your.email@example.com"
364
+ }')
365
+ campaign_id = "test_url_param"
366
+ headers = JSON.parse('{"X-Mock": 204}')
367
+ response = @sg.client.campaigns._(campaign_id).schedules.test.post(request_body: data, request_headers: headers)
368
+ self.assert_equal(response.status_code, "204")
369
+ end
370
+
371
+ def test_categories_get
372
+ params = JSON.parse('{"category": "test_string", "limit": 1, "offset": 1}')
373
+ headers = JSON.parse('{"X-Mock": 200}')
374
+ response = @sg.client.categories.get(query_params: params, request_headers: headers)
375
+ self.assert_equal(response.status_code, "200")
376
+ end
377
+
378
+ def test_categories_stats_get
379
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01", "categories": "test_string"}')
380
+ headers = JSON.parse('{"X-Mock": 200}')
381
+ response = @sg.client.categories.stats.get(query_params: params, request_headers: headers)
382
+ self.assert_equal(response.status_code, "200")
383
+ end
384
+
385
+ def test_categories_stats_sums_get
386
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "sort_by_metric": "test_string", "offset": 1, "start_date": "2016-01-01", "sort_by_direction": "asc"}')
387
+ headers = JSON.parse('{"X-Mock": 200}')
388
+ response = @sg.client.categories.stats.sums.get(query_params: params, request_headers: headers)
389
+ self.assert_equal(response.status_code, "200")
390
+ end
391
+
392
+ def test_clients_stats_get
393
+ params = JSON.parse('{"aggregated_by": "day", "start_date": "2016-01-01", "end_date": "2016-04-01"}')
394
+ headers = JSON.parse('{"X-Mock": 200}')
395
+ response = @sg.client.clients.stats.get(query_params: params, request_headers: headers)
396
+ self.assert_equal(response.status_code, "200")
397
+ end
398
+
399
+ def test_clients__client_type__stats_get
400
+ params = JSON.parse('{"aggregated_by": "day", "start_date": "2016-01-01", "end_date": "2016-04-01"}')
401
+ client_type = "test_url_param"
402
+ headers = JSON.parse('{"X-Mock": 200}')
403
+ response = @sg.client.clients._(client_type).stats.get(query_params: params, request_headers: headers)
404
+ self.assert_equal(response.status_code, "200")
405
+ end
406
+
407
+ def test_contactdb_custom_fields_post
408
+ data = JSON.parse('{
409
+ "name": "pet",
410
+ "type": "text"
411
+ }')
412
+ headers = JSON.parse('{"X-Mock": 201}')
413
+ response = @sg.client.contactdb.custom_fields.post(request_body: data, request_headers: headers)
414
+ self.assert_equal(response.status_code, "201")
415
+ end
416
+
417
+ def test_contactdb_custom_fields_get
418
+ headers = JSON.parse('{"X-Mock": 200}')
419
+ response = @sg.client.contactdb.custom_fields.get(request_headers: headers)
420
+ self.assert_equal(response.status_code, "200")
421
+ end
422
+
423
+ def test_contactdb_custom_fields__custom_field_id__get
424
+ custom_field_id = "test_url_param"
425
+ headers = JSON.parse('{"X-Mock": 200}')
426
+ response = @sg.client.contactdb.custom_fields._(custom_field_id).get(request_headers: headers)
427
+ self.assert_equal(response.status_code, "200")
428
+ end
429
+
430
+ def test_contactdb_custom_fields__custom_field_id__delete
431
+ custom_field_id = "test_url_param"
432
+ headers = JSON.parse('{"X-Mock": 202}')
433
+ response = @sg.client.contactdb.custom_fields._(custom_field_id).delete(request_headers: headers)
434
+ self.assert_equal(response.status_code, "202")
435
+ end
436
+
437
+ def test_contactdb_lists_post
438
+ data = JSON.parse('{
439
+ "name": "your list name"
440
+ }')
441
+ headers = JSON.parse('{"X-Mock": 201}')
442
+ response = @sg.client.contactdb.lists.post(request_body: data, request_headers: headers)
443
+ self.assert_equal(response.status_code, "201")
444
+ end
445
+
446
+ def test_contactdb_lists_get
447
+ headers = JSON.parse('{"X-Mock": 200}')
448
+ response = @sg.client.contactdb.lists.get(request_headers: headers)
449
+ self.assert_equal(response.status_code, "200")
450
+ end
451
+
452
+ def test_contactdb_lists_delete
453
+ data = JSON.parse('[
454
+ 1,
455
+ 2,
456
+ 3,
457
+ 4
458
+ ]')
459
+ headers = JSON.parse('{"X-Mock": 204}')
460
+ response = @sg.client.contactdb.lists.delete(request_body: data, request_headers: headers)
461
+ self.assert_equal(response.status_code, "204")
462
+ end
463
+
464
+ def test_contactdb_lists__list_id__patch
465
+ data = JSON.parse('{
466
+ "name": "newlistname"
467
+ }')
468
+ params = JSON.parse('{"list_id": 0}')
469
+ list_id = "test_url_param"
470
+ headers = JSON.parse('{"X-Mock": 200}')
471
+ response = @sg.client.contactdb.lists._(list_id).patch(request_body: data, query_params: params, request_headers: headers)
472
+ self.assert_equal(response.status_code, "200")
473
+ end
474
+
475
+ def test_contactdb_lists__list_id__get
476
+ params = JSON.parse('{"list_id": 0}')
477
+ list_id = "test_url_param"
478
+ headers = JSON.parse('{"X-Mock": 200}')
479
+ response = @sg.client.contactdb.lists._(list_id).get(query_params: params, request_headers: headers)
480
+ self.assert_equal(response.status_code, "200")
481
+ end
482
+
483
+ def test_contactdb_lists__list_id__delete
484
+ params = JSON.parse('{"delete_contacts": "true"}')
485
+ list_id = "test_url_param"
486
+ headers = JSON.parse('{"X-Mock": 202}')
487
+ response = @sg.client.contactdb.lists._(list_id).delete(query_params: params, request_headers: headers)
488
+ self.assert_equal(response.status_code, "202")
489
+ end
490
+
491
+ def test_contactdb_lists__list_id__recipients_post
492
+ data = JSON.parse('[
493
+ "recipient_id1",
494
+ "recipient_id2"
495
+ ]')
496
+ list_id = "test_url_param"
497
+ headers = JSON.parse('{"X-Mock": 201}')
498
+ response = @sg.client.contactdb.lists._(list_id).recipients.post(request_body: data, request_headers: headers)
499
+ self.assert_equal(response.status_code, "201")
500
+ end
501
+
502
+ def test_contactdb_lists__list_id__recipients_get
503
+ params = JSON.parse('{"page": 1, "page_size": 1, "list_id": 0}')
504
+ list_id = "test_url_param"
505
+ headers = JSON.parse('{"X-Mock": 200}')
506
+ response = @sg.client.contactdb.lists._(list_id).recipients.get(query_params: params, request_headers: headers)
507
+ self.assert_equal(response.status_code, "200")
508
+ end
509
+
510
+ def test_contactdb_lists__list_id__recipients__recipient_id__post
511
+ list_id = "test_url_param"
512
+ recipient_id = "test_url_param"
513
+ headers = JSON.parse('{"X-Mock": 201}')
514
+ response = @sg.client.contactdb.lists._(list_id).recipients._(recipient_id).post(request_headers: headers)
515
+ self.assert_equal(response.status_code, "201")
516
+ end
517
+
518
+ def test_contactdb_lists__list_id__recipients__recipient_id__delete
519
+ params = JSON.parse('{"recipient_id": 0, "list_id": 0}')
520
+ list_id = "test_url_param"
521
+ recipient_id = "test_url_param"
522
+ headers = JSON.parse('{"X-Mock": 204}')
523
+ response = @sg.client.contactdb.lists._(list_id).recipients._(recipient_id).delete(query_params: params, request_headers: headers)
524
+ self.assert_equal(response.status_code, "204")
525
+ end
526
+
527
+ def test_contactdb_recipients_patch
528
+ data = JSON.parse('[
529
+ {
530
+ "email": "jones@example.com",
531
+ "first_name": "Guy",
532
+ "last_name": "Jones"
533
+ }
534
+ ]')
535
+ headers = JSON.parse('{"X-Mock": 201}')
536
+ response = @sg.client.contactdb.recipients.patch(request_body: data, request_headers: headers)
537
+ self.assert_equal(response.status_code, "201")
538
+ end
539
+
540
+ def test_contactdb_recipients_post
541
+ data = JSON.parse('[
542
+ {
543
+ "age": 25,
544
+ "email": "example@example.com",
545
+ "first_name": "",
546
+ "last_name": "User"
547
+ },
548
+ {
549
+ "age": 25,
550
+ "email": "example2@example.com",
551
+ "first_name": "Example",
552
+ "last_name": "User"
553
+ }
554
+ ]')
555
+ headers = JSON.parse('{"X-Mock": 201}')
556
+ response = @sg.client.contactdb.recipients.post(request_body: data, request_headers: headers)
557
+ self.assert_equal(response.status_code, "201")
558
+ end
559
+
560
+ def test_contactdb_recipients_get
561
+ params = JSON.parse('{"page": 1, "page_size": 1}')
562
+ headers = JSON.parse('{"X-Mock": 200}')
563
+ response = @sg.client.contactdb.recipients.get(query_params: params, request_headers: headers)
564
+ self.assert_equal(response.status_code, "200")
565
+ end
566
+
567
+ def test_contactdb_recipients_delete
568
+ data = JSON.parse('[
569
+ "recipient_id1",
570
+ "recipient_id2"
571
+ ]')
572
+ headers = JSON.parse('{"X-Mock": 200}')
573
+ response = @sg.client.contactdb.recipients.delete(request_body: data, request_headers: headers)
574
+ self.assert_equal(response.status_code, "200")
575
+ end
576
+
577
+ def test_contactdb_recipients_billable_count_get
578
+ headers = JSON.parse('{"X-Mock": 200}')
579
+ response = @sg.client.contactdb.recipients.billable_count.get(request_headers: headers)
580
+ self.assert_equal(response.status_code, "200")
581
+ end
582
+
583
+ def test_contactdb_recipients_count_get
584
+ headers = JSON.parse('{"X-Mock": 200}')
585
+ response = @sg.client.contactdb.recipients.count.get(request_headers: headers)
586
+ self.assert_equal(response.status_code, "200")
587
+ end
588
+
589
+ def test_contactdb_recipients_search_get
590
+ params = JSON.parse('{"{field_name}": "test_string"}')
591
+ headers = JSON.parse('{"X-Mock": 200}')
592
+ response = @sg.client.contactdb.recipients.search.get(query_params: params, request_headers: headers)
593
+ self.assert_equal(response.status_code, "200")
594
+ end
595
+
596
+ def test_contactdb_recipients__recipient_id__get
597
+ recipient_id = "test_url_param"
598
+ headers = JSON.parse('{"X-Mock": 200}')
599
+ response = @sg.client.contactdb.recipients._(recipient_id).get(request_headers: headers)
600
+ self.assert_equal(response.status_code, "200")
601
+ end
602
+
603
+ def test_contactdb_recipients__recipient_id__delete
604
+ recipient_id = "test_url_param"
605
+ headers = JSON.parse('{"X-Mock": 204}')
606
+ response = @sg.client.contactdb.recipients._(recipient_id).delete(request_headers: headers)
607
+ self.assert_equal(response.status_code, "204")
608
+ end
609
+
610
+ def test_contactdb_recipients__recipient_id__lists_get
611
+ recipient_id = "test_url_param"
612
+ headers = JSON.parse('{"X-Mock": 200}')
613
+ response = @sg.client.contactdb.recipients._(recipient_id).lists.get(request_headers: headers)
614
+ self.assert_equal(response.status_code, "200")
615
+ end
616
+
617
+ def test_contactdb_reserved_fields_get
618
+ headers = JSON.parse('{"X-Mock": 200}')
619
+ response = @sg.client.contactdb.reserved_fields.get(request_headers: headers)
620
+ self.assert_equal(response.status_code, "200")
621
+ end
622
+
623
+ def test_contactdb_segments_post
624
+ data = JSON.parse('{
625
+ "conditions": [
626
+ {
627
+ "and_or": "",
628
+ "field": "last_name",
629
+ "operator": "eq",
630
+ "value": "Miller"
631
+ },
632
+ {
633
+ "and_or": "and",
634
+ "field": "last_clicked",
635
+ "operator": "gt",
636
+ "value": "01/02/2015"
637
+ },
638
+ {
639
+ "and_or": "or",
640
+ "field": "clicks.campaign_identifier",
641
+ "operator": "eq",
642
+ "value": "513"
643
+ }
644
+ ],
645
+ "list_id": 4,
646
+ "name": "Last Name Miller"
647
+ }')
648
+ headers = JSON.parse('{"X-Mock": 200}')
649
+ response = @sg.client.contactdb.segments.post(request_body: data, request_headers: headers)
650
+ self.assert_equal(response.status_code, "200")
651
+ end
652
+
653
+ def test_contactdb_segments_get
654
+ headers = JSON.parse('{"X-Mock": 200}')
655
+ response = @sg.client.contactdb.segments.get(request_headers: headers)
656
+ self.assert_equal(response.status_code, "200")
657
+ end
658
+
659
+ def test_contactdb_segments__segment_id__patch
660
+ data = JSON.parse('{
661
+ "conditions": [
662
+ {
663
+ "and_or": "",
664
+ "field": "last_name",
665
+ "operator": "eq",
666
+ "value": "Miller"
667
+ }
668
+ ],
669
+ "list_id": 5,
670
+ "name": "The Millers"
671
+ }')
672
+ params = JSON.parse('{"segment_id": "test_string"}')
673
+ segment_id = "test_url_param"
674
+ headers = JSON.parse('{"X-Mock": 200}')
675
+ response = @sg.client.contactdb.segments._(segment_id).patch(request_body: data, query_params: params, request_headers: headers)
676
+ self.assert_equal(response.status_code, "200")
677
+ end
678
+
679
+ def test_contactdb_segments__segment_id__get
680
+ params = JSON.parse('{"segment_id": 0}')
681
+ segment_id = "test_url_param"
682
+ headers = JSON.parse('{"X-Mock": 200}')
683
+ response = @sg.client.contactdb.segments._(segment_id).get(query_params: params, request_headers: headers)
684
+ self.assert_equal(response.status_code, "200")
685
+ end
686
+
687
+ def test_contactdb_segments__segment_id__delete
688
+ params = JSON.parse('{"delete_contacts": "true"}')
689
+ segment_id = "test_url_param"
690
+ headers = JSON.parse('{"X-Mock": 204}')
691
+ response = @sg.client.contactdb.segments._(segment_id).delete(query_params: params, request_headers: headers)
692
+ self.assert_equal(response.status_code, "204")
693
+ end
694
+
695
+ def test_contactdb_segments__segment_id__recipients_get
696
+ params = JSON.parse('{"page": 1, "page_size": 1}')
697
+ segment_id = "test_url_param"
698
+ headers = JSON.parse('{"X-Mock": 200}')
699
+ response = @sg.client.contactdb.segments._(segment_id).recipients.get(query_params: params, request_headers: headers)
700
+ self.assert_equal(response.status_code, "200")
701
+ end
702
+
703
+ def test_devices_stats_get
704
+ params = JSON.parse('{"aggregated_by": "day", "limit": 1, "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": 1}')
705
+ headers = JSON.parse('{"X-Mock": 200}')
706
+ response = @sg.client.devices.stats.get(query_params: params, request_headers: headers)
707
+ self.assert_equal(response.status_code, "200")
708
+ end
709
+
710
+ def test_geo_stats_get
711
+ params = JSON.parse('{"end_date": "2016-04-01", "country": "US", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01"}')
712
+ headers = JSON.parse('{"X-Mock": 200}')
713
+ response = @sg.client.geo.stats.get(query_params: params, request_headers: headers)
714
+ self.assert_equal(response.status_code, "200")
715
+ end
716
+
717
+ def test_ips_get
718
+ params = JSON.parse('{"subuser": "test_string", "ip": "test_string", "limit": 1, "exclude_whitelabels": "true", "offset": 1}')
719
+ headers = JSON.parse('{"X-Mock": 200}')
720
+ response = @sg.client.ips.get(query_params: params, request_headers: headers)
721
+ self.assert_equal(response.status_code, "200")
722
+ end
723
+
724
+ def test_ips_assigned_get
725
+ headers = JSON.parse('{"X-Mock": 200}')
726
+ response = @sg.client.ips.assigned.get(request_headers: headers)
727
+ self.assert_equal(response.status_code, "200")
728
+ end
729
+
730
+ def test_ips_pools_post
731
+ data = JSON.parse('{
732
+ "name": "marketing"
733
+ }')
734
+ headers = JSON.parse('{"X-Mock": 200}')
735
+ response = @sg.client.ips.pools.post(request_body: data, request_headers: headers)
736
+ self.assert_equal(response.status_code, "200")
737
+ end
738
+
739
+ def test_ips_pools_get
740
+ headers = JSON.parse('{"X-Mock": 200}')
741
+ response = @sg.client.ips.pools.get(request_headers: headers)
742
+ self.assert_equal(response.status_code, "200")
743
+ end
744
+
745
+ def test_ips_pools__pool_name__put
746
+ data = JSON.parse('{
747
+ "name": "new_pool_name"
748
+ }')
749
+ pool_name = "test_url_param"
750
+ headers = JSON.parse('{"X-Mock": 200}')
751
+ response = @sg.client.ips.pools._(pool_name).put(request_body: data, request_headers: headers)
752
+ self.assert_equal(response.status_code, "200")
753
+ end
754
+
755
+ def test_ips_pools__pool_name__get
756
+ pool_name = "test_url_param"
757
+ headers = JSON.parse('{"X-Mock": 200}')
758
+ response = @sg.client.ips.pools._(pool_name).get(request_headers: headers)
759
+ self.assert_equal(response.status_code, "200")
760
+ end
761
+
762
+ def test_ips_pools__pool_name__delete
763
+ pool_name = "test_url_param"
764
+ headers = JSON.parse('{"X-Mock": 204}')
765
+ response = @sg.client.ips.pools._(pool_name).delete(request_headers: headers)
766
+ self.assert_equal(response.status_code, "204")
767
+ end
768
+
769
+ def test_ips_pools__pool_name__ips_post
770
+ data = JSON.parse('{
771
+ "ip": "0.0.0.0"
772
+ }')
773
+ pool_name = "test_url_param"
774
+ headers = JSON.parse('{"X-Mock": 201}')
775
+ response = @sg.client.ips.pools._(pool_name).ips.post(request_body: data, request_headers: headers)
776
+ self.assert_equal(response.status_code, "201")
777
+ end
778
+
779
+ def test_ips_pools__pool_name__ips__ip__delete
780
+ pool_name = "test_url_param"
781
+ ip = "test_url_param"
782
+ headers = JSON.parse('{"X-Mock": 204}')
783
+ response = @sg.client.ips.pools._(pool_name).ips._(ip).delete(request_headers: headers)
784
+ self.assert_equal(response.status_code, "204")
785
+ end
786
+
787
+ def test_ips_warmup_post
788
+ data = JSON.parse('{
789
+ "ip": "0.0.0.0"
790
+ }')
791
+ headers = JSON.parse('{"X-Mock": 200}')
792
+ response = @sg.client.ips.warmup.post(request_body: data, request_headers: headers)
793
+ self.assert_equal(response.status_code, "200")
794
+ end
795
+
796
+ def test_ips_warmup_get
797
+ headers = JSON.parse('{"X-Mock": 200}')
798
+ response = @sg.client.ips.warmup.get(request_headers: headers)
799
+ self.assert_equal(response.status_code, "200")
800
+ end
801
+
802
+ def test_ips_warmup__ip_address__get
803
+ ip_address = "test_url_param"
804
+ headers = JSON.parse('{"X-Mock": 200}')
805
+ response = @sg.client.ips.warmup._(ip_address).get(request_headers: headers)
806
+ self.assert_equal(response.status_code, "200")
807
+ end
808
+
809
+ def test_ips_warmup__ip_address__delete
810
+ ip_address = "test_url_param"
811
+ headers = JSON.parse('{"X-Mock": 204}')
812
+ response = @sg.client.ips.warmup._(ip_address).delete(request_headers: headers)
813
+ self.assert_equal(response.status_code, "204")
814
+ end
815
+
816
+ def test_ips__ip_address__get
817
+ ip_address = "test_url_param"
818
+ headers = JSON.parse('{"X-Mock": 200}')
819
+ response = @sg.client.ips._(ip_address).get(request_headers: headers)
820
+ self.assert_equal(response.status_code, "200")
821
+ end
822
+
823
+ def test_mail_batch_post
824
+ headers = JSON.parse('{"X-Mock": 201}')
825
+ response = @sg.client.mail.batch.post(request_headers: headers)
826
+ self.assert_equal(response.status_code, "201")
827
+ end
828
+
829
+ def test_mail_batch__batch_id__get
830
+ batch_id = "test_url_param"
831
+ headers = JSON.parse('{"X-Mock": 200}')
832
+ response = @sg.client.mail.batch._(batch_id).get(request_headers: headers)
833
+ self.assert_equal(response.status_code, "200")
834
+ end
835
+
836
+ def test_mail_send_beta_post
837
+ data = JSON.parse('{
838
+ "asm": {
839
+ "group_id": 1,
840
+ "groups_to_display": [
841
+ 1,
842
+ 2,
843
+ 3
844
+ ]
845
+ },
846
+ "attachments": [
847
+ {
848
+ "content": "[BASE64 encoded content block here]",
849
+ "content_id": "ii_139db99fdb5c3704",
850
+ "disposition": "inline",
851
+ "filename": "file1.jpg",
852
+ "name": "file1",
853
+ "type": "jpg"
854
+ }
855
+ ],
856
+ "batch_id": "[YOUR BATCH ID GOES HERE]",
857
+ "categories": [
858
+ "category1",
859
+ "category2"
860
+ ],
861
+ "content": [
862
+ {
863
+ "type": "text/html",
864
+ "value": "<html><p>Hello, world!</p><img src=[CID GOES HERE]></img></html>"
865
+ }
866
+ ],
867
+ "custom_args": {
868
+ "New Argument 1": "New Value 1",
869
+ "activationAttempt": "1",
870
+ "customerAccountNumber": "[CUSTOMER ACCOUNT NUMBER GOES HERE]"
871
+ },
872
+ "from": {
873
+ "email": "sam.smith@example.com",
874
+ "name": "Sam Smith"
875
+ },
876
+ "headers": {},
877
+ "ip_pool_name": "[YOUR POOL NAME GOES HERE]",
878
+ "mail_settings": {
879
+ "bcc": {
880
+ "email": "ben.doe@example.com",
881
+ "enable": true
882
+ },
883
+ "bypass_list_management": {
884
+ "enable": true
885
+ },
886
+ "footer": {
887
+ "enable": true,
888
+ "html": "<p>Thanks</br>The SendGrid Team</p>",
889
+ "text": "Thanks,/n The SendGrid Team"
890
+ },
891
+ "sandbox_mode": {
892
+ "enable": false
893
+ },
894
+ "spam_check": {
895
+ "enable": true,
896
+ "post_to_url": "http://example.com/compliance",
897
+ "threshold": 3
898
+ }
899
+ },
900
+ "personalizations": [
901
+ {
902
+ "bcc": [
903
+ {
904
+ "email": "sam.doe@example.com",
905
+ "name": "Sam Doe"
906
+ }
907
+ ],
908
+ "cc": [
909
+ {
910
+ "email": "jane.doe@example.com",
911
+ "name": "Jane Doe"
912
+ }
913
+ ],
914
+ "custom_args": {
915
+ "New Argument 1": "New Value 1",
916
+ "activationAttempt": "1",
917
+ "customerAccountNumber": "[CUSTOMER ACCOUNT NUMBER GOES HERE]"
918
+ },
919
+ "headers": {
920
+ "X-Accept-Language": "en",
921
+ "X-Mailer": "MyApp"
922
+ },
923
+ "send_at": 1409348513,
924
+ "subject": "Hello, World!",
925
+ "substitutions": {
926
+ "sub": {
927
+ "%name%": [
928
+ "John",
929
+ "Jane",
930
+ "Sam"
931
+ ]
932
+ }
933
+ },
934
+ "to": [
935
+ {
936
+ "email": "john.doe@example.com",
937
+ "name": "John Doe"
938
+ }
939
+ ]
940
+ }
941
+ ],
942
+ "reply_to": {
943
+ "email": "sam.smith@example.com",
944
+ "name": "Sam Smith"
945
+ },
946
+ "sections": {
947
+ "section": {
948
+ ":sectionName1": "section 1 text",
949
+ ":sectionName2": "section 2 text"
950
+ }
951
+ },
952
+ "send_at": 1409348513,
953
+ "subject": "Hello, World!",
954
+ "template_id": "[YOUR TEMPLATE ID GOES HERE]",
955
+ "tracking_settings": {
956
+ "click_tracking": {
957
+ "enable": true,
958
+ "enable_text": true
959
+ },
960
+ "ganalytics": {
961
+ "enable": true,
962
+ "utm_campaign": "[NAME OF YOUR REFERRER SOURCE]",
963
+ "utm_content": "[USE THIS SPACE TO DIFFERENTIATE YOUR EMAIL FROM ADS]",
964
+ "utm_medium": "[NAME OF YOUR MARKETING MEDIUM e.g. email]",
965
+ "utm_name": "[NAME OF YOUR CAMPAIGN]",
966
+ "utm_term": "[IDENTIFY PAID KEYWORDS HERE]"
967
+ },
968
+ "open_tracking": {
969
+ "enable": true,
970
+ "substitution_tag": "%opentrack"
971
+ },
972
+ "subscription_tracking": {
973
+ "enable": true,
974
+ "html": "If you would like to unsubscribe and stop receiving these emails <% clickhere %>.",
975
+ "substitution_tag": "<%click here%>",
976
+ "text": "If you would like to unsubscribe and stop receiveing these emails <% click here %>."
977
+ }
978
+ }
979
+ }')
980
+ headers = JSON.parse('{"X-Mock": 202}')
981
+ response = @sg.client.mail._("send").beta.post(request_body: data, request_headers: headers)
982
+ self.assert_equal(response.status_code, "202")
983
+ end
984
+
985
+ def test_mail_settings_get
986
+ params = JSON.parse('{"limit": 1, "offset": 1}')
987
+ headers = JSON.parse('{"X-Mock": 200}')
988
+ response = @sg.client.mail_settings.get(query_params: params, request_headers: headers)
989
+ self.assert_equal(response.status_code, "200")
990
+ end
991
+
992
+ def test_mail_settings_address_whitelist_patch
993
+ data = JSON.parse('{
994
+ "enabled": true,
995
+ "list": [
996
+ "email1@example.com",
997
+ "example.com"
998
+ ]
999
+ }')
1000
+ headers = JSON.parse('{"X-Mock": 200}')
1001
+ response = @sg.client.mail_settings.address_whitelist.patch(request_body: data, request_headers: headers)
1002
+ self.assert_equal(response.status_code, "200")
1003
+ end
1004
+
1005
+ def test_mail_settings_address_whitelist_get
1006
+ headers = JSON.parse('{"X-Mock": 200}')
1007
+ response = @sg.client.mail_settings.address_whitelist.get(request_headers: headers)
1008
+ self.assert_equal(response.status_code, "200")
1009
+ end
1010
+
1011
+ def test_mail_settings_bcc_patch
1012
+ data = JSON.parse('{
1013
+ "email": "email@example.com",
1014
+ "enabled": false
1015
+ }')
1016
+ headers = JSON.parse('{"X-Mock": 200}')
1017
+ response = @sg.client.mail_settings.bcc.patch(request_body: data, request_headers: headers)
1018
+ self.assert_equal(response.status_code, "200")
1019
+ end
1020
+
1021
+ def test_mail_settings_bcc_get
1022
+ headers = JSON.parse('{"X-Mock": 200}')
1023
+ response = @sg.client.mail_settings.bcc.get(request_headers: headers)
1024
+ self.assert_equal(response.status_code, "200")
1025
+ end
1026
+
1027
+ def test_mail_settings_bounce_purge_patch
1028
+ data = JSON.parse('{
1029
+ "enabled": true,
1030
+ "hard_bounces": 5,
1031
+ "soft_bounces": 5
1032
+ }')
1033
+ headers = JSON.parse('{"X-Mock": 200}')
1034
+ response = @sg.client.mail_settings.bounce_purge.patch(request_body: data, request_headers: headers)
1035
+ self.assert_equal(response.status_code, "200")
1036
+ end
1037
+
1038
+ def test_mail_settings_bounce_purge_get
1039
+ headers = JSON.parse('{"X-Mock": 200}')
1040
+ response = @sg.client.mail_settings.bounce_purge.get(request_headers: headers)
1041
+ self.assert_equal(response.status_code, "200")
1042
+ end
1043
+
1044
+ def test_mail_settings_footer_patch
1045
+ data = JSON.parse('{
1046
+ "enabled": true,
1047
+ "html_content": "...",
1048
+ "plain_content": "..."
1049
+ }')
1050
+ headers = JSON.parse('{"X-Mock": 200}')
1051
+ response = @sg.client.mail_settings.footer.patch(request_body: data, request_headers: headers)
1052
+ self.assert_equal(response.status_code, "200")
1053
+ end
1054
+
1055
+ def test_mail_settings_footer_get
1056
+ headers = JSON.parse('{"X-Mock": 200}')
1057
+ response = @sg.client.mail_settings.footer.get(request_headers: headers)
1058
+ self.assert_equal(response.status_code, "200")
1059
+ end
1060
+
1061
+ def test_mail_settings_forward_bounce_patch
1062
+ data = JSON.parse('{
1063
+ "email": "example@example.com",
1064
+ "enabled": true
1065
+ }')
1066
+ headers = JSON.parse('{"X-Mock": 200}')
1067
+ response = @sg.client.mail_settings.forward_bounce.patch(request_body: data, request_headers: headers)
1068
+ self.assert_equal(response.status_code, "200")
1069
+ end
1070
+
1071
+ def test_mail_settings_forward_bounce_get
1072
+ headers = JSON.parse('{"X-Mock": 200}')
1073
+ response = @sg.client.mail_settings.forward_bounce.get(request_headers: headers)
1074
+ self.assert_equal(response.status_code, "200")
1075
+ end
1076
+
1077
+ def test_mail_settings_forward_spam_patch
1078
+ data = JSON.parse('{
1079
+ "email": "",
1080
+ "enabled": false
1081
+ }')
1082
+ headers = JSON.parse('{"X-Mock": 200}')
1083
+ response = @sg.client.mail_settings.forward_spam.patch(request_body: data, request_headers: headers)
1084
+ self.assert_equal(response.status_code, "200")
1085
+ end
1086
+
1087
+ def test_mail_settings_forward_spam_get
1088
+ headers = JSON.parse('{"X-Mock": 200}')
1089
+ response = @sg.client.mail_settings.forward_spam.get(request_headers: headers)
1090
+ self.assert_equal(response.status_code, "200")
1091
+ end
1092
+
1093
+ def test_mail_settings_plain_content_patch
1094
+ data = JSON.parse('{
1095
+ "enabled": false
1096
+ }')
1097
+ headers = JSON.parse('{"X-Mock": 200}')
1098
+ response = @sg.client.mail_settings.plain_content.patch(request_body: data, request_headers: headers)
1099
+ self.assert_equal(response.status_code, "200")
1100
+ end
1101
+
1102
+ def test_mail_settings_plain_content_get
1103
+ headers = JSON.parse('{"X-Mock": 200}')
1104
+ response = @sg.client.mail_settings.plain_content.get(request_headers: headers)
1105
+ self.assert_equal(response.status_code, "200")
1106
+ end
1107
+
1108
+ def test_mail_settings_spam_check_patch
1109
+ data = JSON.parse('{
1110
+ "enabled": true,
1111
+ "max_score": 5,
1112
+ "url": "url"
1113
+ }')
1114
+ headers = JSON.parse('{"X-Mock": 200}')
1115
+ response = @sg.client.mail_settings.spam_check.patch(request_body: data, request_headers: headers)
1116
+ self.assert_equal(response.status_code, "200")
1117
+ end
1118
+
1119
+ def test_mail_settings_spam_check_get
1120
+ headers = JSON.parse('{"X-Mock": 200}')
1121
+ response = @sg.client.mail_settings.spam_check.get(request_headers: headers)
1122
+ self.assert_equal(response.status_code, "200")
1123
+ end
1124
+
1125
+ def test_mail_settings_template_patch
1126
+ data = JSON.parse('{
1127
+ "enabled": true,
1128
+ "html_content": "<% body %>"
1129
+ }')
1130
+ headers = JSON.parse('{"X-Mock": 200}')
1131
+ response = @sg.client.mail_settings.template.patch(request_body: data, request_headers: headers)
1132
+ self.assert_equal(response.status_code, "200")
1133
+ end
1134
+
1135
+ def test_mail_settings_template_get
1136
+ headers = JSON.parse('{"X-Mock": 200}')
1137
+ response = @sg.client.mail_settings.template.get(request_headers: headers)
1138
+ self.assert_equal(response.status_code, "200")
1139
+ end
1140
+
1141
+ def test_mailbox_providers_stats_get
1142
+ params = JSON.parse('{"end_date": "2016-04-01", "mailbox_providers": "test_string", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01"}')
1143
+ headers = JSON.parse('{"X-Mock": 200}')
1144
+ response = @sg.client.mailbox_providers.stats.get(query_params: params, request_headers: headers)
1145
+ self.assert_equal(response.status_code, "200")
1146
+ end
1147
+
1148
+ def test_partner_settings_get
1149
+ params = JSON.parse('{"limit": 1, "offset": 1}')
1150
+ headers = JSON.parse('{"X-Mock": 200}')
1151
+ response = @sg.client.partner_settings.get(query_params: params, request_headers: headers)
1152
+ self.assert_equal(response.status_code, "200")
1153
+ end
1154
+
1155
+ def test_partner_settings_new_relic_patch
1156
+ data = JSON.parse('{
1157
+ "enable_subuser_statistics": true,
1158
+ "enabled": true,
1159
+ "license_key": ""
1160
+ }')
1161
+ headers = JSON.parse('{"X-Mock": 200}')
1162
+ response = @sg.client.partner_settings.new_relic.patch(request_body: data, request_headers: headers)
1163
+ self.assert_equal(response.status_code, "200")
1164
+ end
1165
+
1166
+ def test_partner_settings_new_relic_get
1167
+ headers = JSON.parse('{"X-Mock": 200}')
1168
+ response = @sg.client.partner_settings.new_relic.get(request_headers: headers)
1169
+ self.assert_equal(response.status_code, "200")
1170
+ end
1171
+
1172
+ def test_scopes_get
1173
+ headers = JSON.parse('{"X-Mock": 200}')
1174
+ response = @sg.client.scopes.get(request_headers: headers)
1175
+ self.assert_equal(response.status_code, "200")
1176
+ end
1177
+
1178
+ def test_stats_get
1179
+ params = JSON.parse('{"aggregated_by": "day", "limit": 1, "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": 1}')
1180
+ headers = JSON.parse('{"X-Mock": 200}')
1181
+ response = @sg.client.stats.get(query_params: params, request_headers: headers)
1182
+ self.assert_equal(response.status_code, "200")
1183
+ end
1184
+
1185
+ def test_subusers_post
1186
+ data = JSON.parse('{
1187
+ "email": "John@example.com",
1188
+ "ips": [
1189
+ "1.1.1.1",
1190
+ "2.2.2.2"
1191
+ ],
1192
+ "password": "johns_password",
1193
+ "username": "John@example.com"
1194
+ }')
1195
+ headers = JSON.parse('{"X-Mock": 200}')
1196
+ response = @sg.client.subusers.post(request_body: data, request_headers: headers)
1197
+ self.assert_equal(response.status_code, "200")
1198
+ end
1199
+
1200
+ def test_subusers_get
1201
+ params = JSON.parse('{"username": "test_string", "limit": 0, "offset": 0}')
1202
+ headers = JSON.parse('{"X-Mock": 200}')
1203
+ response = @sg.client.subusers.get(query_params: params, request_headers: headers)
1204
+ self.assert_equal(response.status_code, "200")
1205
+ end
1206
+
1207
+ def test_subusers_reputations_get
1208
+ params = JSON.parse('{"usernames": "test_string"}')
1209
+ headers = JSON.parse('{"X-Mock": 200}')
1210
+ response = @sg.client.subusers.reputations.get(query_params: params, request_headers: headers)
1211
+ self.assert_equal(response.status_code, "200")
1212
+ end
1213
+
1214
+ def test_subusers_stats_get
1215
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "offset": 1, "start_date": "2016-01-01", "subusers": "test_string"}')
1216
+ headers = JSON.parse('{"X-Mock": 200}')
1217
+ response = @sg.client.subusers.stats.get(query_params: params, request_headers: headers)
1218
+ self.assert_equal(response.status_code, "200")
1219
+ end
1220
+
1221
+ def test_subusers_stats_monthly_get
1222
+ params = JSON.parse('{"subuser": "test_string", "limit": 1, "sort_by_metric": "test_string", "offset": 1, "date": "test_string", "sort_by_direction": "asc"}')
1223
+ headers = JSON.parse('{"X-Mock": 200}')
1224
+ response = @sg.client.subusers.stats.monthly.get(query_params: params, request_headers: headers)
1225
+ self.assert_equal(response.status_code, "200")
1226
+ end
1227
+
1228
+ def test_subusers_stats_sums_get
1229
+ params = JSON.parse('{"end_date": "2016-04-01", "aggregated_by": "day", "limit": 1, "sort_by_metric": "test_string", "offset": 1, "start_date": "2016-01-01", "sort_by_direction": "asc"}')
1230
+ headers = JSON.parse('{"X-Mock": 200}')
1231
+ response = @sg.client.subusers.stats.sums.get(query_params: params, request_headers: headers)
1232
+ self.assert_equal(response.status_code, "200")
1233
+ end
1234
+
1235
+ def test_subusers__subuser_name__patch
1236
+ data = JSON.parse('{
1237
+ "disabled": false
1238
+ }')
1239
+ subuser_name = "test_url_param"
1240
+ headers = JSON.parse('{"X-Mock": 204}')
1241
+ response = @sg.client.subusers._(subuser_name).patch(request_body: data, request_headers: headers)
1242
+ self.assert_equal(response.status_code, "204")
1243
+ end
1244
+
1245
+ def test_subusers__subuser_name__delete
1246
+ subuser_name = "test_url_param"
1247
+ headers = JSON.parse('{"X-Mock": 204}')
1248
+ response = @sg.client.subusers._(subuser_name).delete(request_headers: headers)
1249
+ self.assert_equal(response.status_code, "204")
1250
+ end
1251
+
1252
+ def test_subusers__subuser_name__ips_put
1253
+ data = JSON.parse('[
1254
+ "127.0.0.1"
1255
+ ]')
1256
+ subuser_name = "test_url_param"
1257
+ headers = JSON.parse('{"X-Mock": 200}')
1258
+ response = @sg.client.subusers._(subuser_name).ips.put(request_body: data, request_headers: headers)
1259
+ self.assert_equal(response.status_code, "200")
1260
+ end
1261
+
1262
+ def test_subusers__subuser_name__monitor_put
1263
+ data = JSON.parse('{
1264
+ "email": "example@example.com",
1265
+ "frequency": 500
1266
+ }')
1267
+ subuser_name = "test_url_param"
1268
+ headers = JSON.parse('{"X-Mock": 200}')
1269
+ response = @sg.client.subusers._(subuser_name).monitor.put(request_body: data, request_headers: headers)
1270
+ self.assert_equal(response.status_code, "200")
1271
+ end
1272
+
1273
+ def test_subusers__subuser_name__monitor_post
1274
+ data = JSON.parse('{
1275
+ "email": "example@example.com",
1276
+ "frequency": 50000
1277
+ }')
1278
+ subuser_name = "test_url_param"
1279
+ headers = JSON.parse('{"X-Mock": 200}')
1280
+ response = @sg.client.subusers._(subuser_name).monitor.post(request_body: data, request_headers: headers)
1281
+ self.assert_equal(response.status_code, "200")
1282
+ end
1283
+
1284
+ def test_subusers__subuser_name__monitor_get
1285
+ subuser_name = "test_url_param"
1286
+ headers = JSON.parse('{"X-Mock": 200}')
1287
+ response = @sg.client.subusers._(subuser_name).monitor.get(request_headers: headers)
1288
+ self.assert_equal(response.status_code, "200")
1289
+ end
1290
+
1291
+ def test_subusers__subuser_name__monitor_delete
1292
+ subuser_name = "test_url_param"
1293
+ headers = JSON.parse('{"X-Mock": 204}')
1294
+ response = @sg.client.subusers._(subuser_name).monitor.delete(request_headers: headers)
1295
+ self.assert_equal(response.status_code, "204")
1296
+ end
1297
+
1298
+ def test_subusers__subuser_name__stats_monthly_get
1299
+ params = JSON.parse('{"date": "test_string", "sort_by_direction": "asc", "limit": 0, "sort_by_metric": "test_string", "offset": 1}')
1300
+ subuser_name = "test_url_param"
1301
+ headers = JSON.parse('{"X-Mock": 200}')
1302
+ response = @sg.client.subusers._(subuser_name).stats.monthly.get(query_params: params, request_headers: headers)
1303
+ self.assert_equal(response.status_code, "200")
1304
+ end
1305
+
1306
+ def test_suppression_blocks_get
1307
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1308
+ headers = JSON.parse('{"X-Mock": 200}')
1309
+ response = @sg.client.suppression.blocks.get(query_params: params, request_headers: headers)
1310
+ self.assert_equal(response.status_code, "200")
1311
+ end
1312
+
1313
+ def test_suppression_blocks_delete
1314
+ data = JSON.parse('{
1315
+ "delete_all": false,
1316
+ "emails": [
1317
+ "example1@example.com",
1318
+ "example2@example.com"
1319
+ ]
1320
+ }')
1321
+ headers = JSON.parse('{"X-Mock": 204}')
1322
+ response = @sg.client.suppression.blocks.delete(request_body: data, request_headers: headers)
1323
+ self.assert_equal(response.status_code, "204")
1324
+ end
1325
+
1326
+ def test_suppression_blocks__email__get
1327
+ email = "test_url_param"
1328
+ headers = JSON.parse('{"X-Mock": 200}')
1329
+ response = @sg.client.suppression.blocks._(email).get(request_headers: headers)
1330
+ self.assert_equal(response.status_code, "200")
1331
+ end
1332
+
1333
+ def test_suppression_blocks__email__delete
1334
+ email = "test_url_param"
1335
+ headers = JSON.parse('{"X-Mock": 204}')
1336
+ response = @sg.client.suppression.blocks._(email).delete(request_headers: headers)
1337
+ self.assert_equal(response.status_code, "204")
1338
+ end
1339
+
1340
+ def test_suppression_bounces_get
1341
+ params = JSON.parse('{"start_time": 0, "end_time": 0}')
1342
+ headers = JSON.parse('{"X-Mock": 200}')
1343
+ response = @sg.client.suppression.bounces.get(query_params: params, request_headers: headers)
1344
+ self.assert_equal(response.status_code, "200")
1345
+ end
1346
+
1347
+ def test_suppression_bounces_delete
1348
+ data = JSON.parse('{
1349
+ "delete_all": true,
1350
+ "emails": [
1351
+ "example@example.com",
1352
+ "example2@example.com"
1353
+ ]
1354
+ }')
1355
+ headers = JSON.parse('{"X-Mock": 204}')
1356
+ response = @sg.client.suppression.bounces.delete(request_body: data, request_headers: headers)
1357
+ self.assert_equal(response.status_code, "204")
1358
+ end
1359
+
1360
+ def test_suppression_bounces__email__get
1361
+ email = "test_url_param"
1362
+ headers = JSON.parse('{"X-Mock": 200}')
1363
+ response = @sg.client.suppression.bounces._(email).get(request_headers: headers)
1364
+ self.assert_equal(response.status_code, "200")
1365
+ end
1366
+
1367
+ def test_suppression_bounces__email__delete
1368
+ params = JSON.parse('{"email_address": "example@example.com"}')
1369
+ email = "test_url_param"
1370
+ headers = JSON.parse('{"X-Mock": 204}')
1371
+ response = @sg.client.suppression.bounces._(email).delete(query_params: params, request_headers: headers)
1372
+ self.assert_equal(response.status_code, "204")
1373
+ end
1374
+
1375
+ def test_suppression_invalid_emails_get
1376
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1377
+ headers = JSON.parse('{"X-Mock": 200}')
1378
+ response = @sg.client.suppression.invalid_emails.get(query_params: params, request_headers: headers)
1379
+ self.assert_equal(response.status_code, "200")
1380
+ end
1381
+
1382
+ def test_suppression_invalid_emails_delete
1383
+ data = JSON.parse('{
1384
+ "delete_all": false,
1385
+ "emails": [
1386
+ "example1@example.com",
1387
+ "example2@example.com"
1388
+ ]
1389
+ }')
1390
+ headers = JSON.parse('{"X-Mock": 204}')
1391
+ response = @sg.client.suppression.invalid_emails.delete(request_body: data, request_headers: headers)
1392
+ self.assert_equal(response.status_code, "204")
1393
+ end
1394
+
1395
+ def test_suppression_invalid_emails__email__get
1396
+ email = "test_url_param"
1397
+ headers = JSON.parse('{"X-Mock": 200}')
1398
+ response = @sg.client.suppression.invalid_emails._(email).get(request_headers: headers)
1399
+ self.assert_equal(response.status_code, "200")
1400
+ end
1401
+
1402
+ def test_suppression_invalid_emails__email__delete
1403
+ email = "test_url_param"
1404
+ headers = JSON.parse('{"X-Mock": 204}')
1405
+ response = @sg.client.suppression.invalid_emails._(email).delete(request_headers: headers)
1406
+ self.assert_equal(response.status_code, "204")
1407
+ end
1408
+
1409
+ def test_suppression_spam_report__email__get
1410
+ email = "test_url_param"
1411
+ headers = JSON.parse('{"X-Mock": 200}')
1412
+ response = @sg.client.suppression.spam_report._(email).get(request_headers: headers)
1413
+ self.assert_equal(response.status_code, "200")
1414
+ end
1415
+
1416
+ def test_suppression_spam_report__email__delete
1417
+ email = "test_url_param"
1418
+ headers = JSON.parse('{"X-Mock": 204}')
1419
+ response = @sg.client.suppression.spam_report._(email).delete(request_headers: headers)
1420
+ self.assert_equal(response.status_code, "204")
1421
+ end
1422
+
1423
+ def test_suppression_spam_reports_get
1424
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1425
+ headers = JSON.parse('{"X-Mock": 200}')
1426
+ response = @sg.client.suppression.spam_reports.get(query_params: params, request_headers: headers)
1427
+ self.assert_equal(response.status_code, "200")
1428
+ end
1429
+
1430
+ def test_suppression_spam_reports_delete
1431
+ data = JSON.parse('{
1432
+ "delete_all": false,
1433
+ "emails": [
1434
+ "example1@example.com",
1435
+ "example2@example.com"
1436
+ ]
1437
+ }')
1438
+ headers = JSON.parse('{"X-Mock": 204}')
1439
+ response = @sg.client.suppression.spam_reports.delete(request_body: data, request_headers: headers)
1440
+ self.assert_equal(response.status_code, "204")
1441
+ end
1442
+
1443
+ def test_suppression_unsubscribes_get
1444
+ params = JSON.parse('{"start_time": 1, "limit": 1, "end_time": 1, "offset": 1}')
1445
+ headers = JSON.parse('{"X-Mock": 200}')
1446
+ response = @sg.client.suppression.unsubscribes.get(query_params: params, request_headers: headers)
1447
+ self.assert_equal(response.status_code, "200")
1448
+ end
1449
+
1450
+ def test_templates_post
1451
+ data = JSON.parse('{
1452
+ "name": "example_name"
1453
+ }')
1454
+ headers = JSON.parse('{"X-Mock": 201}')
1455
+ response = @sg.client.templates.post(request_body: data, request_headers: headers)
1456
+ self.assert_equal(response.status_code, "201")
1457
+ end
1458
+
1459
+ def test_templates_get
1460
+ headers = JSON.parse('{"X-Mock": 200}')
1461
+ response = @sg.client.templates.get(request_headers: headers)
1462
+ self.assert_equal(response.status_code, "200")
1463
+ end
1464
+
1465
+ def test_templates__template_id__patch
1466
+ data = JSON.parse('{
1467
+ "name": "new_example_name"
1468
+ }')
1469
+ template_id = "test_url_param"
1470
+ headers = JSON.parse('{"X-Mock": 200}')
1471
+ response = @sg.client.templates._(template_id).patch(request_body: data, request_headers: headers)
1472
+ self.assert_equal(response.status_code, "200")
1473
+ end
1474
+
1475
+ def test_templates__template_id__get
1476
+ template_id = "test_url_param"
1477
+ headers = JSON.parse('{"X-Mock": 200}')
1478
+ response = @sg.client.templates._(template_id).get(request_headers: headers)
1479
+ self.assert_equal(response.status_code, "200")
1480
+ end
1481
+
1482
+ def test_templates__template_id__delete
1483
+ template_id = "test_url_param"
1484
+ headers = JSON.parse('{"X-Mock": 204}')
1485
+ response = @sg.client.templates._(template_id).delete(request_headers: headers)
1486
+ self.assert_equal(response.status_code, "204")
1487
+ end
1488
+
1489
+ def test_templates__template_id__versions_post
1490
+ data = JSON.parse('{
1491
+ "active": 1,
1492
+ "html_content": "<%body%>",
1493
+ "name": "example_version_name",
1494
+ "plain_content": "<%body%>",
1495
+ "subject": "<%subject%>",
1496
+ "template_id": "ddb96bbc-9b92-425e-8979-99464621b543"
1497
+ }')
1498
+ template_id = "test_url_param"
1499
+ headers = JSON.parse('{"X-Mock": 201}')
1500
+ response = @sg.client.templates._(template_id).versions.post(request_body: data, request_headers: headers)
1501
+ self.assert_equal(response.status_code, "201")
1502
+ end
1503
+
1504
+ def test_templates__template_id__versions__version_id__patch
1505
+ data = JSON.parse('{
1506
+ "active": 1,
1507
+ "html_content": "<%body%>",
1508
+ "name": "updated_example_name",
1509
+ "plain_content": "<%body%>",
1510
+ "subject": "<%subject%>"
1511
+ }')
1512
+ template_id = "test_url_param"
1513
+ version_id = "test_url_param"
1514
+ headers = JSON.parse('{"X-Mock": 200}')
1515
+ response = @sg.client.templates._(template_id).versions._(version_id).patch(request_body: data, request_headers: headers)
1516
+ self.assert_equal(response.status_code, "200")
1517
+ end
1518
+
1519
+ def test_templates__template_id__versions__version_id__get
1520
+ template_id = "test_url_param"
1521
+ version_id = "test_url_param"
1522
+ headers = JSON.parse('{"X-Mock": 200}')
1523
+ response = @sg.client.templates._(template_id).versions._(version_id).get(request_headers: headers)
1524
+ self.assert_equal(response.status_code, "200")
1525
+ end
1526
+
1527
+ def test_templates__template_id__versions__version_id__delete
1528
+ template_id = "test_url_param"
1529
+ version_id = "test_url_param"
1530
+ headers = JSON.parse('{"X-Mock": 204}')
1531
+ response = @sg.client.templates._(template_id).versions._(version_id).delete(request_headers: headers)
1532
+ self.assert_equal(response.status_code, "204")
1533
+ end
1534
+
1535
+ def test_templates__template_id__versions__version_id__activate_post
1536
+ template_id = "test_url_param"
1537
+ version_id = "test_url_param"
1538
+ headers = JSON.parse('{"X-Mock": 200}')
1539
+ response = @sg.client.templates._(template_id).versions._(version_id).activate.post(request_headers: headers)
1540
+ self.assert_equal(response.status_code, "200")
1541
+ end
1542
+
1543
+ def test_tracking_settings_get
1544
+ params = JSON.parse('{"limit": 1, "offset": 1}')
1545
+ headers = JSON.parse('{"X-Mock": 200}')
1546
+ response = @sg.client.tracking_settings.get(query_params: params, request_headers: headers)
1547
+ self.assert_equal(response.status_code, "200")
1548
+ end
1549
+
1550
+ def test_tracking_settings_click_patch
1551
+ data = JSON.parse('{
1552
+ "enabled": true
1553
+ }')
1554
+ headers = JSON.parse('{"X-Mock": 200}')
1555
+ response = @sg.client.tracking_settings.click.patch(request_body: data, request_headers: headers)
1556
+ self.assert_equal(response.status_code, "200")
1557
+ end
1558
+
1559
+ def test_tracking_settings_click_get
1560
+ headers = JSON.parse('{"X-Mock": 200}')
1561
+ response = @sg.client.tracking_settings.click.get(request_headers: headers)
1562
+ self.assert_equal(response.status_code, "200")
1563
+ end
1564
+
1565
+ def test_tracking_settings_google_analytics_patch
1566
+ data = JSON.parse('{
1567
+ "enabled": true,
1568
+ "utm_campaign": "website",
1569
+ "utm_content": "",
1570
+ "utm_medium": "email",
1571
+ "utm_source": "sendgrid.com",
1572
+ "utm_term": ""
1573
+ }')
1574
+ headers = JSON.parse('{"X-Mock": 200}')
1575
+ response = @sg.client.tracking_settings.google_analytics.patch(request_body: data, request_headers: headers)
1576
+ self.assert_equal(response.status_code, "200")
1577
+ end
1578
+
1579
+ def test_tracking_settings_google_analytics_get
1580
+ headers = JSON.parse('{"X-Mock": 200}')
1581
+ response = @sg.client.tracking_settings.google_analytics.get(request_headers: headers)
1582
+ self.assert_equal(response.status_code, "200")
1583
+ end
1584
+
1585
+ def test_tracking_settings_open_patch
1586
+ data = JSON.parse('{
1587
+ "enabled": true
1588
+ }')
1589
+ headers = JSON.parse('{"X-Mock": 200}')
1590
+ response = @sg.client.tracking_settings.open.patch(request_body: data, request_headers: headers)
1591
+ self.assert_equal(response.status_code, "200")
1592
+ end
1593
+
1594
+ def test_tracking_settings_open_get
1595
+ headers = JSON.parse('{"X-Mock": 200}')
1596
+ response = @sg.client.tracking_settings.open.get(request_headers: headers)
1597
+ self.assert_equal(response.status_code, "200")
1598
+ end
1599
+
1600
+ def test_tracking_settings_subscription_patch
1601
+ data = JSON.parse('{
1602
+ "enabled": true,
1603
+ "html_content": "html content",
1604
+ "landing": "landing page html",
1605
+ "plain_content": "text content",
1606
+ "replace": "replacement tag",
1607
+ "url": "url"
1608
+ }')
1609
+ headers = JSON.parse('{"X-Mock": 200}')
1610
+ response = @sg.client.tracking_settings.subscription.patch(request_body: data, request_headers: headers)
1611
+ self.assert_equal(response.status_code, "200")
1612
+ end
1613
+
1614
+ def test_tracking_settings_subscription_get
1615
+ headers = JSON.parse('{"X-Mock": 200}')
1616
+ response = @sg.client.tracking_settings.subscription.get(request_headers: headers)
1617
+ self.assert_equal(response.status_code, "200")
1618
+ end
1619
+
1620
+ def test_user_account_get
1621
+ headers = JSON.parse('{"X-Mock": 200}')
1622
+ response = @sg.client.user.account.get(request_headers: headers)
1623
+ self.assert_equal(response.status_code, "200")
1624
+ end
1625
+
1626
+ def test_user_credits_get
1627
+ headers = JSON.parse('{"X-Mock": 200}')
1628
+ response = @sg.client.user.credits.get(request_headers: headers)
1629
+ self.assert_equal(response.status_code, "200")
1630
+ end
1631
+
1632
+ def test_user_email_put
1633
+ data = JSON.parse('{
1634
+ "email": "example@example.com"
1635
+ }')
1636
+ headers = JSON.parse('{"X-Mock": 200}')
1637
+ response = @sg.client.user.email.put(request_body: data, request_headers: headers)
1638
+ self.assert_equal(response.status_code, "200")
1639
+ end
1640
+
1641
+ def test_user_email_get
1642
+ headers = JSON.parse('{"X-Mock": 200}')
1643
+ response = @sg.client.user.email.get(request_headers: headers)
1644
+ self.assert_equal(response.status_code, "200")
1645
+ end
1646
+
1647
+ def test_user_password_put
1648
+ data = JSON.parse('{
1649
+ "new_password": "new_password",
1650
+ "old_password": "old_password"
1651
+ }')
1652
+ headers = JSON.parse('{"X-Mock": 200}')
1653
+ response = @sg.client.user.password.put(request_body: data, request_headers: headers)
1654
+ self.assert_equal(response.status_code, "200")
1655
+ end
1656
+
1657
+ def test_user_profile_patch
1658
+ data = JSON.parse('{
1659
+ "city": "Orange",
1660
+ "first_name": "Example",
1661
+ "last_name": "User"
1662
+ }')
1663
+ headers = JSON.parse('{"X-Mock": 200}')
1664
+ response = @sg.client.user.profile.patch(request_body: data, request_headers: headers)
1665
+ self.assert_equal(response.status_code, "200")
1666
+ end
1667
+
1668
+ def test_user_profile_get
1669
+ headers = JSON.parse('{"X-Mock": 200}')
1670
+ response = @sg.client.user.profile.get(request_headers: headers)
1671
+ self.assert_equal(response.status_code, "200")
1672
+ end
1673
+
1674
+ def test_user_scheduled_sends_post
1675
+ data = JSON.parse('{
1676
+ "batch_id": "YOUR_BATCH_ID",
1677
+ "status": "pause"
1678
+ }')
1679
+ headers = JSON.parse('{"X-Mock": 201}')
1680
+ response = @sg.client.user.scheduled_sends.post(request_body: data, request_headers: headers)
1681
+ self.assert_equal(response.status_code, "201")
1682
+ end
1683
+
1684
+ def test_user_scheduled_sends_get
1685
+ headers = JSON.parse('{"X-Mock": 200}')
1686
+ response = @sg.client.user.scheduled_sends.get(request_headers: headers)
1687
+ self.assert_equal(response.status_code, "200")
1688
+ end
1689
+
1690
+ def test_user_scheduled_sends__batch_id__patch
1691
+ data = JSON.parse('{
1692
+ "status": "pause"
1693
+ }')
1694
+ batch_id = "test_url_param"
1695
+ headers = JSON.parse('{"X-Mock": 204}')
1696
+ response = @sg.client.user.scheduled_sends._(batch_id).patch(request_body: data, request_headers: headers)
1697
+ self.assert_equal(response.status_code, "204")
1698
+ end
1699
+
1700
+ def test_user_scheduled_sends__batch_id__get
1701
+ batch_id = "test_url_param"
1702
+ headers = JSON.parse('{"X-Mock": 200}')
1703
+ response = @sg.client.user.scheduled_sends._(batch_id).get(request_headers: headers)
1704
+ self.assert_equal(response.status_code, "200")
1705
+ end
1706
+
1707
+ def test_user_scheduled_sends__batch_id__delete
1708
+ batch_id = "test_url_param"
1709
+ headers = JSON.parse('{"X-Mock": 204}')
1710
+ response = @sg.client.user.scheduled_sends._(batch_id).delete(request_headers: headers)
1711
+ self.assert_equal(response.status_code, "204")
1712
+ end
1713
+
1714
+ def test_user_settings_enforced_tls_patch
1715
+ data = JSON.parse('{
1716
+ "require_tls": true,
1717
+ "require_valid_cert": false
1718
+ }')
1719
+ headers = JSON.parse('{"X-Mock": 200}')
1720
+ response = @sg.client.user.settings.enforced_tls.patch(request_body: data, request_headers: headers)
1721
+ self.assert_equal(response.status_code, "200")
1722
+ end
1723
+
1724
+ def test_user_settings_enforced_tls_get
1725
+ headers = JSON.parse('{"X-Mock": 200}')
1726
+ response = @sg.client.user.settings.enforced_tls.get(request_headers: headers)
1727
+ self.assert_equal(response.status_code, "200")
1728
+ end
1729
+
1730
+ def test_user_username_put
1731
+ data = JSON.parse('{
1732
+ "username": "test_username"
1733
+ }')
1734
+ headers = JSON.parse('{"X-Mock": 200}')
1735
+ response = @sg.client.user.username.put(request_body: data, request_headers: headers)
1736
+ self.assert_equal(response.status_code, "200")
1737
+ end
1738
+
1739
+ def test_user_username_get
1740
+ headers = JSON.parse('{"X-Mock": 200}')
1741
+ response = @sg.client.user.username.get(request_headers: headers)
1742
+ self.assert_equal(response.status_code, "200")
1743
+ end
1744
+
1745
+ def test_user_webhooks_event_settings_patch
1746
+ data = JSON.parse('{
1747
+ "bounce": true,
1748
+ "click": true,
1749
+ "deferred": true,
1750
+ "delivered": true,
1751
+ "dropped": true,
1752
+ "enabled": true,
1753
+ "group_resubscribe": true,
1754
+ "group_unsubscribe": true,
1755
+ "open": true,
1756
+ "processed": true,
1757
+ "spam_report": true,
1758
+ "unsubscribe": true,
1759
+ "url": "url"
1760
+ }')
1761
+ headers = JSON.parse('{"X-Mock": 200}')
1762
+ response = @sg.client.user.webhooks.event.settings.patch(request_body: data, request_headers: headers)
1763
+ self.assert_equal(response.status_code, "200")
1764
+ end
1765
+
1766
+ def test_user_webhooks_event_settings_get
1767
+ headers = JSON.parse('{"X-Mock": 200}')
1768
+ response = @sg.client.user.webhooks.event.settings.get(request_headers: headers)
1769
+ self.assert_equal(response.status_code, "200")
1770
+ end
1771
+
1772
+ def test_user_webhooks_event_test_post
1773
+ data = JSON.parse('{
1774
+ "url": "url"
1775
+ }')
1776
+ headers = JSON.parse('{"X-Mock": 204}')
1777
+ response = @sg.client.user.webhooks.event.test.post(request_body: data, request_headers: headers)
1778
+ self.assert_equal(response.status_code, "204")
1779
+ end
1780
+
1781
+ def test_user_webhooks_parse_settings_get
1782
+ headers = JSON.parse('{"X-Mock": 200}')
1783
+ response = @sg.client.user.webhooks.parse.settings.get(request_headers: headers)
1784
+ self.assert_equal(response.status_code, "200")
1785
+ end
1786
+
1787
+ def test_user_webhooks_parse_stats_get
1788
+ params = JSON.parse('{"aggregated_by": "day", "limit": "test_string", "start_date": "2016-01-01", "end_date": "2016-04-01", "offset": "test_string"}')
1789
+ headers = JSON.parse('{"X-Mock": 200}')
1790
+ response = @sg.client.user.webhooks.parse.stats.get(query_params: params, request_headers: headers)
1791
+ self.assert_equal(response.status_code, "200")
1792
+ end
1793
+
1794
+ def test_whitelabel_domains_post
1795
+ data = JSON.parse('{
1796
+ "automatic_security": false,
1797
+ "custom_spf": true,
1798
+ "default": true,
1799
+ "domain": "example.com",
1800
+ "ips": [
1801
+ "192.168.1.1",
1802
+ "192.168.1.2"
1803
+ ],
1804
+ "subdomain": "news",
1805
+ "username": "john@example.com"
1806
+ }')
1807
+ headers = JSON.parse('{"X-Mock": 201}')
1808
+ response = @sg.client.whitelabel.domains.post(request_body: data, request_headers: headers)
1809
+ self.assert_equal(response.status_code, "201")
1810
+ end
1811
+
1812
+ def test_whitelabel_domains_get
1813
+ params = JSON.parse('{"username": "test_string", "domain": "test_string", "exclude_subusers": "true", "limit": 1, "offset": 1}')
1814
+ headers = JSON.parse('{"X-Mock": 200}')
1815
+ response = @sg.client.whitelabel.domains.get(query_params: params, request_headers: headers)
1816
+ self.assert_equal(response.status_code, "200")
1817
+ end
1818
+
1819
+ def test_whitelabel_domains_default_get
1820
+ headers = JSON.parse('{"X-Mock": 200}')
1821
+ response = @sg.client.whitelabel.domains.default.get(request_headers: headers)
1822
+ self.assert_equal(response.status_code, "200")
1823
+ end
1824
+
1825
+ def test_whitelabel_domains_subuser_get
1826
+ headers = JSON.parse('{"X-Mock": 200}')
1827
+ response = @sg.client.whitelabel.domains.subuser.get(request_headers: headers)
1828
+ self.assert_equal(response.status_code, "200")
1829
+ end
1830
+
1831
+ def test_whitelabel_domains_subuser_delete
1832
+ headers = JSON.parse('{"X-Mock": 204}')
1833
+ response = @sg.client.whitelabel.domains.subuser.delete(request_headers: headers)
1834
+ self.assert_equal(response.status_code, "204")
1835
+ end
1836
+
1837
+ def test_whitelabel_domains__domain_id__patch
1838
+ data = JSON.parse('{
1839
+ "custom_spf": true,
1840
+ "default": false
1841
+ }')
1842
+ domain_id = "test_url_param"
1843
+ headers = JSON.parse('{"X-Mock": 200}')
1844
+ response = @sg.client.whitelabel.domains._(domain_id).patch(request_body: data, request_headers: headers)
1845
+ self.assert_equal(response.status_code, "200")
1846
+ end
1847
+
1848
+ def test_whitelabel_domains__domain_id__get
1849
+ domain_id = "test_url_param"
1850
+ headers = JSON.parse('{"X-Mock": 200}')
1851
+ response = @sg.client.whitelabel.domains._(domain_id).get(request_headers: headers)
1852
+ self.assert_equal(response.status_code, "200")
1853
+ end
1854
+
1855
+ def test_whitelabel_domains__domain_id__delete
1856
+ domain_id = "test_url_param"
1857
+ headers = JSON.parse('{"X-Mock": 204}')
1858
+ response = @sg.client.whitelabel.domains._(domain_id).delete(request_headers: headers)
1859
+ self.assert_equal(response.status_code, "204")
1860
+ end
1861
+
1862
+ def test_whitelabel_domains__domain_id__subuser_post
1863
+ data = JSON.parse('{
1864
+ "username": "jane@example.com"
1865
+ }')
1866
+ domain_id = "test_url_param"
1867
+ headers = JSON.parse('{"X-Mock": 201}')
1868
+ response = @sg.client.whitelabel.domains._(domain_id).subuser.post(request_body: data, request_headers: headers)
1869
+ self.assert_equal(response.status_code, "201")
1870
+ end
1871
+
1872
+ def test_whitelabel_domains__id__ips_post
1873
+ data = JSON.parse('{
1874
+ "ip": "192.168.0.1"
1875
+ }')
1876
+ id = "test_url_param"
1877
+ headers = JSON.parse('{"X-Mock": 200}')
1878
+ response = @sg.client.whitelabel.domains._(id).ips.post(request_body: data, request_headers: headers)
1879
+ self.assert_equal(response.status_code, "200")
1880
+ end
1881
+
1882
+ def test_whitelabel_domains__id__ips__ip__delete
1883
+ id = "test_url_param"
1884
+ ip = "test_url_param"
1885
+ headers = JSON.parse('{"X-Mock": 200}')
1886
+ response = @sg.client.whitelabel.domains._(id).ips._(ip).delete(request_headers: headers)
1887
+ self.assert_equal(response.status_code, "200")
1888
+ end
1889
+
1890
+ def test_whitelabel_domains__id__validate_post
1891
+ id = "test_url_param"
1892
+ headers = JSON.parse('{"X-Mock": 200}')
1893
+ response = @sg.client.whitelabel.domains._(id).validate.post(request_headers: headers)
1894
+ self.assert_equal(response.status_code, "200")
1895
+ end
1896
+
1897
+ def test_whitelabel_ips_post
1898
+ data = JSON.parse('{
1899
+ "domain": "example.com",
1900
+ "ip": "192.168.1.1",
1901
+ "subdomain": "email"
1902
+ }')
1903
+ headers = JSON.parse('{"X-Mock": 201}')
1904
+ response = @sg.client.whitelabel.ips.post(request_body: data, request_headers: headers)
1905
+ self.assert_equal(response.status_code, "201")
1906
+ end
1907
+
1908
+ def test_whitelabel_ips_get
1909
+ params = JSON.parse('{"ip": "test_string", "limit": 1, "offset": 1}')
1910
+ headers = JSON.parse('{"X-Mock": 200}')
1911
+ response = @sg.client.whitelabel.ips.get(query_params: params, request_headers: headers)
1912
+ self.assert_equal(response.status_code, "200")
1913
+ end
1914
+
1915
+ def test_whitelabel_ips__id__get
1916
+ id = "test_url_param"
1917
+ headers = JSON.parse('{"X-Mock": 200}')
1918
+ response = @sg.client.whitelabel.ips._(id).get(request_headers: headers)
1919
+ self.assert_equal(response.status_code, "200")
1920
+ end
1921
+
1922
+ def test_whitelabel_ips__id__delete
1923
+ id = "test_url_param"
1924
+ headers = JSON.parse('{"X-Mock": 204}')
1925
+ response = @sg.client.whitelabel.ips._(id).delete(request_headers: headers)
1926
+ self.assert_equal(response.status_code, "204")
1927
+ end
1928
+
1929
+ def test_whitelabel_ips__id__validate_post
1930
+ id = "test_url_param"
1931
+ headers = JSON.parse('{"X-Mock": 200}')
1932
+ response = @sg.client.whitelabel.ips._(id).validate.post(request_headers: headers)
1933
+ self.assert_equal(response.status_code, "200")
1934
+ end
1935
+
1936
+ def test_whitelabel_links_post
1937
+ data = JSON.parse('{
1938
+ "default": true,
1939
+ "domain": "example.com",
1940
+ "subdomain": "mail"
1941
+ }')
1942
+ params = JSON.parse('{"limit": 1, "offset": 1}')
1943
+ headers = JSON.parse('{"X-Mock": 201}')
1944
+ response = @sg.client.whitelabel.links.post(request_body: data, query_params: params, request_headers: headers)
1945
+ self.assert_equal(response.status_code, "201")
1946
+ end
1947
+
1948
+ def test_whitelabel_links_get
1949
+ params = JSON.parse('{"limit": 1}')
1950
+ headers = JSON.parse('{"X-Mock": 200}')
1951
+ response = @sg.client.whitelabel.links.get(query_params: params, request_headers: headers)
1952
+ self.assert_equal(response.status_code, "200")
1953
+ end
1954
+
1955
+ def test_whitelabel_links_default_get
1956
+ params = JSON.parse('{"domain": "test_string"}')
1957
+ headers = JSON.parse('{"X-Mock": 200}')
1958
+ response = @sg.client.whitelabel.links.default.get(query_params: params, request_headers: headers)
1959
+ self.assert_equal(response.status_code, "200")
1960
+ end
1961
+
1962
+ def test_whitelabel_links_subuser_get
1963
+ params = JSON.parse('{"username": "test_string"}')
1964
+ headers = JSON.parse('{"X-Mock": 200}')
1965
+ response = @sg.client.whitelabel.links.subuser.get(query_params: params, request_headers: headers)
1966
+ self.assert_equal(response.status_code, "200")
1967
+ end
1968
+
1969
+ def test_whitelabel_links_subuser_delete
1970
+ params = JSON.parse('{"username": "test_string"}')
1971
+ headers = JSON.parse('{"X-Mock": 204}')
1972
+ response = @sg.client.whitelabel.links.subuser.delete(query_params: params, request_headers: headers)
1973
+ self.assert_equal(response.status_code, "204")
1974
+ end
1975
+
1976
+ def test_whitelabel_links__id__patch
1977
+ data = JSON.parse('{
1978
+ "default": true
1979
+ }')
1980
+ id = "test_url_param"
1981
+ headers = JSON.parse('{"X-Mock": 200}')
1982
+ response = @sg.client.whitelabel.links._(id).patch(request_body: data, request_headers: headers)
1983
+ self.assert_equal(response.status_code, "200")
1984
+ end
1985
+
1986
+ def test_whitelabel_links__id__get
1987
+ id = "test_url_param"
1988
+ headers = JSON.parse('{"X-Mock": 200}')
1989
+ response = @sg.client.whitelabel.links._(id).get(request_headers: headers)
1990
+ self.assert_equal(response.status_code, "200")
1991
+ end
1992
+
1993
+ def test_whitelabel_links__id__delete
1994
+ id = "test_url_param"
1995
+ headers = JSON.parse('{"X-Mock": 204}')
1996
+ response = @sg.client.whitelabel.links._(id).delete(request_headers: headers)
1997
+ self.assert_equal(response.status_code, "204")
1998
+ end
1999
+
2000
+ def test_whitelabel_links__id__validate_post
2001
+ id = "test_url_param"
2002
+ headers = JSON.parse('{"X-Mock": 200}')
2003
+ response = @sg.client.whitelabel.links._(id).validate.post(request_headers: headers)
2004
+ self.assert_equal(response.status_code, "200")
2005
+ end
2006
+
2007
+ def test_whitelabel_links__link_id__subuser_post
2008
+ data = JSON.parse('{
2009
+ "username": "jane@example.com"
2010
+ }')
2011
+ link_id = "test_url_param"
2012
+ headers = JSON.parse('{"X-Mock": 200}')
2013
+ response = @sg.client.whitelabel.links._(link_id).subuser.post(request_body: data, request_headers: headers)
2014
+ self.assert_equal(response.status_code, "200")
2015
+ end
2016
+ end