sendgrid-ruby 1.1.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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