fuelsdk 0.1.6 → 0.1.7

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.
@@ -0,0 +1,66 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
3
+ <soap:Header>
4
+ <wsa:Action>RetrieveResponse</wsa:Action>
5
+ <wsa:MessageID>urn:uuid:a37b6a75-e52e-45d0-a6be-faaf036aa85c</wsa:MessageID>
6
+ <wsa:RelatesTo>urn:uuid:bdbcaa62-51ea-4c5c-8afa-f0adec46db6c</wsa:RelatesTo>
7
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
8
+ <wsse:Security>
9
+ <wsu:Timestamp wsu:Id='Timestamp-f6dd959a-56fe-4435-b32e-1f59ec0f39a8'>
10
+ <wsu:Created>2014-03-13T16:03:28Z</wsu:Created>
11
+ <wsu:Expires>2014-03-13T16:08:28Z</wsu:Expires>
12
+ </wsu:Timestamp>
13
+ </wsse:Security>
14
+ </soap:Header>
15
+ <soap:Body>
16
+ <RetrieveResponseMsg xmlns='http://exacttarget.com/wsdl/partnerAPI'>
17
+ <OverallStatus>OK</OverallStatus>
18
+ <RequestID>d4358fcd-24f4-415c-895e-08cfe10623e6</RequestID>
19
+ <Results xsi:type='Subscriber'>
20
+ <Client>
21
+ <ID>6173122</ID>
22
+ </Client>
23
+ <PartnerKey/>
24
+ <CreatedDate>2013-10-08T09:38:00</CreatedDate>
25
+ <ID>16234076</ID>
26
+ <ObjectID xsi:nil='true'/>
27
+ <EmailAddress>first_sub@kevy.com</EmailAddress>
28
+ <Attributes>
29
+ <Name>Available Weekends</Name>
30
+ <Value>False</Value>
31
+ </Attributes>
32
+ <Attributes>
33
+ <Name>First Name</Name>
34
+ <Value>First</Value>
35
+ </Attributes>
36
+ <Attributes>
37
+ <Name>Last Name</Name>
38
+ <Value>Last</Value>
39
+ </Attributes>
40
+ <Attributes>
41
+ <Name>Company</Name>
42
+ <Value/>
43
+ </Attributes>
44
+ <Attributes>
45
+ <Name>Phone Number</Name>
46
+ <Value/>
47
+ </Attributes>
48
+ <Attributes>
49
+ <Name>Email Address</Name>
50
+ <Value>first_sub@kevy.com</Value>
51
+ </Attributes>
52
+ <Attributes>
53
+ <Name>Gender</Name>
54
+ <Value/>
55
+ </Attributes>
56
+ <Attributes>
57
+ <Name>Birthday</Name>
58
+ <Value/>
59
+ </Attributes>
60
+ <SubscriberKey>first_sub@kevy.com</SubscriberKey>
61
+ <Status>Active</Status>
62
+ <EmailTypePreference>HTML</EmailTypePreference>
63
+ </Results>
64
+ </RetrieveResponseMsg>
65
+ </soap:Body>
66
+ </soap:Envelope>
@@ -0,0 +1,98 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
3
+ <soap:Header>
4
+ <wsa:Action>RetrieveResponse</wsa:Action>
5
+ <wsa:MessageID>urn:uuid:9c5a00ad-d1e1-44d9-9591-c1008f409ce7
6
+ </wsa:MessageID>
7
+ <wsa:RelatesTo>urn:uuid:fee312d2-dd08-4aee-a577-0737486295ef</wsa:RelatesTo>
8
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
9
+ <wsse:Security>
10
+ <wsu:Timestamp wsu:Id='Timestamp-edbd1784-0e29-4b43-af49-f988d660ce1e'>
11
+ <wsu:Created>2014-03-13T15:46:50Z</wsu:Created>
12
+ <wsu:Expires>2014-03-13T15:51:50Z</wsu:Expires>
13
+ </wsu:Timestamp>
14
+ </wsse:Security>
15
+ </soap:Header>
16
+ <soap:Body>
17
+ <RetrieveResponseMsg xmlns='http://exacttarget.com/wsdl/partnerAPI'>
18
+ <OverallStatus>OK</OverallStatus>
19
+ <RequestID>effdbf48-773c-46ea-8a4b-fab50ce3dd6a</RequestID>
20
+ <Results xsi:type='Subscriber'>
21
+ <PartnerKey xsi:nil='true'/>
22
+ <ID>16234076</ID>
23
+ <ObjectID xsi:nil='true'/>
24
+ <EmailAddress>first_sub@kevy.com</EmailAddress>
25
+ <Attributes>
26
+ <Name>Available Weekends</Name>
27
+ <Value>False</Value>
28
+ </Attributes>
29
+ <Attributes>
30
+ <Name>First Name</Name>
31
+ <Value>First</Value>
32
+ </Attributes>
33
+ <Attributes>
34
+ <Name>Last Name</Name>
35
+ <Value>Last</Value>
36
+ </Attributes>
37
+ <Attributes>
38
+ <Name>Company</Name>
39
+ <Value/>
40
+ </Attributes>
41
+ <Attributes>
42
+ <Name>Phone Number</Name>
43
+ <Value/>
44
+ </Attributes>
45
+ <Attributes>
46
+ <Name>Email Address</Name>
47
+ <Value>first_sub@kevy.com</Value>
48
+ </Attributes>
49
+ <Attributes>
50
+ <Name>Gender</Name>
51
+ <Value/>
52
+ </Attributes>
53
+ <Attributes>
54
+ <Name>Birthday</Name>
55
+ <Value/>
56
+ </Attributes>
57
+ </Results>
58
+ <Results xsi:type='Subscriber'>
59
+ <PartnerKey xsi:nil='true'/>
60
+ <ID>16234077</ID>
61
+ <ObjectID xsi:nil='true'/>
62
+ <EmailAddress>second_sub@kevy.com</EmailAddress>
63
+ <Attributes>
64
+ <Name>Available Weekends</Name>
65
+ <Value>True</Value>
66
+ </Attributes>
67
+ <Attributes>
68
+ <Name>First Name</Name>
69
+ <Value>FName</Value>
70
+ </Attributes>
71
+ <Attributes>
72
+ <Name>Last Name</Name>
73
+ <Value>LName</Value>
74
+ </Attributes>
75
+ <Attributes>
76
+ <Name>Company</Name>
77
+ <Value/>
78
+ </Attributes>
79
+ <Attributes>
80
+ <Name>Phone Number</Name>
81
+ <Value/>
82
+ </Attributes>
83
+ <Attributes>
84
+ <Name>Email Address</Name>
85
+ <Value>first_sub@kevy.com</Value>
86
+ </Attributes>
87
+ <Attributes>
88
+ <Name>Gender</Name>
89
+ <Value>M</Value>
90
+ </Attributes>
91
+ <Attributes>
92
+ <Name>Birthday</Name>
93
+ <Value/>
94
+ </Attributes>
95
+ </Results>
96
+ </RetrieveResponseMsg>
97
+ </soap:Body>
98
+ </soap:Envelope>
@@ -0,0 +1,111 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
3
+ <soap:Header>
4
+ <wsa:Action>RetrieveResponse</wsa:Action>
5
+ <wsa:MessageID>urn:uuid:a37b6a75-e52e-45d0-a6be-faaf036aa85c</wsa:MessageID>
6
+ <wsa:RelatesTo>urn:uuid:bdbcaa62-51ea-4c5c-8afa-f0adec46db6c</wsa:RelatesTo>
7
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
8
+ <wsse:Security>
9
+ <wsu:Timestamp wsu:Id='Timestamp-f6dd959a-56fe-4435-b32e-1f59ec0f39a8'>
10
+ <wsu:Created>2014-03-13T16:03:28Z</wsu:Created>
11
+ <wsu:Expires>2014-03-13T16:08:28Z</wsu:Expires>
12
+ </wsu:Timestamp>
13
+ </wsse:Security>
14
+ </soap:Header>
15
+ <soap:Body>
16
+ <RetrieveResponseMsg xmlns='http://exacttarget.com/wsdl/partnerAPI'>
17
+ <OverallStatus>OK</OverallStatus>
18
+ <RequestID>d4358fcd-24f4-415c-895e-08cfe10623e6</RequestID>
19
+ <Results xsi:type='Subscriber'>
20
+ <Client>
21
+ <ID>6173122</ID>
22
+ </Client>
23
+ <PartnerKey/>
24
+ <CreatedDate>2013-10-08T09:38:00</CreatedDate>
25
+ <ID>16234076</ID>
26
+ <ObjectID xsi:nil='true'/>
27
+ <EmailAddress>first_sub@kevy.com</EmailAddress>
28
+ <Attributes>
29
+ <Name>Available Weekends</Name>
30
+ <Value>False</Value>
31
+ </Attributes>
32
+ <Attributes>
33
+ <Name>First Name</Name>
34
+ <Value>First</Value>
35
+ </Attributes>
36
+ <Attributes>
37
+ <Name>Last Name</Name>
38
+ <Value>Last</Value>
39
+ </Attributes>
40
+ <Attributes>
41
+ <Name>Company</Name>
42
+ <Value/>
43
+ </Attributes>
44
+ <Attributes>
45
+ <Name>Phone Number</Name>
46
+ <Value/>
47
+ </Attributes>
48
+ <Attributes>
49
+ <Name>Email Address</Name>
50
+ <Value>first_sub@kevy.com</Value>
51
+ </Attributes>
52
+ <Attributes>
53
+ <Name>Gender</Name>
54
+ <Value/>
55
+ </Attributes>
56
+ <Attributes>
57
+ <Name>Birthday</Name>
58
+ <Value/>
59
+ </Attributes>
60
+ <SubscriberKey>first_sub@kevy.com</SubscriberKey>
61
+ <Status>Active</Status>
62
+ <EmailTypePreference>HTML</EmailTypePreference>
63
+ </Results>
64
+ <Results xsi:type='Subscriber'>
65
+ <Client>
66
+ <ID>6173122</ID>
67
+ </Client>
68
+ <PartnerKey/>
69
+ <CreatedDate>2013-10-08T09:38:00</CreatedDate>
70
+ <ID>16234077</ID>
71
+ <ObjectID xsi:nil='true'/>
72
+ <EmailAddress>second_sub@kevy.com</EmailAddress>
73
+ <Attributes>
74
+ <Name>Available Weekends</Name>
75
+ <Value>True</Value>
76
+ </Attributes>
77
+ <Attributes>
78
+ <Name>First Name</Name>
79
+ <Value>FName</Value>
80
+ </Attributes>
81
+ <Attributes>
82
+ <Name>Last Name</Name>
83
+ <Value>LName</Value>
84
+ </Attributes>
85
+ <Attributes>
86
+ <Name>Company</Name>
87
+ <Value/>
88
+ </Attributes>
89
+ <Attributes>
90
+ <Name>Phone Number</Name>
91
+ <Value/>
92
+ </Attributes>
93
+ <Attributes>
94
+ <Name>Email Address</Name>
95
+ <Value>second_sub@kevy.com</Value>
96
+ </Attributes>
97
+ <Attributes>
98
+ <Name>Gender</Name>
99
+ <Value>M</Value>
100
+ </Attributes>
101
+ <Attributes>
102
+ <Name>Birthday</Name>
103
+ <Value/>
104
+ </Attributes>
105
+ <SubscriberKey>first_sub@kevy.com</SubscriberKey>
106
+ <Status>Unsubscribed</Status>
107
+ <EmailTypePreference>Text</EmailTypePreference>
108
+ </Results>
109
+ </RetrieveResponseMsg>
110
+ </soap:Body>
111
+ </soap:Envelope>
@@ -0,0 +1,40 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing' xmlns:wsse='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' xmlns:wsu='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'>
3
+ <soap:Header>
4
+ <wsa:Action>UpdateResponse</wsa:Action>
5
+ <wsa:MessageID>urn:uuid:f9c8b39a-c715-4f51-98dc-d662f0945c1f</wsa:MessageID>
6
+ <wsa:RelatesTo>urn:uuid:bf235005-a69a-4ec0-8ab8-ea12c7243695</wsa:RelatesTo>
7
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
8
+ <wsse:Security>
9
+ <wsu:Timestamp wsu:Id='Timestamp-35d62156-b6a0-4635-91af-62b84c6eceb7'>
10
+ <wsu:Created>2014-03-14T00:18:30Z</wsu:Created>
11
+ <wsu:Expires>2014-03-14T00:23:30Z</wsu:Expires>
12
+ </wsu:Timestamp>
13
+ </wsse:Security>
14
+ </soap:Header>
15
+ <soap:Body>
16
+ <UpdateResponse xmlns='http://exacttarget.com/wsdl/partnerAPI'>
17
+ <Results>
18
+ <StatusCode>OK</StatusCode>
19
+ <StatusMessage>Updated Subscriber.</StatusMessage>
20
+ <OrdinalID>0</OrdinalID>
21
+ <Object xsi:type='Subscriber'>
22
+ <PartnerKey xsi:nil='true'/>
23
+ <ID>16234076</ID>
24
+ <ObjectID xsi:nil='true'/>
25
+ <EmailAddress>1394756310RubySDKExample@jb.kevy.com</EmailAddress>
26
+ <Attributes>
27
+ <Name>Gender</Name>
28
+ <Value>M</Value>
29
+ </Attributes>
30
+ <Attributes>
31
+ <Name>Available Weekends</Name>
32
+ <Value>true</Value>
33
+ </Attributes>
34
+ </Object>
35
+ </Results>
36
+ <RequestID>98712a7f-6a6a-48a1-8393-545a6bbbe711</RequestID>
37
+ <OverallStatus>OK</OverallStatus>
38
+ </UpdateResponse>
39
+ </soap:Body>
40
+ </soap:Envelope>
@@ -4,56 +4,54 @@ describe FuelSDK::Soap do
4
4
 
5
5
  let(:client) { FuelSDK::Client.new }
6
6
 
7
- subject { client }
8
-
9
7
  describe '#editable_properties_cached?' do
10
8
  it 'returns a list of editable properties for the object' do
11
- subject.should_receive(:cached_properties?)
9
+ client.should_receive(:cached_properties?)
12
10
  .with(:editable, 'item')
13
11
  .and_return(['prop'])
14
12
 
15
- expect(subject.editable_properties_cached? 'item').to eq(['prop'])
13
+ expect(client.editable_properties_cached? 'item').to eq(['prop'])
16
14
  end
17
15
 
18
16
  it 'returns nil if not cached' do
19
- expect(subject.editable_properties_cached? 'missing').to be_nil
17
+ expect(client.editable_properties_cached? 'missing').to be_nil
20
18
  end
21
19
  end
22
20
 
23
21
  describe '#get_editable_properties' do
24
22
  it 'returns cached properties' do
25
- subject.should_receive(:editable_properties_cached?)
23
+ client.should_receive(:editable_properties_cached?)
26
24
  .with('object')
27
25
  .and_return(['prop'])
28
26
 
29
- subject.should_not_receive(:get_all_object_properties)
30
- subject.should_not_receive(:cache_editable)
27
+ client.should_not_receive(:get_all_object_properties)
28
+ client.should_not_receive(:cache_editable)
31
29
 
32
- expect(subject.get_editable_properties('object')).to eq ['prop']
30
+ expect(client.get_editable_properties('object')).to eq ['prop']
33
31
  end
34
32
 
35
33
  it 'requests and caches properties when not in cache' do
36
- subject.should_receive(:editable_properties_cached?)
34
+ client.should_receive(:editable_properties_cached?)
37
35
  .with('object')
38
36
  .and_return(nil)
39
37
 
40
38
  response = double(FuelSDK::DescribeResponse)
41
39
  response.stub(:editable).and_return(['prop'])
42
- subject.should_receive(:get_all_object_properties)
40
+ client.should_receive(:get_all_object_properties)
43
41
  .and_return(response)
44
42
 
45
- subject.should_receive(:cache_editable)
43
+ client.should_receive(:cache_editable)
46
44
  .with('object', ['prop'])
47
45
  .and_return(['prop'])
48
46
 
49
- expect(subject.get_editable_properties('object')).to eq ['prop']
47
+ expect(client.get_editable_properties('object')).to eq ['prop']
50
48
  end
51
49
  end
52
50
 
53
51
  describe '#cache_editable' do
54
52
  it 'caches object properties to :editable' do
55
- subject.cache_editable('Subscriber', ['Email'])
56
- expect(subject.cache[:editable]).to eq 'Subscriber' => ['Email']
53
+ client.cache_editable('Subscriber', ['Email'])
54
+ expect(client.cache[:editable]).to eq 'Subscriber' => ['Email']
57
55
  end
58
56
  end
59
57
 
@@ -62,11 +60,11 @@ describe FuelSDK::Soap do
62
60
  it 'creates soap objects properties hash putting ' \
63
61
  'custom attributes into name value pairs' do
64
62
 
65
- subject.should_receive(:get_editable_properties)
63
+ client.should_receive(:get_editable_properties)
66
64
  .with('Subscriber')
67
65
  .and_return(['FirstName'])
68
66
 
69
- expect(subject.normalize_properties_for_cud(
67
+ expect(client.normalize_properties_for_cud(
70
68
  'Subscriber',
71
69
  [{'Email' => 'dev@exacttarget.com', 'FirstName' => 'Devy'}]
72
70
  )).to eq(
@@ -78,11 +76,11 @@ describe FuelSDK::Soap do
78
76
  end
79
77
 
80
78
  it 'converts properties into an array' do
81
- subject.should_receive(:get_editable_properties)
79
+ client.should_receive(:get_editable_properties)
82
80
  .with('Subscriber')
83
81
  .and_return(['FirstName'])
84
82
 
85
- expect(subject.normalize_properties_for_cud(
83
+ expect(client.normalize_properties_for_cud(
86
84
  'Subscriber',
87
85
  {'Email' => 'dev@exacttarget.com', 'FirstName' => 'Devy'}
88
86
  )).to eq(
@@ -94,7 +92,7 @@ describe FuelSDK::Soap do
94
92
  end
95
93
 
96
94
  it 'raises an exception if properties are not a hash' do
97
- expect { subject.normalize_properties_for_cud('Subscriber', 'Email') }
95
+ expect { client.normalize_properties_for_cud('Subscriber', 'Email') }
98
96
  .to raise_error
99
97
  end
100
98
  end
@@ -102,31 +100,34 @@ describe FuelSDK::Soap do
102
100
  describe '#create_objects_message' do
103
101
  it 'creates hash for soap message' do
104
102
  obj_attributes = [{'Name' => 'First Name', 'Value' => 'Justin'}]
105
- expect(subject.create_objects_message('object', obj_attributes)).to eq(
106
- {
107
- 'Objects' => [{'Name' => 'First Name', 'Value' => 'Justin'}],
108
- :attributes! => {'Objects' => { 'xsi:type' => 'tns:object' }}
109
- }
103
+ expect(client.create_objects_message('object', obj_attributes)).to eq(
104
+ {
105
+ 'Objects' => [{
106
+ 'Name' => 'First Name',
107
+ 'Value' => 'Justin',
108
+ '@xsi:type' => 'tns:object'
109
+ }]
110
+ }
110
111
  )
111
112
  end
112
113
 
113
114
  it 'raises an exception if object attributes is not an Array' do
114
- expect{ subject.create_objects_message('object', '1') }.to raise_error
115
+ expect{ client.create_objects_message('object', '1') }.to raise_error
115
116
  end
116
117
 
117
118
  it 'raises an exception if object attributes are not stored in a hash' do
118
- expect{ subject.create_objects_message('object', ['1']) }.to raise_error
119
+ expect{ client.create_objects_message('object', ['1']) }.to raise_error
119
120
  end
120
121
  end
121
122
 
122
123
  describe '#soap_cud' do
123
124
  it 'request with message created with normalized properties' do
124
125
 
125
- subject.should_receive(:normalize_properties_for_cud)
126
- subject.should_receive(:create_objects_message)
127
- subject.should_receive(:soap_request)
126
+ client.should_receive(:normalize_properties_for_cud)
127
+ client.should_receive(:create_objects_message)
128
+ client.should_receive(:soap_request)
128
129
 
129
- subject.send :soap_cud, :post, 'Subscriber', [{'EmailAddress' => 'dev@exacttarget.com'}]
130
+ client.send :soap_cud, :post, 'Subscriber', [{'EmailAddress' => 'dev@exacttarget.com'}]
130
131
  end
131
132
  end
132
133
  end