fuelsdk 0.0.1

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.
data/spec/rest_spec.rb ADDED
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+ describe FuelSDK::Rest do
3
+ let(:client) { FuelSDK::ET_Client.new }
4
+
5
+ subject { client }
6
+ it { should respond_to(:rest_get) }
7
+ it { should respond_to(:rest_client) }
8
+ it { should respond_to(:complete_url) }
9
+
10
+ describe '#complete_url' do
11
+ it 'raises an exception when identities are missing' do
12
+ expect { client.complete_url "some_url/%{parent}/%{child}", {parent: 1} }.to raise_exception 'key{child} not found to complete some_url/%{parent}/%{child}'
13
+ end
14
+
15
+ it 'returns url with all identities replaced' do
16
+ expect( client.complete_url "some_url/%{parent}/%{child}", {:parent => 1, :child => 2} ).to eq 'some_url/1/2'
17
+ end
18
+
19
+ it 'handles identities with string keys' do
20
+ expect( client.complete_url "some_url/%{parent}/%{child}", {'parent'=> 1, 'child'=> 2} ).to eq 'some_url/1/2'
21
+ end
22
+
23
+ it 'treats empty values as optional keys' do
24
+ expect( client.complete_url "some_url/%{parent}/%{child}", {'parent'=> 1, 'child'=> ''} ).to eq 'some_url/1'
25
+ end
26
+
27
+ it 'handles extra keys' do
28
+ expect( client.complete_url "some_url/%{parent}/%{child}", {'parent'=> 1, 'child'=> '', 'other' => 1} ).to eq 'some_url/1'
29
+ end
30
+ end
31
+
32
+ describe '#get_url_properties' do
33
+ it 'returns hash of properties in format string' do
34
+ expect( client.get_url_properties "some_url/%{parent}/%{child}", {'parent'=> 1, 'child'=> '', 'other' => 1} ).to eq({'parent' => 1, 'child' => ''})
35
+ end
36
+
37
+ it 'handles missing url properties' do
38
+ expect( client.get_url_properties "some_url/%{parent}/%{child}", {'parent'=> 1, 'other' => 1} ).to eq({'parent' => 1})
39
+ end
40
+
41
+ it 'remaining properties are query params' do
42
+ properties = {'parent'=> 1, 'other' => 1}
43
+ client.get_url_properties "some_url/%{parent}/%{child}", properties
44
+ expect(properties).to eq 'other' => 1
45
+ end
46
+ end
47
+
48
+ end
data/spec/soap_spec.rb ADDED
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe FuelSDK::Soap do
4
+
5
+ let(:client) { FuelSDK::ET_Client.new }
6
+
7
+ subject { client }
8
+
9
+ it { should respond_to(:soap_get) }
10
+ it { should respond_to(:soap_post) }
11
+
12
+ it { should respond_to(:header) }
13
+ it { should_not respond_to(:header=) }
14
+
15
+ it { should respond_to(:wsdl) }
16
+ it { should respond_to(:wsdl=) }
17
+
18
+ it { should respond_to(:endpoint) }
19
+ it { should_not respond_to(:endpoint=) }
20
+
21
+ it { should respond_to(:soap_client) }
22
+
23
+ its(:debug) { should be_false }
24
+ its(:wsdl) { should eq 'https://webservice.exacttarget.com/etframework.wsdl' }
25
+
26
+ describe '#header' do
27
+ it 'raises an exception when internal_token is missing' do
28
+ expect { client.header }.to raise_exception 'Require legacy token for soap header'
29
+ end
30
+
31
+ it 'returns header hash' do
32
+ client.internal_token = 'innerspace'
33
+ expect(client.header).to eq(
34
+ {
35
+ 'oAuth' => { 'oAuthToken' => 'innerspace' },
36
+ :attributes! => {
37
+ 'oAuth' => { 'xmlns' => 'http://exacttarget.com' }
38
+ }
39
+ }
40
+ )
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,14 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'fuelsdk'
5
+
6
+ RSpec.configure do |config|
7
+ config.mock_with :rspec
8
+
9
+ # Use color in STDOUT
10
+ config.color_enabled = true
11
+
12
+ # Use the specified formatter
13
+ config.formatter = :documentation
14
+ end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ describe FuelSDK::Targeting do
4
+
5
+ subject { Class.new.new.extend(FuelSDK::Targeting) }
6
+
7
+ it { should respond_to(:endpoint) }
8
+ it { should_not respond_to(:endpoint=) }
9
+ it { should respond_to(:determine_stack) }
10
+ it { should respond_to(:get) }
11
+ it { should respond_to(:post) }
12
+ it { should respond_to(:patch) }
13
+ it { should respond_to(:delete) }
14
+ it { should respond_to(:access_token) }
15
+
16
+ describe '#determine_stack' do
17
+ let(:client) { c = Class.new.new.extend(FuelSDK::Targeting)
18
+ c.stub(:access_token).and_return('open_sesame')
19
+ c.stub(:get)
20
+ .with('https://www.exacttargetapis.com/platform/v1/endpoints/soap',{'params'=>{'access_token'=>'open_sesame'}})
21
+ .and_return({'url' => 'S#.authentication.target'})
22
+ c
23
+ }
24
+ it 'sets @endpoint' do
25
+ expect(client.send(:determine_stack)).to eq 'S#.authentication.target'
26
+ end
27
+ end
28
+
29
+ describe '#endpoint' do
30
+ let(:client) { c = Class.new.new.extend(FuelSDK::Targeting)
31
+ c.stub(:get).and_return({'url' => 'S#.authentication.target'})
32
+ c
33
+ }
34
+
35
+ it 'calls determine_stack to find target' do
36
+ expect(client.endpoint).to eq 'S#.authentication.target'
37
+ end
38
+ end
39
+ end
metadata ADDED
@@ -0,0 +1,239 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fuelsdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - MichaelAllenClark
9
+ - barberj
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2013-06-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bundler
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '1.3'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '1.3'
31
+ - !ruby/object:Gem::Dependency
32
+ name: rake
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: guard
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: guard-rspec
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: savon
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ~>
101
+ - !ruby/object:Gem::Version
102
+ version: '2.0'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: '2.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: json
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: 1.7.0
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ~>
125
+ - !ruby/object:Gem::Version
126
+ version: 1.7.0
127
+ - !ruby/object:Gem::Dependency
128
+ name: jwt
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ version: 0.1.6
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
142
+ version: 0.1.6
143
+ description: Fuel SDK for Ruby
144
+ email: []
145
+ executables: []
146
+ extensions: []
147
+ extra_rdoc_files: []
148
+ files:
149
+ - .gitignore
150
+ - Gemfile
151
+ - Guardfile
152
+ - README.md
153
+ - Rakefile
154
+ - fuelsdk.gemspec
155
+ - lib/fuelsdk.rb
156
+ - lib/fuelsdk/client.rb
157
+ - lib/fuelsdk/http_request.rb
158
+ - lib/fuelsdk/objects.rb
159
+ - lib/fuelsdk/rest.rb
160
+ - lib/fuelsdk/soap.rb
161
+ - lib/fuelsdk/targeting.rb
162
+ - lib/fuelsdk/version.rb
163
+ - lib/new.rb
164
+ - samples/sample-AddSubscriberToList.rb
165
+ - samples/sample-CreateDataExtensions.rb
166
+ - samples/sample-bounceevent.rb
167
+ - samples/sample-campaign.rb
168
+ - samples/sample-clickevent.rb
169
+ - samples/sample-contentarea.rb
170
+ - samples/sample-dataextension.rb
171
+ - samples/sample-email.rb
172
+ - samples/sample-folder.rb
173
+ - samples/sample-list.rb
174
+ - samples/sample-list.subscriber.rb
175
+ - samples/sample-openevent.rb
176
+ - samples/sample-sentevent.rb
177
+ - samples/sample-subscriber.rb
178
+ - samples/sample-triggeredsend.rb
179
+ - samples/sample-unsubevent.rb
180
+ - samples/sample_helper.rb
181
+ - spec/fuelsdk/client_spec.rb
182
+ - spec/fuelsdk_spec.rb
183
+ - spec/helper_funcs_spec.rb
184
+ - spec/http_request_spec.rb
185
+ - spec/rest_spec.rb
186
+ - spec/soap_spec.rb
187
+ - spec/spec_helper.rb
188
+ - spec/targeting_spec.rb
189
+ homepage: https://github.com/ExactTarget/FuelSDK-Ruby
190
+ licenses:
191
+ - ''
192
+ post_install_message:
193
+ rdoc_options: []
194
+ require_paths:
195
+ - lib
196
+ required_ruby_version: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ required_rubygems_version: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ requirements: []
209
+ rubyforge_project:
210
+ rubygems_version: 1.8.25
211
+ signing_key:
212
+ specification_version: 3
213
+ summary: Fuel SDK for Ruby
214
+ test_files:
215
+ - samples/sample-AddSubscriberToList.rb
216
+ - samples/sample-CreateDataExtensions.rb
217
+ - samples/sample-bounceevent.rb
218
+ - samples/sample-campaign.rb
219
+ - samples/sample-clickevent.rb
220
+ - samples/sample-contentarea.rb
221
+ - samples/sample-dataextension.rb
222
+ - samples/sample-email.rb
223
+ - samples/sample-folder.rb
224
+ - samples/sample-list.rb
225
+ - samples/sample-list.subscriber.rb
226
+ - samples/sample-openevent.rb
227
+ - samples/sample-sentevent.rb
228
+ - samples/sample-subscriber.rb
229
+ - samples/sample-triggeredsend.rb
230
+ - samples/sample-unsubevent.rb
231
+ - samples/sample_helper.rb
232
+ - spec/fuelsdk/client_spec.rb
233
+ - spec/fuelsdk_spec.rb
234
+ - spec/helper_funcs_spec.rb
235
+ - spec/http_request_spec.rb
236
+ - spec/rest_spec.rb
237
+ - spec/soap_spec.rb
238
+ - spec/spec_helper.rb
239
+ - spec/targeting_spec.rb