Skip to content

Commit 34a2bd0

Browse files
committed
add .all / .vod / .live reporting api endpoints
1 parent 42ae6ce commit 34a2bd0

File tree

2 files changed

+92
-3
lines changed

2 files changed

+92
-3
lines changed

lib/zencoder/report.rb

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,33 @@ module Zencoder
22
class Report < Resource
33

44
def self.minutes(options={})
5+
get("/reports/minutes", merge_params(*extract_params(options)))
6+
end
7+
8+
def self.all(options={})
9+
get("/reports/all", merge_params(*extract_params(options)))
10+
end
11+
12+
def self.live(options={})
13+
get("/reports/live", merge_params(*extract_params(options)))
14+
end
15+
16+
def self.vod(options={})
17+
get("/reports/vod", merge_params(*extract_params(options)))
18+
end
19+
20+
21+
protected
22+
23+
def self.extract_params(options={})
524
options = options.dup
625
params = {
726
:from => options.delete(:from),
827
:to => options.delete(:to),
928
:grouping => options.delete(:grouping)
1029
}
1130

12-
params.delete_if { |k, v| v.nil? }
13-
14-
get("/reports/minutes", merge_params(options, params))
31+
return options, params.delete_if { |k, v| v.nil? }
1532
end
1633

1734
end

test/zencoder/reports_test.rb

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,76 @@ class Zencoder::ReportTest < Test::Unit::TestCase
2626
end
2727
end
2828

29+
context ".all" do
30+
setup do
31+
@api_key = "abcd123"
32+
@url = "#{Zencoder.base_url}/reports/all"
33+
end
34+
35+
should "GET the correct url and return a response" do
36+
Zencoder::HTTP.stubs(:get).with(@url, {:params => { :from => "2011-01-01",
37+
:to => "2011-06-01",
38+
:grouping => "foo"},
39+
:headers => { "Zencoder-Api-Key" => @api_key }}).returns(Zencoder::Response.new)
40+
assert_equal Zencoder::Response, Zencoder::Report.all(:api_key => @api_key, :from => "2011-01-01",
41+
:to => "2011-06-01",
42+
:grouping => "foo").class
43+
end
44+
45+
should "merge params well" do
46+
Zencoder::HTTP.stubs(:get).with(@url, {:params => { :from => "2011-01-01",
47+
:to => "2011-06-01"},
48+
:headers => { "Zencoder-Api-Key" => @api_key }}).returns(Zencoder::Response.new)
49+
assert_equal Zencoder::Response, Zencoder::Report.all(:api_key => @api_key, :from => "2011-01-01", :to => "2011-06-01").class
50+
end
51+
end
52+
53+
context ".vod" do
54+
setup do
55+
@api_key = "abcd123"
56+
@url = "#{Zencoder.base_url}/reports/vod"
57+
end
58+
59+
should "GET the correct url and return a response" do
60+
Zencoder::HTTP.stubs(:get).with(@url, {:params => { :from => "2011-01-01",
61+
:to => "2011-06-01",
62+
:grouping => "foo"},
63+
:headers => { "Zencoder-Api-Key" => @api_key }}).returns(Zencoder::Response.new)
64+
assert_equal Zencoder::Response, Zencoder::Report.vod(:api_key => @api_key, :from => "2011-01-01",
65+
:to => "2011-06-01",
66+
:grouping => "foo").class
67+
end
68+
69+
should "merge params well" do
70+
Zencoder::HTTP.stubs(:get).with(@url, {:params => { :from => "2011-01-01",
71+
:to => "2011-06-01"},
72+
:headers => { "Zencoder-Api-Key" => @api_key }}).returns(Zencoder::Response.new)
73+
assert_equal Zencoder::Response, Zencoder::Report.vod(:api_key => @api_key, :from => "2011-01-01", :to => "2011-06-01").class
74+
end
75+
end
76+
77+
context ".live" do
78+
setup do
79+
@api_key = "abcd123"
80+
@url = "#{Zencoder.base_url}/reports/live"
81+
end
82+
83+
should "GET the correct url and return a response" do
84+
Zencoder::HTTP.stubs(:get).with(@url, {:params => { :from => "2011-01-01",
85+
:to => "2011-06-01",
86+
:grouping => "foo"},
87+
:headers => { "Zencoder-Api-Key" => @api_key }}).returns(Zencoder::Response.new)
88+
assert_equal Zencoder::Response, Zencoder::Report.live(:api_key => @api_key, :from => "2011-01-01",
89+
:to => "2011-06-01",
90+
:grouping => "foo").class
91+
end
92+
93+
should "merge params well" do
94+
Zencoder::HTTP.stubs(:get).with(@url, {:params => { :from => "2011-01-01",
95+
:to => "2011-06-01"},
96+
:headers => { "Zencoder-Api-Key" => @api_key }}).returns(Zencoder::Response.new)
97+
assert_equal Zencoder::Response, Zencoder::Report.live(:api_key => @api_key, :from => "2011-01-01", :to => "2011-06-01").class
98+
end
99+
end
100+
29101
end

0 commit comments

Comments
 (0)