summaryrefslogtreecommitdiff
path: root/spec/integration/ruby/bundler_spec.rb
blob: 179da2a8b2d9a5e6ecb6b02ce822334a41ce77af (plain)
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
require 'spec_helper'

RSpec.describe "bundler" do
  context "when the project depends on an older version of ruby specified in a `.ruby-version` file" do
    it 'installs the required ruby and produces a valid report' do
      runner.add_file('.ruby-version', 'ruby-2.4.9')
      runner.add_file('Gemfile') do
        <<~RAW
source 'https://rubygems.org'

gem 'saml-kit'
        RAW
      end

      report = runner.scan
      expect(report).not_to be_empty
      expect(report[:licenses]).not_to be_empty
      expect(report[:dependencies].map { |x| x[:name] }).to include("saml-kit")
    end
  end

  context "when a project depends on an older version of bundler" do
    it 'produces a valid report' do
      runner.add_file('Gemfile') do
        <<~RAW
source 'https://rubygems.org'

gem 'saml-kit'
        RAW
      end
      runner.add_file('Gemfile.lock') do
        <<~RAW
GEM
  remote: https://rubygems.org/
  specs:
    activemodel (6.0.2.1)
      activesupport (= 6.0.2.1)
    activesupport (6.0.2.1)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 0.7, < 2)
      minitest (~> 5.1)
      tzinfo (~> 1.1)
      zeitwerk (~> 2.2)
    builder (3.2.4)
    concurrent-ruby (1.1.5)
    i18n (1.7.1)
      concurrent-ruby (~> 1.0)
    mini_portile2 (2.4.0)
    minitest (5.13.0)
    net-hippie (0.2.7)
    nokogiri (1.10.7)
      mini_portile2 (~> 2.4.0)
    saml-kit (1.1.0)
      activemodel (>= 4.2.0)
      net-hippie (~> 0.1)
      xml-kit (>= 0.3.0, < 1.0.0)
    thread_safe (0.3.6)
    tilt (2.0.10)
    tzinfo (1.2.6)
      thread_safe (~> 0.1)
    xml-kit (0.4.0)
      activemodel (>= 4.2.0)
      builder (~> 3.2)
      nokogiri (~> 1.10)
      tilt (>= 1.4.1)
      xmldsig (~> 0.6)
    xmldsig (0.6.6)
      nokogiri (>= 1.6.8, < 2.0.0)
    zeitwerk (2.2.2)

PLATFORMS
  ruby

DEPENDENCIES
  saml-kit

BUNDLED WITH
   1.17.3
        RAW
      end

      report = runner.scan
      expect(report).not_to be_empty
      expect(report[:licenses]).not_to be_empty
      expect(report[:dependencies].map { |x| x[:name] }).to include("saml-kit")
    end
  end
end