adzerk 0.1.3 → 0.1.4
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/lib/adzerk/Publisher.rb +20 -6
- data/lib/adzerk/Reporting.rb +7 -2
- data/test/csv_export_spec.rb +89 -0
- data/test/publisher_api_spec.rb +68 -1
- data/test/rakefile.rb +1 -0
- data/test/report_api_spec.rb +9 -2
- metadata +3 -2
data/lib/adzerk/Publisher.rb
CHANGED
|
@@ -1,33 +1,47 @@
|
|
|
1
1
|
module Adzerk
|
|
2
2
|
class Publisher
|
|
3
|
-
|
|
3
|
+
|
|
4
4
|
def create(data={})
|
|
5
5
|
uri = URI.parse($host + 'publisher')
|
|
6
6
|
data = { 'publisher' => data.to_json }
|
|
7
7
|
Adzerk.post_request(uri, data)
|
|
8
8
|
end
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
def get(id)
|
|
11
11
|
uri = URI.parse($host + 'publisher/' + id)
|
|
12
12
|
Adzerk.get_request(uri)
|
|
13
13
|
end
|
|
14
|
-
|
|
14
|
+
|
|
15
15
|
def list()
|
|
16
16
|
uri = URI.parse($host + 'publisher')
|
|
17
17
|
response = Adzerk.get_request(uri)
|
|
18
18
|
JSON.parse(response.body)
|
|
19
19
|
end
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
def update(data={})
|
|
22
22
|
uri = URI.parse($host + 'publisher/' + data["Id"].to_s)
|
|
23
23
|
data = { 'publisher' => data.to_json }
|
|
24
24
|
Adzerk.put_request(uri, data)
|
|
25
25
|
end
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
def delete(id)
|
|
28
28
|
uri = URI.parse($host + 'publisher/' + id + '/delete')
|
|
29
29
|
Adzerk.get_request(uri)
|
|
30
30
|
end
|
|
31
|
-
|
|
31
|
+
|
|
32
|
+
def earnings(data={})
|
|
33
|
+
uri = URI.parse($host + '/earnings')
|
|
34
|
+
data = { 'earnings' => data.to_json }
|
|
35
|
+
response = Adzerk.post_request(uri, data)
|
|
36
|
+
JSON.parse(response.body)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def payments(data={})
|
|
40
|
+
uri = URI.parse($host + '/payments')
|
|
41
|
+
data = { 'payments' => data.to_json }
|
|
42
|
+
response = Adzerk.post_request(uri, data)
|
|
43
|
+
JSON.parse(response.body)
|
|
44
|
+
end
|
|
45
|
+
|
|
32
46
|
end
|
|
33
47
|
end
|
data/lib/adzerk/Reporting.rb
CHANGED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "(Saved) Report API" do
|
|
4
|
+
|
|
5
|
+
$report_url = 'http://www.adzerk.com/'
|
|
6
|
+
@@report = $adzerk::Reporting.new
|
|
7
|
+
$savedReportId = 5290
|
|
8
|
+
@@response = @@report.get($savedReportId.to_s)
|
|
9
|
+
@@csv_export = @@response.body
|
|
10
|
+
@@first_data_line = ""
|
|
11
|
+
|
|
12
|
+
before(:all) do
|
|
13
|
+
@@csv_export.each_line do |line|
|
|
14
|
+
if line.start_with?("6/9/2012")
|
|
15
|
+
@@first_data_line = line
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "should pull a saved custom report" do
|
|
21
|
+
@@response.code.should == "200"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it "should contain start and end date headers" do
|
|
25
|
+
@@csv_export.should include("Start Date")
|
|
26
|
+
@@csv_export.should include("End Date")
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it "should include column header for brand" do
|
|
30
|
+
@@csv_export.should include("Brand")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it "should include column header for date" do
|
|
34
|
+
@@csv_export.should include("Date")
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "should include column header for campaign" do
|
|
38
|
+
@@csv_export.should include("Campaign")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it "should include column header for option" do
|
|
42
|
+
@@csv_export.should include("Option")
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
it "should include column header for creative" do
|
|
46
|
+
@@csv_export.should include("Channel")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
it "should include column header for priority" do
|
|
50
|
+
@@csv_export.should include("Priority")
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it "should include column header for adtype" do
|
|
54
|
+
@@csv_export.should include("AdType")
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "should include column header for site" do
|
|
58
|
+
@@csv_export.should include("Site")
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
it "should include column header for country" do
|
|
62
|
+
@@csv_export.should include("Country")
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "should include column header for impressions" do
|
|
66
|
+
@@csv_export.should include("Impressions")
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
it "should include column header for clicks" do
|
|
70
|
+
@@csv_export.should include("Clicks")
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "should include column header for click-through-rate" do
|
|
74
|
+
@@csv_export.should include("CTR")
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
it "should include column header for revenue" do
|
|
78
|
+
@@csv_export.should include("Revenue")
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
it "should have data lines with every data column present" do
|
|
82
|
+
|
|
83
|
+
fields = @@first_data_line.split(',')
|
|
84
|
+
|
|
85
|
+
fields.count.should eq(15)
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
data/test/publisher_api_spec.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
1
|
+
require './spec_helper'
|
|
2
2
|
|
|
3
3
|
describe "Publisher API" do
|
|
4
4
|
|
|
@@ -144,4 +144,71 @@ describe "Publisher API" do
|
|
|
144
144
|
response.body.should == '{"Id":0,"IsDeleted":false}'
|
|
145
145
|
end
|
|
146
146
|
|
|
147
|
+
it "should retrieve publisher earnings" do
|
|
148
|
+
earnings = {
|
|
149
|
+
'Channel' => 'all'
|
|
150
|
+
}
|
|
151
|
+
#response = @@publisher.earnings earnings
|
|
152
|
+
#response.first.length.should == 12
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
it "should retrieve publisher earnings for previous month" do
|
|
156
|
+
earnings = {
|
|
157
|
+
'Channel' => 'all',
|
|
158
|
+
'Month' => 'previous'
|
|
159
|
+
}
|
|
160
|
+
#response = @@publisher.earnings earnings
|
|
161
|
+
#response.first.length.should == 12
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
it "should retrieve publisher earnings for individual channel" do
|
|
165
|
+
earnings = {
|
|
166
|
+
'Channel' => '1127'
|
|
167
|
+
}
|
|
168
|
+
#response = @@publisher.earnings earnings
|
|
169
|
+
#response.first.length.should == 12
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
it "should retrieve publisher payments for a network" do
|
|
173
|
+
payments = { }
|
|
174
|
+
response = @@publisher.payments payments
|
|
175
|
+
response.first.length.should == 5
|
|
176
|
+
puts response
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
it "should retrieve publisher payments for a network with start and end date" do
|
|
180
|
+
payments = {
|
|
181
|
+
'StartDate' => '01/01/2000',
|
|
182
|
+
'EndDate' => '03/01/2000'
|
|
183
|
+
}
|
|
184
|
+
response = @@publisher.payments payments
|
|
185
|
+
response.first.should == nil
|
|
186
|
+
puts response
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
it "should retrieve publisher payments for a network with only start date" do
|
|
190
|
+
payments = {
|
|
191
|
+
'StartDate' => '01/01/2012'
|
|
192
|
+
}
|
|
193
|
+
response = @@publisher.payments payments
|
|
194
|
+
response.first.length.should == 5
|
|
195
|
+
puts response
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
it "should retrieve publisher payments for a site" do
|
|
199
|
+
payments = {
|
|
200
|
+
'SiteId' => 6872
|
|
201
|
+
}
|
|
202
|
+
response = @@publisher.payments payments
|
|
203
|
+
puts response
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
it "should retrieve publisher payments for a publisher" do
|
|
207
|
+
payments = {
|
|
208
|
+
'PublisherAccountId' => 644
|
|
209
|
+
}
|
|
210
|
+
response = @@publisher.payments payments
|
|
211
|
+
puts response
|
|
212
|
+
end
|
|
213
|
+
|
|
147
214
|
end
|
data/test/rakefile.rb
CHANGED
data/test/report_api_spec.rb
CHANGED
|
@@ -26,5 +26,12 @@ describe "Report API" do
|
|
|
26
26
|
# response.body.should == '{"StartDate":"\/Date(1295067600000-0500)\/","EndDate":"\/Date(1325307600000-0500)\/","Critiera":[],"LoginId":0,"Records":[],"OptionRecords":[],"IsTotal":true,"Grouping":["month"],"TotalImpressions":0,"TotalClicks":0,"TotalCTR":0}'
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
|
|
30
|
+
it "should pull a saved custom report" do
|
|
31
|
+
$savedReportId = 5280
|
|
32
|
+
response = @@report.get($savedReportId.to_s)
|
|
33
|
+
|
|
34
|
+
csv_report = response.body
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: adzerk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-07-19 00:00:00.000000000 Z
|
|
13
13
|
dependencies: []
|
|
14
14
|
description: Ruby library for the Adzerk API
|
|
15
15
|
email: kacy@adzerk.com
|
|
@@ -39,6 +39,7 @@ files:
|
|
|
39
39
|
- test/channel_site_map_api_spec.rb
|
|
40
40
|
- test/creative_api_spec.rb
|
|
41
41
|
- test/creative_map_api_spec.rb
|
|
42
|
+
- test/csv_export_spec.rb
|
|
42
43
|
- test/delivery-test.rb
|
|
43
44
|
- test/flight_api_spec.rb
|
|
44
45
|
- test/invitation_api_spec.rb
|