openx 1.0.0

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,82 @@
1
+ require 'helper'
2
+ require 'date'
3
+
4
+ class BannerTest < OpenX::TestCase
5
+ def test_destroy
6
+ params = init_params
7
+ banner = Banner.create!(params)
8
+ id = banner.id
9
+ assert_nothing_raised {
10
+ banner.destroy
11
+ }
12
+ assert_raises(XMLRPC::FaultException) {
13
+ Banner.find(id)
14
+ }
15
+ end
16
+
17
+ def test_find
18
+ params = init_params
19
+ banner = Banner.create!(params)
20
+ assert_not_nil banner
21
+ found_banner = Banner.find(banner.id)
22
+ assert_not_nil found_banner
23
+ assert_equal(banner, found_banner)
24
+ end
25
+
26
+ def test_update
27
+ params = init_params
28
+ banner = Banner.create!(params)
29
+ assert_not_nil banner
30
+ banner.name = 'super awesome'
31
+ banner.save!
32
+
33
+ found = Banner.find(banner.id)
34
+ assert_equal('super awesome', found.name)
35
+ found.destroy
36
+ end
37
+
38
+ def test_find_all
39
+ params = init_params
40
+ banner = Banner.create!(params)
41
+ list = Banner.find(:all, banner.campaign.id)
42
+ assert list.all? { |x| x.is_a?(Banner) }
43
+ assert list.any? { |x| x == banner }
44
+ end
45
+
46
+ def test_create
47
+ banner = nil
48
+ params = init_params
49
+ assert_nothing_raised {
50
+ banner = Banner.create!(params)
51
+ }
52
+ assert_not_nil banner
53
+ params.each do |k,v|
54
+ assert_equal(v, banner.send(:"#{k}"))
55
+ end
56
+ end
57
+
58
+ def test_create_with_jpg
59
+ banner = nil
60
+ params = init_params.merge({
61
+ :image => OpenX::Image.new(File.open(TEST_JPG, 'rb'))
62
+ })
63
+ assert_nothing_raised {
64
+ banner = Banner.create!(params)
65
+ }
66
+ assert_not_nil banner
67
+ params.each do |k,v|
68
+ assert_equal(v, banner.send(:"#{k}"))
69
+ end
70
+ end
71
+
72
+ def init_params
73
+ {
74
+ :name => "Banner-#{Time.now}",
75
+ :storage_type => Banner::LOCAL_SQL,
76
+ :campaign => campaign,
77
+ :url => 'http://tenderlovemaking.com/',
78
+ :file_name => 'oogabooga',
79
+ :image => OpenX::Image.new(File.open(TEST_SWF, 'rb'))
80
+ }
81
+ end
82
+ end
@@ -0,0 +1,37 @@
1
+ require 'helper'
2
+ require 'fileutils'
3
+
4
+ class BaseTest < OpenX::TestCase
5
+ def test_configuration_reads_from_yaml
6
+ before_env = ENV['OPENX_ENV']
7
+ exists = false
8
+ contents = nil
9
+ if File.exists?(Base::CONFIGURATION_YAML)
10
+ exists = true
11
+ contents = File.read(Base::CONFIGURATION_YAML)
12
+ end
13
+
14
+ config = {
15
+ 'awesome' => {
16
+ 'username' => 'aaron',
17
+ 'password' => 'p',
18
+ 'url' => 'http://tenderlovemaking.com/',
19
+ }
20
+ }
21
+ ENV['OPENX_ENV'] = 'awesome'
22
+
23
+ Base.configuration = nil
24
+ FileUtils.mkdir_p(File.dirname(Base::CONFIGURATION_YAML))
25
+ File.open(Base::CONFIGURATION_YAML, 'wb') { |f|
26
+ f.write(YAML.dump(config))
27
+ }
28
+ assert_equal(config['awesome'], Base.configuration)
29
+
30
+ FileUtils.rm(Base::CONFIGURATION_YAML) if !exists
31
+ File.open(Base::CONFIGURATION_YAML, 'wb') { |f|
32
+ f.write(contents)
33
+ } if exists
34
+ ENV['OPENX_ENV'] = before_env
35
+ Base.configuration = nil
36
+ end
37
+ end
@@ -0,0 +1,64 @@
1
+ require 'helper'
2
+ require 'date'
3
+
4
+ class CampaignTest < OpenX::TestCase
5
+ def test_destroy
6
+ a = nil
7
+ assert_nothing_raised {
8
+ a = Campaign.create!(init_params)
9
+ }
10
+ id = a.id
11
+ assert_nothing_raised {
12
+ a.destroy
13
+ }
14
+ assert_raises(XMLRPC::FaultException) {
15
+ Campaign.find(id)
16
+ }
17
+ end
18
+
19
+ def test_create_campaign
20
+ campaign = nil
21
+ params = init_params
22
+ assert_nothing_raised {
23
+ campaign = Campaign.create!(params)
24
+ }
25
+ assert_not_nil campaign
26
+ params.each do |k,v|
27
+ assert_equal(v, campaign.send(:"#{k}"))
28
+ end
29
+ end
30
+
31
+ def test_find
32
+ a = nil
33
+ params = init_params
34
+ assert_nothing_raised {
35
+ a = Campaign.create!(params)
36
+ }
37
+ assert_not_nil a
38
+ a = Campaign.find(a.id)
39
+ assert a
40
+ assert_equal(params[:advertiser].id, a.advertiser.id)
41
+ params.each { |k,v|
42
+ assert_equal(v, a.send(:"#{k}"))
43
+ }
44
+ end
45
+
46
+ def test_find_all
47
+ a = nil
48
+ params = init_params
49
+ assert_nothing_raised {
50
+ a = Campaign.create!(params)
51
+ }
52
+ list = Campaign.find(:all, a.advertiser.id)
53
+ assert list.all? { |x| x.is_a?(Campaign) }
54
+ assert list.any? { |x| x.name == params[:name] }
55
+ end
56
+
57
+ def init_params
58
+ {
59
+ :advertiser => advertiser,
60
+ :name => "Test Campaign-#{Time.now}",
61
+ :impressions => 2000
62
+ }
63
+ end
64
+ end
@@ -0,0 +1,69 @@
1
+ require 'helper'
2
+
3
+ class PublisherTest < OpenX::TestCase
4
+ def test_update
5
+ params = init_params
6
+ publisher = Publisher.create!(params)
7
+ found_pub = Publisher.find(publisher.id)
8
+ assert_equal(publisher, found_pub)
9
+ found_pub.name = 'awesome!!!!'
10
+ found_pub.save!
11
+
12
+ found_pub = Publisher.find(publisher.id)
13
+ assert_equal('awesome!!!!', found_pub.name)
14
+ found_pub.destroy
15
+ end
16
+
17
+ def test_create
18
+ params = init_params
19
+ publisher = Publisher.create!(params)
20
+ assert_not_nil publisher
21
+ params.each do |k,v|
22
+ assert_equal(v, publisher.send(:"#{k}"))
23
+ end
24
+ publisher.destroy
25
+ end
26
+
27
+ def test_find
28
+ params = init_params
29
+ publisher = Publisher.create!(params)
30
+ assert_not_nil publisher
31
+ found_pub = Publisher.find(publisher.id)
32
+ assert_equal(publisher, found_pub)
33
+ publisher.destroy
34
+ end
35
+
36
+ def test_find_all
37
+ params = init_params
38
+ publisher = Publisher.create!(params)
39
+ publishers = Publisher.find(:all, agency.id)
40
+ pub = publishers.find { |a| a.id == publisher.id }
41
+ assert_not_nil pub
42
+ assert_equal(publisher, pub)
43
+ publisher.destroy
44
+ end
45
+
46
+ def test_destroy
47
+ params = init_params
48
+ publisher = Publisher.create!(params)
49
+ assert_not_nil publisher
50
+ id = publisher.id
51
+ assert_nothing_raised {
52
+ publisher.destroy
53
+ }
54
+ assert_raises(XMLRPC::FaultException) {
55
+ Publisher.find(id)
56
+ }
57
+ end
58
+
59
+ def init_params
60
+ {
61
+ :agency => agency,
62
+ :name => "Publisher! - #{Time.now}",
63
+ :contact_name => 'Aaron Patterson',
64
+ :email => 'aaron@tenderlovemaking.com',
65
+ :username => 'one',
66
+ :password => 'two',
67
+ }
68
+ end
69
+ end
@@ -0,0 +1,24 @@
1
+ require 'helper'
2
+
3
+ class SessionTest < OpenX::TestCase
4
+ def test_login
5
+ config = Base.configuration
6
+ session = Session.new(config['url'])
7
+ assert_nothing_raised {
8
+ session.create(config['username'], config['password'])
9
+ }
10
+ end
11
+
12
+ def test_logout
13
+ config = Base.configuration
14
+ session = Session.new(config['url'])
15
+ assert_nothing_raised {
16
+ session.create(config['username'], config['password'])
17
+ }
18
+ assert_not_nil session.id
19
+ assert_nothing_raised {
20
+ session.destroy
21
+ }
22
+ assert_nil session.id
23
+ end
24
+ end
@@ -0,0 +1,100 @@
1
+ require 'helper'
2
+
3
+ class ZoneTest < OpenX::TestCase
4
+ def test_create
5
+ params = init_params
6
+ zone = Zone.create!(params)
7
+ assert_not_nil zone
8
+ params.each do |k,v|
9
+ assert_equal(v, zone.send(:"#{k}"))
10
+ end
11
+ zone.destroy
12
+ end
13
+
14
+ def test_find
15
+ params = init_params
16
+ zone = Zone.create!(params)
17
+ assert_not_nil zone
18
+ found_zone = Zone.find(zone.id)
19
+ assert_not_nil found_zone
20
+ assert_equal(zone, found_zone)
21
+ zone.destroy
22
+ end
23
+
24
+ def test_find_all
25
+ params = init_params
26
+ zone = Zone.create!(params)
27
+ assert_not_nil zone
28
+
29
+ zones = Zone.find(:all, publisher.id)
30
+ assert_equal(zones.sort, publisher.zones.sort)
31
+ found_zone = zones.find { |z| z.id == zone.id }
32
+ assert found_zone
33
+ assert_equal(zone, found_zone)
34
+ zone.destroy
35
+ end
36
+
37
+ def test_destroy
38
+ params = init_params
39
+ zone = Zone.create!(params)
40
+ assert_not_nil zone
41
+ id = zone.id
42
+ assert_nothing_raised {
43
+ zone.destroy
44
+ }
45
+ assert_raises(XMLRPC::FaultException) {
46
+ Zone.find(id)
47
+ }
48
+ end
49
+
50
+ def test_update
51
+ params = init_params
52
+ zone = Zone.create!(params)
53
+ assert_not_nil zone
54
+
55
+ found_zone = Zone.find(zone.id)
56
+ found_zone.name = 'tenderlove'
57
+ found_zone.save!
58
+
59
+ found_zone = Zone.find(zone.id)
60
+ assert_equal('tenderlove', found_zone.name)
61
+ end
62
+
63
+ def test_link_campaign
64
+ assert zone.link_campaign(campaign)
65
+ end
66
+
67
+ def test_unlink_campaign
68
+ assert_raises(XMLRPC::FaultException) {
69
+ zone.unlink_campaign(campaign)
70
+ }
71
+ assert zone.link_campaign(campaign)
72
+ assert zone.unlink_campaign(campaign)
73
+ end
74
+
75
+ def test_link_banner
76
+ assert zone.link_banner(banner)
77
+ end
78
+
79
+ def test_unlink_banner
80
+ assert_raises(XMLRPC::FaultException) {
81
+ zone.unlink_banner(banner)
82
+ }
83
+ assert zone.link_banner(banner)
84
+ assert zone.unlink_banner(banner)
85
+ end
86
+
87
+ def test_generate_tags
88
+ assert_match(/iframe/, zone.generate_tags)
89
+ end
90
+
91
+ def init_params
92
+ {
93
+ :publisher => publisher,
94
+ :name => "Zone - #{Time.now}",
95
+ :type => Zone::BANNER,
96
+ :width => 468,
97
+ :height => 60,
98
+ }
99
+ end
100
+ end
metadata ADDED
@@ -0,0 +1,98 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: openx
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Aaron Patterson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-01-10 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.8.2
24
+ version:
25
+ description: A Ruby interface to the OpenX XML-RPC API.
26
+ email:
27
+ - aaron.patterson@gmail.com
28
+ executables: []
29
+
30
+ extensions: []
31
+
32
+ extra_rdoc_files:
33
+ - History.txt
34
+ - Manifest.txt
35
+ - README.txt
36
+ files:
37
+ - History.txt
38
+ - Manifest.txt
39
+ - README.txt
40
+ - Rakefile
41
+ - lib/openx.rb
42
+ - lib/openx/image.rb
43
+ - lib/openx/services.rb
44
+ - lib/openx/services/advertiser.rb
45
+ - lib/openx/services/agency.rb
46
+ - lib/openx/services/banner.rb
47
+ - lib/openx/services/base.rb
48
+ - lib/openx/services/campaign.rb
49
+ - lib/openx/services/publisher.rb
50
+ - lib/openx/services/session.rb
51
+ - lib/openx/services/zone.rb
52
+ - test/assets/300x250.jpg
53
+ - test/assets/cat.swf
54
+ - test/helper.rb
55
+ - test/test_advertiser.rb
56
+ - test/test_agency.rb
57
+ - test/test_banner.rb
58
+ - test/test_base.rb
59
+ - test/test_campaign.rb
60
+ - test/test_publisher.rb
61
+ - test/test_session.rb
62
+ - test/test_zone.rb
63
+ has_rdoc: true
64
+ homepage: http://openx.rubyforge.org
65
+ post_install_message:
66
+ rdoc_options:
67
+ - --main
68
+ - README.txt
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: "0"
76
+ version:
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: "0"
82
+ version:
83
+ requirements: []
84
+
85
+ rubyforge_project: openx
86
+ rubygems_version: 1.3.1
87
+ signing_key:
88
+ specification_version: 2
89
+ summary: A Ruby interface to the OpenX XML-RPC API.
90
+ test_files:
91
+ - test/test_advertiser.rb
92
+ - test/test_agency.rb
93
+ - test/test_banner.rb
94
+ - test/test_base.rb
95
+ - test/test_campaign.rb
96
+ - test/test_publisher.rb
97
+ - test/test_session.rb
98
+ - test/test_zone.rb