File: dependency_spec.rb

package info (click to toggle)
ruby-jar-dependencies 0.5.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,172 kB
  • sloc: ruby: 2,407; sh: 137; xml: 117; java: 20; makefile: 9
file content (115 lines) | stat: -rw-r--r-- 8,550 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# frozen_string_literal: true

require File.expand_path('setup', File.dirname(__FILE__))

require 'jars/installer'

# rubocop:disable Layout/LineLength
describe Jars::Installer::Dependency do
  it 'should parse dependency line only if it is jar or pom' do
    assert_nil Jars::Installer::Dependency.new(+'something')
    assert Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:jar:3.1.0:compile:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar')
    assert Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:pom:3.1.0:compile:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar')
  end

  it 'should parse dependency line test scope' do
    dep = Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:jar:3.1.0:test:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :test
    _(dep.gav).must_equal 'org.apache.maven:maven-repository-metadata:3.1.0'
    _(dep.coord).must_equal 'org.apache.maven:maven-repository-metadata:jar:3.1.0'
    _(dep.path).must_equal 'org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
    _(dep.file).must_equal '/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
  end

  it 'should parse dependency line provided scope' do
    dep = Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:jar:3.1.0:provided:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :provided
    _(dep.gav).must_equal 'org.apache.maven:maven-repository-metadata:3.1.0'
    _(dep.coord).must_equal 'org.apache.maven:maven-repository-metadata:jar:3.1.0'
    _(dep.path).must_equal 'org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
    _(dep.file).must_equal '/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
  end

  it 'should parse dependency line runtim scope' do
    dep = Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:jar:3.1.0:compile:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.apache.maven:maven-repository-metadata:3.1.0'
    _(dep.coord).must_equal 'org.apache.maven:maven-repository-metadata:jar:3.1.0'
    _(dep.path).must_equal 'org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
    _(dep.file).must_equal '/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'

    dep = Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:jar:3.1.0:runtime:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.apache.maven:maven-repository-metadata:3.1.0'
    _(dep.coord).must_equal 'org.apache.maven:maven-repository-metadata:jar:3.1.0'
    _(dep.path).must_equal 'org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
    _(dep.file).must_equal '/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.jar'
  end

  it 'should parse pom dependency' do
    dep = Jars::Installer::Dependency.new(+'   org.apache.maven:maven-repository-metadata:pom:3.1.0:compile:/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.pom')
    _(dep.type).must_equal :pom
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.apache.maven:maven-repository-metadata:3.1.0'
    _(dep.coord).must_equal 'org.apache.maven:maven-repository-metadata:pom:3.1.0'
    _(dep.path).must_equal 'org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.pom'
    _(dep.file).must_equal '/usr/local/repository/org/apache/maven/maven-repository-metadata/3.1.0/maven-repository-metadata-3.1.0.pom'
  end

  it 'should parse dependency where artifact_id has dots' do
    dep = Jars::Installer::Dependency.new(+'   org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.0.0.M2a:compile:/usr/local/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M2a/org.eclipse.sisu.plexus-0.0.0.M2a.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.eclipse.sisu:org.eclipse.sisu.plexus:0.0.0.M2a'
    _(dep.coord).must_equal 'org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.0.0.M2a'
    _(dep.path).must_equal 'org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M2a/org.eclipse.sisu.plexus-0.0.0.M2a.jar'
    _(dep.file).must_equal '/usr/local/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M2a/org.eclipse.sisu.plexus-0.0.0.M2a.jar'
  end

  it 'should parse dependency with classifier' do
    dep = Jars::Installer::Dependency.new(+'   org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile:/usr/local/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.sonatype.sisu:sisu-guice:no_aop:3.1.0'
    _(dep.coord).must_equal 'org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0'
    _(dep.path).must_equal 'org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar'
    _(dep.file).must_equal '/usr/local/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar'
  end

  it 'should parse dependency on windows' do
    dep = Jars::Installer::Dependency.new(+'   org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile:C:\\Users\\Local\\repository\\org\\sonatype\\sisu\\sisu-guice\\3.1.0\\sisu-guice-3.1.0-no_aop.jar')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.sonatype.sisu:sisu-guice:no_aop:3.1.0'
    _(dep.coord).must_equal 'org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0'
    _(dep.path).must_equal 'org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar'
    _(dep.file).must_equal 'C:\\Users\\Local\\repository\\org\\sonatype\\sisu\\sisu-guice\\3.1.0\\sisu-guice-3.1.0-no_aop.jar'
  end

  # these next two combine every possible oddity to try to cover all combinations (classifier, windows path, ANSI and module)

  it 'should parse dependency with module section' do
    dep = Jars::Installer::Dependency.new(+'   org.eclipse.sisu:org.eclipse.sisu.plexus:jar:no_aop:0.0.0.M2a:compile:C:\\Users\\Local\\repository\\org\\sonatype\\sisu\\org.eclipse.sisu.plexus\\0.0.0.M2a\\org.eclipse.sisu.plexus-0.0.0.M2a-no_aop.jar -- module org.sonatype.sisu.sisu-guice')
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.eclipse.sisu:org.eclipse.sisu.plexus:no_aop:0.0.0.M2a'
    _(dep.coord).must_equal 'org.eclipse.sisu:org.eclipse.sisu.plexus:jar:no_aop:0.0.0.M2a'
    _(dep.path).must_equal 'org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M2a/org.eclipse.sisu.plexus-0.0.0.M2a-no_aop.jar'
    _(dep.file).must_equal 'C:\\Users\\Local\\repository\\org\\sonatype\\sisu\\org.eclipse.sisu.plexus\\0.0.0.M2a\\org.eclipse.sisu.plexus-0.0.0.M2a-no_aop.jar'
  end

  it 'should parse dependency with ANSI-colored module section' do
    dep = Jars::Installer::Dependency.new(+"   org.eclipse.sisu:org.eclipse.sisu.plexus:jar:no_aop:0.0.0.M2a:compile:C:\\Users\\Local\\repository\\org\\sonatype\\sisu\\org.eclipse.sisu.plexus\\0.0.0.M2a\\org.eclipse.sisu.plexus-0.0.0.M2a-no_aop.jar\e[31m -- module org.sonatype.sisu.sisu-guice\e[m")
    _(dep.type).must_equal :jar
    _(dep.scope).must_equal :runtime
    _(dep.gav).must_equal 'org.eclipse.sisu:org.eclipse.sisu.plexus:no_aop:0.0.0.M2a'
    _(dep.coord).must_equal 'org.eclipse.sisu:org.eclipse.sisu.plexus:jar:no_aop:0.0.0.M2a'
    _(dep.path).must_equal 'org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M2a/org.eclipse.sisu.plexus-0.0.0.M2a-no_aop.jar'
    _(dep.file).must_equal 'C:\\Users\\Local\\repository\\org\\sonatype\\sisu\\org.eclipse.sisu.plexus\\0.0.0.M2a\\org.eclipse.sisu.plexus-0.0.0.M2a-no_aop.jar'
  end
end
# rubocop:enable Layout/LineLength