test/epom/banner_test.rb in epom-0.5 vs test/epom/banner_test.rb in epom-0.6
- old
+ new
@@ -4,37 +4,18 @@
class BannerTest < ActiveSupport::TestCase
test "truth" do
assert_kind_of Class, Epom::Banner
end
- test "get_os_values" do
+ #TODO: create banner with LOCAL_FILE
+ test "create_banner" do
timestamp = Time.now.to_i * 1000
- url_params = {
- :bannerId => ENV['banner_id']
- }
body_params = {
+ :campaignId => ENV['campaign_id'],
:hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
:timestamp => timestamp,
:username => ENV['username'],
- }
-
- response = Epom::Banner.get_os_values(url_params, body_params)
- assert_instance_of Array, response
- if response.count > 0
- first = response[0]
- assert_instance_of String, first
- end
- end
-
- #TODO: create banner with LOCAL_FILE
- test "create_banner" do
- timestamp = Time.now.to_i * 1000
- body_params = {
- :campaignId => ENV['campaign_id'],
- :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
- :timestamp => timestamp,
- :username => ENV['username'],
:weight => 1,
:imageBannerLink => "http://beachgrooves.com/wp-content/uploads/2014/07/BeachGrooves-Logos-website2.png",
:url => "http://www.example.com",
:name => "banner #{timestamp}",
:bannerType => Epom::BannerType::EXTERNAL_FILE,
@@ -44,17 +25,36 @@
:adUnitWidth => 237,#128
:adUnitHeight => 100,#114
# :imageFile => File.new('test/IMG_5457-128x128.JPG')
}
- response = Epom::Banner.create_banner({}, body_params)
+ response = Epom::Banner.create_banner({}, body_params)
assert_instance_of Hash, response
assert_instance_of Fixnum, response['id']
assert_instance_of Fixnum, response['campaignId']
assert_equal ENV['campaign_id'].to_i, response['campaignId']
end
+ test "get_os_values" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id']
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.get_os_values(url_params, body_params)
+ assert_instance_of Array, response
+ if response.count > 0
+ first = response[0]
+ assert_instance_of String, first
+ end
+ end
+
test "get_banner_ad_unit_values" do
timestamp = Time.now.to_i * 1000
body_params = {
:hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
:timestamp => timestamp,
@@ -86,10 +86,11 @@
response = Epom::Banner.get_banner_pricing(url_params, body_params)
assert_instance_of Hash, response
assert_instance_of Fixnum, response['id']
assert_instance_of String, response['paymentModel']
+ response
end
test "get_placements_for_banner" do
timestamp = Time.now.to_i * 1000
body_params = {
@@ -131,64 +132,373 @@
assert_instance_of String, first['rule']
assert_instance_of String, first['type']
end
end
- test "get_advertising_categories" do
+ test "get_banner" do
timestamp = Time.now.to_i * 1000
body_params = {
:hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
:timestamp => timestamp,
:username => ENV['username'],
}
+ url_params = {
+ :bannerId => ENV['banner_id']
+ }
- response = Epom::Banner.get_advertising_categories({}, body_params)
+ response = Epom::Banner.get_banner(url_params, body_params)
+ assert_instance_of Hash, response
+ assert_instance_of Fixnum, response['campaignId']
+ assert_instance_of String, response['url']
+ assert_instance_of String, response['name']
+ assert_instance_of String, response['bannerType']
+ assert_instance_of Fixnum, response['adUnitId']
+ assert_instance_of String, response['placementType']
+ end
+
+ #######################
+ #Banner Capping API
+ #######################
+
+ test "get_click_capping" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id']
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.get_click_capping(url_params, body_params)
assert_instance_of Array, response
if response.count > 0
first = response[0]
- assert_instance_of Hash, first
- assert_instance_of Fixnum, first['id']
- assert_instance_of String, first['name']
- end
+ assert_instance_of Fixnum, first['amount']
+ assert_instance_of String, first['periodType']
+ assert_instance_of Fixnum, first['period']
+ end
+ response
end
- test "get_banner" do
+ test "get_frequency_capping" do
timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id']
+ }
body_params = {
:hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
:timestamp => timestamp,
:username => ENV['username'],
}
+
+ response = Epom::Banner.get_frequency_capping(url_params, body_params)
+ assert_instance_of Array, response
+ if response.count > 0
+ first = response[0]
+ assert_instance_of Fixnum, first['amount']
+ assert_instance_of String, first['periodType']
+ assert_instance_of Fixnum, first['period']
+ end
+ response
+ end
+
+ test "set_click_capping" do
+ timestamp = Time.now.to_i * 1000
url_params = {
:bannerId => ENV['banner_id']
}
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :amount => [1,2,3,4,5,6,7].sample,
+ :evenDistribution => true,
+ :periodType => 'HOUR',
+ :period => 2
+ }
- response = Epom::Banner.get_banner(url_params, body_params)
+ response = Epom::Banner.set_click_capping(url_params, body_params)
+
+ click_cappings = test_get_click_capping()
+ click_capping = click_cappings.find { |cc| cc['amount'] == body_params[:amount] }
+ assert_instance_of Hash, click_capping
+ assert_equal true, click_capping['evenDistribution']
+ assert_equal 'HOUR', click_capping['periodType']
+ assert_equal 2, click_capping['period']
+ end
+
+ test "set_frequency_capping" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id']
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :amount => [1,2,3,4,5,6,7].sample,
+ :evenDistribution => true,
+ :periodType => 'HOUR',
+ :period => 2
+ }
+
+ response = Epom::Banner.set_frequency_capping(url_params, body_params)
+
+ frequency_cappings = test_get_frequency_capping()
+ frequency_capping = frequency_cappings.find { |cc| cc['amount'] == body_params[:amount] }
+ assert_instance_of Hash, frequency_capping
+ assert_equal true, frequency_capping['evenDistribution']
+ assert_equal 'HOUR', frequency_capping['periodType']
+ assert_equal 2, frequency_capping['period']
+ end
+
+ #######################
+ #Banner Limits API
+ #######################
+
+ test "get_limits" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id']
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.get_limits(url_params, body_params)
assert_instance_of Hash, response
- assert_instance_of Fixnum, response['campaignId']
- assert_instance_of String, response['url']
- assert_instance_of String, response['name']
- assert_instance_of String, response['bannerType']
- assert_instance_of Fixnum, response['adUnitId']
- assert_instance_of String, response['placementType']
+ response
end
- test "get_publishing_categories" do
+ test "set_limits" do
timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
body_params = {
:hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
:timestamp => timestamp,
:username => ENV['username'],
+ :totalImpressionsLimit => 100,
+ :dailyImpressionsLimit => 20,
+ :totalClicksLimit => 50,
+ :dailyClicksLimit => 10,
+ :totalBudgetLimit => 50,
+ :dailyBudgetLimit => 10,
+ :startDate => DateTime.now.strftime('%Y-%m-%d-%H-%M'),
+ :endDate => Date.tomorrow.strftime('%Y-%m-%d-%H-%M'),
}
- response = Epom::Banner.get_publishing_categories({}, body_params)
+ response = Epom::Banner.set_limits(url_params, body_params)
+
+ limit = test_get_limits()
+ assert_instance_of Hash, limit
+ assert_equal body_params[:totalImpressionsLimit], limit['totalImpressionsLimit']
+ assert_equal body_params[:dailyImpressionsLimit], limit['dailyImpressionsLimit']
+ assert_equal body_params[:totalClicksLimit], limit['totalClicksLimit']
+ assert_equal body_params[:dailyClicksLimit], limit['dailyClicksLimit']
+ assert_equal body_params[:totalBudgetLimit], limit['totalBudgetLimit']
+ assert_equal body_params[:dailyBudgetLimit], limit['dailyBudgetLimit']
+ assert_equal body_params[:startDate], limit['startDate']
+ assert_equal body_params[:endDate], limit['endDate']
+ end
+
+ test "create_cookie_value_target" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :cookieName => 'age',
+ :cookieValue => '20',
+ :rule => 'INCLUDE'
+ }
+
+ response = Epom::Banner.create_cookie_value_target(url_params, body_params)
+ assert_instance_of Hash, response
+ assert_instance_of Fixnum, response['id']
+ assert_equal body_params[:cookieName], response['cookieName']
+ assert_equal body_params[:cookieValue], response['cookieValue']
+ end
+
+ test "create_country_target" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :countryCode => ENV['country_code'],
+ :rule => 'INCLUDE'
+ }
+
+ response = Epom::Banner.create_country_target(url_params, body_params)
+ assert_instance_of Hash, response
+ assert_instance_of Fixnum, response['id']
+ assert_equal 'COUNTRY', response['type']
+ end
+
+ test "create_custom_parameter_target" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :expression => "($p1==1 || $p1=='a') && ($p2>=12 && $p2<=22)",
+ :rule => 'INCLUDE'
+ }
+
+ response = Epom::Banner.create_custom_parameter_target(url_params, body_params)
+ assert_instance_of Hash, response
+ assert_instance_of Fixnum, response['id']
+ assert_equal 'CUSTOM', response['type']
+ end
+
+ test "create_language_target" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :languageCode => 'en',
+ :rule => 'INCLUDE'
+ }
+
+ response = Epom::Banner.create_language_target(url_params, body_params)
+ assert_instance_of Hash, response
+ assert_instance_of Fixnum, response['id']
+ assert_equal 'LANGUAGE', response['type']
+ end
+
+ test "disable_targeting" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.disable_targeting(url_params, body_params)
+ assert_not_instance_of Fixnum, response
+ end
+
+ test "enable_targeting" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.enable_targeting(url_params, body_params)
+ assert_not_instance_of Fixnum, response
+ end
+
+ #############################
+ #Banner Placement Linking API
+ #############################
+
+ test "get_banner_placements_list" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.get_banner_placements_list(url_params, body_params)
assert_instance_of Array, response
if response.count > 0
first = response[0]
+ assert_instance_of Fixnum, first['id']
+ assert_instance_of String, first['name']
+ end
+ response
+ end
+
+ test "create_or_update_banner_placements" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :ids => ENV['placement_id']
+ }
+
+ response = Epom::Banner.create_or_update_banner_placements(url_params, body_params)
+ assert_instance_of Hash, response
+ assert response['success']
+ end
+
+ test "update_banner_pricing" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :bannerId => ENV['banner_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ :price => [2.1, 1.2, 3.4].sample,
+ # :paymentModel => 'CPM'
+ }
+
+ response = Epom::Banner.update_banner_pricing(url_params, body_params)
+ assert_not_instance_of Fixnum, response
+
+ pricing = test_get_banner_pricing()
+ assert_instance_of Hash, pricing
+ assert_instance_of Float, pricing['price']
+ assert_equal body_params[:price], pricing['price']
+ end
+
+ test "get_linked_banners_for_placement" do
+ timestamp = Time.now.to_i * 1000
+ url_params = {
+ :placementId => ENV['placement_id'],
+ }
+ body_params = {
+ :hash => Epom.create_hash(Epom.create_hash(ENV['password']), timestamp),
+ :timestamp => timestamp,
+ :username => ENV['username'],
+ }
+
+ response = Epom::Banner.get_linked_banners_for_placement(url_params, body_params)
+ assert_instance_of Array, response
+ if response.count > 0
+ first = response[0]
assert_instance_of Hash, first
+ assert_instance_of Fixnum, first['campaignId']
assert_instance_of Fixnum, first['id']
assert_instance_of String, first['name']
end
- end
+ end
define_get_tests_auto(Epom::Banner)
end
\ No newline at end of file