ivy4r 0.12.7 → 0.12.8

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,14 @@
1
+ require 'rubygems'
2
+ Bundler.require(:default, :development)
3
+
4
+ # see https://github.com/rspec/rspec/wiki/autotest
5
+
6
+ Autotest.add_hook(:initialize) {|at|
7
+ at.add_exception %r{^\.git} # ignore Version Control System
8
+ at.add_exception %r{^./tmp} # ignore temp files, lest autotest will run again, and again...
9
+ at.clear_mappings # take out the default (test/test*rb)
10
+ at.add_mapping(%r{^lib/.*\.rb$}) {|f, _|
11
+ Dir['spec*/**/*.rb']
12
+ }
13
+ nil
14
+ }
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format nested
2
+ --color
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ === 0.12.8 / 2011-01-14
2
+ * Converted all tests to RSpec2 specs and grouped them according to functional and normal spec
3
+ * Started adding more specs to get a descent test coverage
4
+ * Fixed regression error on Ivy status for buildr, now the proc is used if given
5
+
1
6
  === 0.12.7 / 2011-01-06
2
7
  * Fixed error in manifest: module was organisation name.
3
8
  * info task uses the same ivy config as the other ivy tasks
data/Rakefile CHANGED
@@ -2,6 +2,7 @@ require "rubygems"
2
2
  require "bundler"
3
3
  require "rake"
4
4
  require "rake/testtask"
5
+ Bundler.require(:default, :development)
5
6
 
6
7
  $:.unshift File.join(File.dirname(__FILE__),'lib')
7
8
  require "ivy4r/version"
@@ -11,14 +12,7 @@ require "rspec/core/rake_task"
11
12
  RSpec::Core::RakeTask.new :spec
12
13
  #task :default => :spec
13
14
 
14
- desc "Functional test execution not that this only works under MRI and not with JRuby 1.5.1"
15
- Rake::TestTask.new :test_functional do |t|
16
- Bundler.require :development
17
- t.test_files = FileList['test-functional/**/test*.rb']
18
- t.verbose = true
19
- end
20
-
21
- task :build => :test_functional do
15
+ task :build do
22
16
  system "gem build ivy4r.gemspec"
23
17
  end
24
18
 
@@ -0,0 +1 @@
1
+ Autotest.add_discovery { "rspec2" }
@@ -23,7 +23,8 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency 'Antwrap', '>= 0.7.0'
24
24
  s.add_dependency 'ivy4r-jars', '>= 1.2.0'
25
25
 
26
- s.add_development_dependency 'rspec', '>= 2.0.0'
27
- s.add_development_dependency 'mocha', '>= 0.9.8'
28
- s.add_development_dependency 'rr' # for old functional tests
26
+ s.add_development_dependency 'autotest', '>=4.4.6'
27
+ s.add_development_dependency 'ZenTest', '>=4.4.2'
28
+ s.add_development_dependency 'rspec', '>= 2.4.0'
29
+ s.add_development_dependency 'rr', '>=1.0.2'
29
30
  end
@@ -268,7 +268,7 @@ module Buildr
268
268
  if @status_calc
269
269
  @status ||= @status_calc.call(self)
270
270
  else
271
- @status ||= Ivy.setting('status') || 'integration'
271
+ @status
272
272
  end
273
273
  elsif status.empty? && block.nil?
274
274
  raise "status value invalid #{status.join(', ')}" unless status.size == 1
@@ -1,3 +1,3 @@
1
1
  class Ivy4r
2
- VERSION = "0.12.7"
2
+ VERSION = "0.12.8"
3
3
  end
@@ -0,0 +1,86 @@
1
+ describe "Ivy::Target" do
2
+
3
+ before(:each) do
4
+ Ivy::Target.send(:public, :call_nested) # make tested method public
5
+ @ant = Object.new
6
+ @target = Ivy::Target.new(@ant)
7
+ end
8
+
9
+ it "#call_nested(single data) should make correct calls" do
10
+ nested = {
11
+ :fileset => {
12
+ :includes => 'bla',
13
+ :excludes => 'blub',
14
+ :dir => 'anything'
15
+ }
16
+ }
17
+ mock(@ant).fileset(nested[:fileset])
18
+
19
+ @target.call_nested(nested)
20
+ end
21
+
22
+ it "#call_nested(multi data) should make correct calls" do
23
+ nested = {
24
+ :fileset => {
25
+ :includes => 'bla',
26
+ :excludes => 'blub',
27
+ :dir => 'anything'
28
+ },
29
+ :other => {
30
+ :param => 'myparam'
31
+ }
32
+ }
33
+ mock(@ant).fileset nested[:fileset]
34
+ mock(@ant).other nested[:other]
35
+
36
+ @target.call_nested(nested)
37
+ end
38
+
39
+ it "#call_nested(single data list) should make correct calls" do
40
+ nested = {
41
+ :fileset => [
42
+ {
43
+ :includes => 'bla',
44
+ :excludes => 'blub',
45
+ :dir => 'anything'
46
+ },
47
+ {
48
+ :includes => 'otherbla',
49
+ :excludes => 'otherblub',
50
+ :dir => 'otheranything'
51
+ }
52
+ ]
53
+ }
54
+ mock(@ant).fileset nested[:fileset][0]
55
+ mock(@ant).fileset nested[:fileset][1]
56
+
57
+ @target.call_nested(nested)
58
+ end
59
+
60
+ it "#call_nested(recursive data) should make correct calls" do
61
+ nested = {
62
+ :taskdef =>
63
+ {
64
+ :name => 'bla',
65
+ :nested => {
66
+ :fileset => {
67
+ :includes => 'bla',
68
+ :excludes => 'blub',
69
+ :dir => 'anything'}
70
+ }
71
+ }
72
+ }
73
+
74
+ # define the method that yields if a block is given, to test the nested stuff
75
+ def @ant.taskdef(p)
76
+ raise "Invalid params to many" unless p.size == 1
77
+ raise "Wrong parameter value" unless 'bla' == p[:name]
78
+ raise "missing block for method" unless block_given?
79
+ yield
80
+ end
81
+ mock(@ant).fileset nested[:taskdef][:nested][:fileset]
82
+
83
+ @target.call_nested(nested)
84
+ end
85
+
86
+ end
@@ -0,0 +1,27 @@
1
+ describe "Ivy::Targets" do
2
+
3
+ before(:each) do
4
+ ivy4r = Ivy4r.new
5
+ @ivy_test_xml = File.join(File.dirname(__FILE__), '..', '..', 'spec_files', 'ivy.xml')
6
+ @info = Ivy::Info.new(ivy4r.ant)
7
+ end
8
+
9
+ it "#execute with empty parameters missing mandatory error" do
10
+ lambda{ @info.execute({}) }.should raise_error(ArgumentError)
11
+ end
12
+
13
+ it "#execute validate with unknown parameters error" do
14
+ lambda{ @info.execute(:unknown_parameter => 'unknown') }.should raise_error(ArgumentError)
15
+ end
16
+
17
+ it "#execute simple file correct return values" do
18
+ result = @info.execute(:file => @ivy_test_xml)
19
+
20
+ result.should_not be nil
21
+ %w[ivy.organisation ivy.revision ivy.module].each do |var|
22
+ result.keys.should include(var)
23
+ end
24
+ result['ivy.organisation'].should eq('blau')
25
+ end
26
+
27
+ end
@@ -0,0 +1,50 @@
1
+ describe "::Ivy4r" do
2
+
3
+ before(:each) do
4
+ @ivy4r = Ivy4r.new
5
+ @ivy_xml = File.join(File.dirname(__FILE__), '..', 'spec_files', 'ivy.xml')
6
+ @ivy_settings_xml = File.join(File.dirname(__FILE__), '..', 'spec_files', 'ivysettings.xml')
7
+ end
8
+
9
+ it "#ant returns default AntWrapper" do
10
+ @ivy4r.ant.should_not be nil
11
+ @ivy4r.ant.should be_kind_of(::Antwrap::AntProject)
12
+ @ivy4r.ant.basedir.should eq(Dir.pwd)
13
+ @ivy4r.ant.declarative.should be true
14
+ end
15
+
16
+ it "#ant returns always same instance" do
17
+ @ivy4r.ant.should be @ivy4r.ant
18
+ end
19
+
20
+ it "#ant returns provided instance if set previously" do
21
+ provided = "bla"
22
+ @ivy4r.ant = provided
23
+ @ivy4r.instance_eval("@init_done = true")
24
+ @ivy4r.ant.should be provided
25
+ end
26
+
27
+ it "#cleancache returns nil" do
28
+ @ivy4r.cleancache.should be nil
29
+ end
30
+
31
+ it "#info returns data from used ivy.xml" do
32
+ result = @ivy4r.info :file => @ivy_xml
33
+
34
+ result.should_not be nil
35
+ result['ivy.organisation'].should eq('blau')
36
+ result['ivy.module'].should eq('testmodule')
37
+ result['ivy.revision'].should eq('2.20.0')
38
+ end
39
+
40
+ it "#settings returns nil" do
41
+ @ivy4r.settings(:file => @ivy_settings_xml).should be nil
42
+ end
43
+
44
+ it "#configure returns custom properties" do
45
+ result = @ivy4r.configure(:file => @ivy_settings_xml)
46
+
47
+ result.should_not be nil
48
+ result['myparam.ivy.instance'].should eq('myvalue')
49
+ end
50
+ end
@@ -0,0 +1,10 @@
1
+ require 'ivy4r'
2
+ Bundler.require(:default, :development)
3
+
4
+ require 'rspec'
5
+
6
+ JRuby.objectspace = true if RUBY_PLATFORM == 'java'
7
+
8
+ Rspec.configure do |c|
9
+ c.mock_with :rr
10
+ end
@@ -0,0 +1,131 @@
1
+ describe "Test Functional ::Ivy4r" do
2
+
3
+ before(:each) do
4
+ @ivy4r = Ivy4r.new
5
+ spec_files = File.join(File.dirname(__FILE__), '..', 'spec_files')
6
+ @ivy_xml = File.join(spec_files, 'ivy.xml')
7
+ @ivy_settings_xml = File.join(spec_files, 'ivysettings.xml')
8
+ @buildlist_dir = File.join(spec_files, 'buildlist')
9
+ end
10
+
11
+ it "#buildnumber returns next version" do
12
+ result = @ivy4r.buildnumber :organisation => 'oro', :module => 'oro'
13
+
14
+ result.should_not be nil
15
+ result['ivy.revision'].should eq('2.0.8')
16
+ result['ivy.new.revision'].should eq('2.0.9')
17
+ result['ivy.build.number'].should eq('8')
18
+ result['ivy.new.build.number'].should eq('9')
19
+ end
20
+
21
+ it "#resolve returns resolve values as map" do
22
+ result = @ivy4r.resolve :file => @ivy_xml
23
+
24
+ result.should_not be nil
25
+ result['ivy.organisation'].should eq('blau')
26
+ result['ivy.resolved.configurations'].size.should eq(4)
27
+ end
28
+
29
+ it "#cachpath contains correct jars from previous resolve" do
30
+ @ivy4r.resolve :organisation => "oro", :module => "oro", :revision => "2.0.8", :keep => true, :inline => true
31
+ result = @ivy4r.cachepath :pathid => 'mytestpathid'
32
+
33
+ result.any? {|a| a =~ /.*oro.*\.jar/ && a =~ /.*2\.0\.8*/ }.should be true
34
+ end
35
+
36
+ it "#cachpath with inline resolve contains correct jars" do
37
+ result = @ivy4r.cachepath :organisation => "oro", :module => "oro", :revision => "2.0.8", :inline => true, :pathid => 'mytestpathid'
38
+
39
+ result.any? {|a| a =~ /.*oro.*\.jar/ && a =~ /.*2\.0\.8*/ }.should be true
40
+ end
41
+
42
+ it "#findrevision finds correct version" do
43
+ result = @ivy4r.findrevision :organisation => "oro", :module => "oro", :revision => "2.0.8"
44
+
45
+ result.should eq('2.0.8')
46
+ end
47
+
48
+ it "#findrevision returns nil for unknown revision on existing module" do
49
+ result = @ivy4r.findrevision :organisation => "oro", :module => "oro", :revision => "1unknown1"
50
+
51
+ result.should be nil
52
+ end
53
+
54
+ it "#artifactproperty dependencies are contained in result" do
55
+ @ivy4r.resolve :file => @ivy_xml
56
+ result = @ivy4r.artifactproperty :name => '[organisation]-[module]', :value => '[revision]'
57
+
58
+ result.any? {|k,v| k == 'oro-oro' && v == '2.0.8' }.should be true
59
+ end
60
+
61
+ it "#artifactreport creates xml report file" do
62
+ begin
63
+ target = File.join(Dir.pwd, "temp_test#{Time.new.strftime('%Y%m%d%H%M%S')}")
64
+ FileUtils.mkdir(target)
65
+ @ivy4r.resolve :file => @ivy_xml
66
+ result = @ivy4r.artifactreport :tofile => File.join(target, 'test.xml')
67
+
68
+ result.should_not be nil
69
+ result.should match(/.*<module organisation="oro".*/)
70
+ ensure
71
+ FileUtils.rm_rf target
72
+ end
73
+ end
74
+
75
+ it "#retrieve creates directory with artifacts" do
76
+ begin
77
+ target = File.join(Dir.pwd, "temp_test#{Time.new.strftime('%Y%m%d%H%M%S')}")
78
+ FileUtils.mkdir(target)
79
+ @ivy4r.resolve :file => @ivy_xml
80
+ @ivy4r.retrieve :pattern => "#{target}/[organisation]/[module].[ext]"
81
+
82
+ Dir.glob(File.join(target, '**/oro.jar')).size.should be > 0
83
+ ensure
84
+ FileUtils.rm_rf target
85
+ end
86
+ end
87
+
88
+ it "#report creates reports" do
89
+ begin
90
+ target = File.join(Dir.pwd, "temp_test#{Time.new.strftime('%Y%m%d%H%M%S')}")
91
+ FileUtils.mkdir(target)
92
+ @ivy4r.resolve :file => @ivy_xml
93
+ @ivy4r.report :todir => target
94
+
95
+ Dir.glob(File.join(target, '**/*')).size.should be > 0
96
+ ensure
97
+ FileUtils.rm_rf target
98
+ end
99
+ end
100
+
101
+ it "#buildlist returns list in correct order for linear build" do
102
+ target = @buildlist_dir
103
+ result = @ivy4r.buildlist :reference => 'testpath', :nested => {
104
+ :fileset => [
105
+ {:dir => File.join(target, "sub"), :includes => '**/buildfile'},
106
+ {:dir => File.join(target, "p1"), :includes => 'buildfile'}
107
+ ]
108
+ }
109
+
110
+ result.size.should be 3
111
+ result.map! { |file| File.expand_path(file) }
112
+ File.expand_path(File.join(target, "p1", "buildfile")).should eq(result[0])
113
+ File.expand_path(File.join(target, "sub", "p2", "buildfile")).should eq(result[1])
114
+ File.expand_path(File.join(target, "sub", "p3", "buildfile")).should eq(result[2])
115
+ end
116
+
117
+ it "#makepom creates a pom for ivy.xml" do
118
+ begin
119
+ target = File.join(File.dirname(__FILE__), "testpom.xml")
120
+ result = @ivy4r.makepom :ivyfile => @ivy_xml, :pomfile => target, :nested => {
121
+ :mapping => {:conf => 'default', :scope => 'runtime' }
122
+ }
123
+
124
+ IO.read(target).should eq(result)
125
+ ensure
126
+ FileUtils.rm target
127
+ end
128
+
129
+ end
130
+ end
131
+
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 12
8
- - 7
9
- version: 0.12.7
8
+ - 8
9
+ version: 0.12.8
10
10
  platform: ruby
11
11
  authors:
12
12
  - Klaas Reineke
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-06 00:00:00 +01:00
17
+ date: 2011-01-14 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -60,45 +60,61 @@ dependencies:
60
60
  prerelease: false
61
61
  type: :runtime
62
62
  - !ruby/object:Gem::Dependency
63
- name: rspec
63
+ name: autotest
64
64
  version_requirements: &id004 !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  segments:
69
- - 2
70
- - 0
71
- - 0
72
- version: 2.0.0
69
+ - 4
70
+ - 4
71
+ - 6
72
+ version: 4.4.6
73
73
  requirement: *id004
74
74
  prerelease: false
75
75
  type: :development
76
76
  - !ruby/object:Gem::Dependency
77
- name: mocha
77
+ name: ZenTest
78
78
  version_requirements: &id005 !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  segments:
83
- - 0
84
- - 9
85
- - 8
86
- version: 0.9.8
83
+ - 4
84
+ - 4
85
+ - 2
86
+ version: 4.4.2
87
87
  requirement: *id005
88
88
  prerelease: false
89
89
  type: :development
90
90
  - !ruby/object:Gem::Dependency
91
- name: rr
91
+ name: rspec
92
92
  version_requirements: &id006 !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  segments:
97
+ - 2
98
+ - 4
97
99
  - 0
98
- version: "0"
100
+ version: 2.4.0
99
101
  requirement: *id006
100
102
  prerelease: false
101
103
  type: :development
104
+ - !ruby/object:Gem::Dependency
105
+ name: rr
106
+ version_requirements: &id007 !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ segments:
111
+ - 1
112
+ - 0
113
+ - 2
114
+ version: 1.0.2
115
+ requirement: *id007
116
+ prerelease: false
117
+ type: :development
102
118
  description: Ivy4r is a Ruby interface for Apache Ivy dependency management library. Offers support for using Ivy with Buildr and Rake.
103
119
  email:
104
120
  - klaas.reineke@googlemail.com
@@ -109,12 +125,15 @@ extensions: []
109
125
  extra_rdoc_files: []
110
126
 
111
127
  files:
128
+ - .autotest
112
129
  - .gitignore
113
130
  - .project
131
+ - .rspec
114
132
  - CHANGELOG
115
133
  - Gemfile
116
134
  - README.txt
117
135
  - Rakefile
136
+ - autotest/discover.rb
118
137
  - ivy4r.gemspec
119
138
  - lib/buildr/ivy_extension.rb
120
139
  - lib/ivy/artifactproperty.rb
@@ -141,17 +160,19 @@ files:
141
160
  - lib/ivy4r/version.rb
142
161
  - lib/ivy4r_java_extensions.rb
143
162
  - lib/rake/ivy_extension.rb
144
- - test-functional/buildlist/p1/buildfile
145
- - test-functional/buildlist/p1/ivy.xml
146
- - test-functional/buildlist/sub/p2/buildfile
147
- - test-functional/buildlist/sub/p2/ivy.xml
148
- - test-functional/buildlist/sub/p3/buildfile
149
- - test-functional/buildlist/sub/p3/ivy.xml
150
- - test-functional/ivy/ivysettings.xml
151
- - test-functional/ivy/ivytest.xml
152
- - test-functional/ivy/test_target.rb
153
- - test-functional/ivy/test_targets.rb
154
- - test-functional/test_ivy4r.rb
163
+ - spec/ivy/target_spec.rb
164
+ - spec/ivy/targets_spec.rb
165
+ - spec/ivy4r_spec.rb
166
+ - spec/spec_helper.rb
167
+ - spec_files/buildlist/p1/buildfile
168
+ - spec_files/buildlist/p1/ivy.xml
169
+ - spec_files/buildlist/sub/p2/buildfile
170
+ - spec_files/buildlist/sub/p2/ivy.xml
171
+ - spec_files/buildlist/sub/p3/buildfile
172
+ - spec_files/buildlist/sub/p3/ivy.xml
173
+ - spec_files/ivy.xml
174
+ - spec_files/ivysettings.xml
175
+ - spec_functional/ivy4r_spec.rb
155
176
  has_rdoc: true
156
177
  homepage: http://github.com/klaas1979/ivy4r
157
178
  licenses: []
@@ -1,99 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'..','..','lib')
2
-
3
- JRuby.objectspace = true if RUBY_PLATFORM == 'java'
4
-
5
- require 'test/unit'
6
- require 'rr'
7
- require 'ivy/target'
8
-
9
- class Test::Unit::TestCase
10
- include RR::Adapters::TestUnit
11
- end
12
-
13
- module Ivy
14
- class TargetTest < Test::Unit::TestCase
15
-
16
- def setup
17
- Ivy::Target.send(:public, :call_nested) # make tested method public
18
- @ant = Object.new
19
- @target = Ivy::Target.new(@ant)
20
- end
21
-
22
- def test_call_nested_simple
23
- nested = {
24
- :fileset => {
25
- :includes => 'bla',
26
- :excludes => 'blub',
27
- :dir => 'anything'
28
- }
29
- }
30
- mock(@ant).fileset(nested[:fileset])
31
-
32
- @target.call_nested(nested)
33
- end
34
-
35
- def test_call_nested_multiply
36
- nested = {
37
- :fileset => {
38
- :includes => 'bla',
39
- :excludes => 'blub',
40
- :dir => 'anything'
41
- },
42
- :other => {
43
- :param => 'myparam'
44
- }
45
- }
46
- mock(@ant).fileset nested[:fileset]
47
- mock(@ant).other nested[:other]
48
-
49
- @target.call_nested(nested)
50
- end
51
-
52
- def test_call_nested_list_with_same_method
53
- nested = {
54
- :fileset => [
55
- {
56
- :includes => 'bla',
57
- :excludes => 'blub',
58
- :dir => 'anything'
59
- },
60
- {
61
- :includes => 'otherbla',
62
- :excludes => 'otherblub',
63
- :dir => 'otheranything'
64
- }
65
- ]
66
- }
67
- mock(@ant).fileset nested[:fileset][0]
68
- mock(@ant).fileset nested[:fileset][1]
69
-
70
- @target.call_nested(nested)
71
- end
72
-
73
- def test_call_recursive_nested
74
- nested = {
75
- :taskdef =>
76
- {
77
- :name => 'bla',
78
- :nested => {
79
- :fileset => {
80
- :includes => 'bla',
81
- :excludes => 'blub',
82
- :dir => 'anything'}
83
- }
84
- }
85
- }
86
-
87
- # define the method that yields if a block is given, to test the nested stuff
88
- def @ant.taskdef(p)
89
- raise "Invalid params to many" unless p.size == 1
90
- raise "Wrong parameter value" unless 'bla' == p[:name]
91
- raise "missing block for method" unless block_given?
92
- yield
93
- end
94
- mock(@ant).fileset nested[:taskdef][:nested][:fileset]
95
-
96
- @target.call_nested(nested)
97
- end
98
- end
99
- end
@@ -1,34 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'..','..','lib')
2
-
3
- require 'test/unit'
4
- require 'ivy/targets'
5
- require 'ivy4r'
6
-
7
- module Ivy
8
- class TargetsTest < Test::Unit::TestCase
9
-
10
- def setup
11
- ivy4r = Ivy4r.new
12
- @ivy_test_xml = File.join(File.dirname(__FILE__), 'ivytest.xml')
13
- @info = Ivy::Info.new(ivy4r.ant)
14
- end
15
-
16
- def test_execute_empty_parameters_missing_mandatory_exception
17
- assert_raise(ArgumentError) { @info.execute({}) }
18
- end
19
-
20
- def test_execute_validate_with_unkown_parameter_exception
21
- assert_raise(ArgumentError) { @info.execute(:unknown_parameter => 'unknown') }
22
- end
23
-
24
- def test_execute_simple_file_correct_return_values
25
- result = @info.execute(:file => @ivy_test_xml)
26
-
27
- assert_not_nil result
28
- %w[ivy.organisation ivy.revision ivy.module].each do |var|
29
- assert_equal true, result.keys.member?(var), "Contains key '#{var}', has '#{result.keys.join(', ')}'"
30
- end
31
- assert_equal 'blau', result['ivy.organisation']
32
- end
33
- end
34
- end
@@ -1,196 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__),'..','..','lib')
2
-
3
- require 'rubygems'
4
- require 'test/unit'
5
- require 'ivy4r'
6
- require 'antwrap'
7
- require 'fileutils'
8
-
9
- module Ivy
10
- class Ivy4rTest < Test::Unit::TestCase
11
-
12
- def setup
13
- @ivy4r = Ivy4r.new
14
- @ivy_test_xml = File.join(File.dirname(__FILE__), 'ivy', 'ivytest.xml')
15
- end
16
-
17
- def test_ant_returns_default_wrapper
18
- assert_not_nil @ivy4r.ant
19
- assert_kind_of ::Antwrap::AntProject, @ivy4r.ant
20
- assert_equal Dir.pwd, @ivy4r.ant.basedir
21
- assert_equal true, @ivy4r.ant.declarative
22
- end
23
-
24
- def test_ant_returns_always_same_instance
25
- first = @ivy4r.ant
26
- second = @ivy4r.ant
27
- assert_same first, second
28
- end
29
-
30
- def test_ant_returns_set_instance_if_provided
31
- provided = "bla"
32
- @ivy4r.ant = provided
33
- @ivy4r.instance_eval("@init_done = true")
34
- assert_equal provided, @ivy4r.ant
35
- end
36
-
37
- def test_cleancache_returns_nil
38
- result = @ivy4r.cleancache
39
-
40
- assert_nil result
41
- end
42
-
43
- def test_info_returns_values_for_file
44
- result = @ivy4r.info :file => @ivy_test_xml
45
-
46
- assert_not_nil result
47
- assert_equal 'blau', result['ivy.organisation']
48
- end
49
-
50
- def test_buildnumber_returns_infos
51
- result = @ivy4r.buildnumber :organisation => 'oro', :module => 'oro'
52
-
53
- assert_not_nil result
54
- assert_equal '2.0.8', result['ivy.revision']
55
- assert_equal '2.0.9', result['ivy.new.revision']
56
- assert_equal '8', result['ivy.build.number']
57
- assert_equal '9', result['ivy.new.build.number']
58
- end
59
-
60
- def test_settings_returns_nil
61
- result = @ivy4r.settings :file => File.join(File.dirname(__FILE__), 'ivy', 'ivysettings.xml')
62
-
63
- assert_nil result
64
- end
65
-
66
- def test_configure_returns_custom_properties
67
- result = @ivy4r.configure :file => File.join(File.dirname(__FILE__), 'ivy', 'ivysettings.xml')
68
-
69
- assert_not_nil result
70
- assert_equal 'myvalue', result['myparam.ivy.instance']
71
- end
72
-
73
- =begin
74
- def test_property_setting_getting_to_from_ant
75
- # use a java hashmap for testing!!
76
- @ivy4r.instance_eval("def ant_properties;@ant_properties||=java.util.HashMap.new;end")
77
- name, value = 'name', 'value'
78
- @ivy4r.property[name] = value
79
-
80
- assert_equal value, @ivy4r.property[name]
81
- end
82
-
83
- =end
84
- def test_resolve_values_for_file
85
- result = @ivy4r.resolve :file => @ivy_test_xml
86
-
87
- assert_not_nil result
88
- assert_equal 'blau', result['ivy.organisation']
89
- assert_equal 4, result['ivy.resolved.configurations'].size, "has: #{result['ivy.resolved.configurations'].join(', ')}"
90
- end
91
-
92
- def test_cachepath_using_previous_resolve_contains_jar
93
- @ivy4r.resolve :organisation => "oro", :module => "oro", :revision => "2.0.8", :keep => true, :inline => true
94
- result = @ivy4r.cachepath :pathid => 'mytestpathid'
95
-
96
- assert_not_nil result
97
- assert result.any? {|a| a =~ /.*oro.*\.jar/ && a =~ /.*2\.0\.8*/ }
98
- end
99
-
100
- def test_cachepath_with_resolve_contains_jars
101
- result = @ivy4r.cachepath :organisation => "oro", :module => "oro", :revision => "2.0.8", :inline => true, :pathid => 'mytestpathid'
102
-
103
- assert_not_nil result
104
- assert result.any? {|a| a =~ /.*oro.*\.jar/ && a =~ /.*2\.0\.8*/ }
105
- end
106
-
107
- def test_findrevision_found_correct_version
108
- result = @ivy4r.findrevision :organisation => "oro", :module => "oro", :revision => "2.0.8"
109
-
110
- assert_equal '2.0.8', result
111
- end
112
-
113
- def test_findrevision_not_found_nil
114
- result = @ivy4r.findrevision :organisation => "oro", :module => "oro", :revision => "1unknown1"
115
-
116
- assert_nil result
117
- end
118
-
119
- def test_artifactproperty_deps_contained
120
- @ivy4r.resolve :file => @ivy_test_xml
121
- result = @ivy4r.artifactproperty :name => '[organisation]-[module]', :value => '[revision]'
122
-
123
- assert_not_nil result
124
- assert result.any? {|k,v| k == 'oro-oro' && v == '2.0.8' }
125
- end
126
-
127
- def test_artifactreport_xml_returned
128
- target = File.join(Dir.pwd, "temp_test#{Time.new.strftime('%Y%m%d%H%M%S')}")
129
- FileUtils.mkdir(target)
130
- @ivy4r.resolve :file => @ivy_test_xml
131
- result = @ivy4r.artifactreport :tofile => File.join(target, 'test.xml')
132
-
133
- assert_not_nil result
134
- assert result =~ /.*<module organisation="oro".*/
135
- ensure
136
- FileUtils.rm_rf target
137
- end
138
-
139
- def test_retrieve_created_dir_with_artifacts
140
- target = File.join(Dir.pwd, "temp_test#{Time.new.strftime('%Y%m%d%H%M%S')}")
141
- FileUtils.mkdir(target)
142
- @ivy4r.resolve :file => @ivy_test_xml
143
- result = @ivy4r.retrieve :pattern => "#{target}/[organisation]/[module].[ext]"
144
-
145
- assert_nil result
146
- assert Dir.glob(File.join(target, '**/oro.jar')).size > 0, "Contains the artifacts"
147
- ensure
148
- FileUtils.rm_rf target
149
- end
150
-
151
- def test_report_created_reports
152
- target = File.join(Dir.pwd, "temp_test#{Time.new.strftime('%Y%m%d%H%M%S')}")
153
- FileUtils.mkdir(target)
154
- @ivy4r.resolve :file => @ivy_test_xml
155
- result = @ivy4r.report :todir => target
156
-
157
- assert_nil result
158
- assert Dir.glob(File.join(target, '**/*')).size > 0, "Contains the reports"
159
- ensure
160
- FileUtils.rm_rf target
161
- end
162
-
163
- def test_buildlist_correct_list
164
- target = File.join(File.dirname(__FILE__), "buildlist")
165
- result = @ivy4r.buildlist :reference => 'testpath', :nested => {
166
- :fileset => [
167
- {:dir => File.join(target, "sub"), :includes => '**/buildfile'},
168
- {:dir => File.join(target, "p1"), :includes => 'buildfile'}
169
- ]
170
- }
171
-
172
- assert_equal 3, result.size
173
- result.map! { |file| File.expand_path(file) }
174
- assert_equal File.expand_path(File.join(target, "p1", "buildfile")), result[0]
175
- assert_equal File.expand_path(File.join(target, "sub", "p2", "buildfile")), result[1]
176
- assert_equal File.expand_path(File.join(target, "sub", "p3", "buildfile")), result[2]
177
- end
178
-
179
- def test_makepom_returns_content
180
- target = File.join(File.dirname(__FILE__), "testpom.xml")
181
- result = @ivy4r.makepom :ivyfile => @ivy_test_xml, :pomfile => target, :nested => {
182
- :mapping => {:conf => 'default', :scope => 'runtime' }
183
- }
184
-
185
- assert_equal IO.read(target), result
186
- ensure
187
- FileUtils.rm target
188
- end
189
-
190
- #def test_listmodules_lists_ivy_stuff
191
- # result = @antwrap.listmodules :organisation => '*apache*', :module => '*ivy*', :revision => '2.*',
192
- # :matcher => 'glob', :property => 'rums-[organisation][module]', :value => 'found'
193
- # assert result.find {|k,v| k =~ /rums-/ && v == 'found'}, "found: #{result.inspect}"
194
- #end
195
- end
196
- end