foreman_leapp 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +619 -0
- data/README.md +50 -0
- data/Rakefile +49 -0
- data/app/controllers/api/v2/preupgrade_reports_controller.rb +19 -0
- data/app/controllers/preupgrade_reports_controller.rb +7 -0
- data/app/helpers/concerns/foreman_leapp/hosts_helper_extensions.rb +17 -0
- data/app/helpers/concerns/foreman_leapp/remote_execution_helper_extension.rb +15 -0
- data/app/helpers/foreman_leapp/template_helper.rb +15 -0
- data/app/lib/actions/preupgrade_job.rb +35 -0
- data/app/lib/helpers/job_helper.rb +14 -0
- data/app/models/concerns/foreman_leapp/job_invocation_extensions.rb +11 -0
- data/app/models/preupgrade_report.rb +32 -0
- data/app/models/preupgrade_report_entry.rb +15 -0
- data/app/views/api/v2/preupgrade_report_entries/base.json.rabl +4 -0
- data/app/views/api/v2/preupgrade_reports/base.json.rabl +3 -0
- data/app/views/api/v2/preupgrade_reports/index.json.rabl +3 -0
- data/app/views/api/v2/preupgrade_reports/show.json.rabl +7 -0
- data/app/views/foreman_leapp/job_templates/preupgrade.erb +14 -0
- data/app/views/foreman_leapp/job_templates/remediation.erb +17 -0
- data/app/views/foreman_leapp/job_templates/upgrade.erb +16 -0
- data/app/views/job_invocations/_leapp_preupgrade_report.html.erb +10 -0
- data/app/views/preupgrade_report_entries/base.json.rabl +4 -0
- data/app/views/preupgrade_reports/index.json.rabl +3 -0
- data/app/views/preupgrade_reports/show.json.rabl +7 -0
- data/config/routes.rb +11 -0
- data/db/migrate/20200320104040_preupgrade_report_entries.rb +25 -0
- data/db/migrate/20200326142259_add_job_id_to_report.rb +6 -0
- data/db/migrate/20200327091009_add_host_to_report.rb +6 -0
- data/db/seeds.d/10_leapp_preupgrade.rb +19 -0
- data/lib/foreman_leapp/engine.rb +95 -0
- data/lib/foreman_leapp/version.rb +5 -0
- data/lib/foreman_leapp.rb +7 -0
- data/lib/tasks/foreman_leapp_tasks.rake +49 -0
- data/locale/Makefile +60 -0
- data/locale/en/foreman_leapp.po +19 -0
- data/locale/foreman_leapp.pot +19 -0
- data/locale/gemspec.rb +4 -0
- data/test/factories/foreman_leapp_factories.rb +27 -0
- data/test/functional/api/v2/preupgrade_reports_controller_test.rb +30 -0
- data/test/functional/preupgrade_reports_controller_test.rb +16 -0
- data/test/helpers/template_helper_test.rb +31 -0
- data/test/models/preupgrade_report_entry_test.rb +36 -0
- data/test/models/preupgrade_report_test.rb +46 -0
- data/test/test_plugin_helper.rb +11 -0
- data/test/unit/actions/preupgrade_job_test.rb +43 -0
- data/test/unit/helpers/job_helper_test.rb +37 -0
- metadata +141 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
# foreman_leapp
|
2
|
+
#
|
3
|
+
# This file is distributed under the same license as foreman_leapp.
|
4
|
+
#
|
5
|
+
#, fuzzy
|
6
|
+
msgid ""
|
7
|
+
msgstr ""
|
8
|
+
"Project-Id-Version: version 0.0.1\n"
|
9
|
+
"Report-Msgid-Bugs-To: \n"
|
10
|
+
"POT-Creation-Date: 2014-08-20 08:46+0100\n"
|
11
|
+
"PO-Revision-Date: 2014-08-20 08:46+0100\n"
|
12
|
+
"Last-Translator: Foreman Team <foreman-dev@googlegroups.com>\n"
|
13
|
+
"Language-Team: Foreman Team <foreman-dev@googlegroups.com>\n"
|
14
|
+
"Language: \n"
|
15
|
+
"MIME-Version: 1.0\n"
|
16
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
17
|
+
"Content-Transfer-Encoding: 8bit\n"
|
18
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
19
|
+
|
data/locale/gemspec.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :preupgrade_report do
|
5
|
+
host
|
6
|
+
reported_at { Time.now.utc }
|
7
|
+
type { 'PreupgradeReport' }
|
8
|
+
status { '0' }
|
9
|
+
end
|
10
|
+
|
11
|
+
factory :preupgrade_report_entry do
|
12
|
+
host
|
13
|
+
preupgrade_report
|
14
|
+
sequence(:title) { |n| "Leap report entry title #{n}" }
|
15
|
+
sequence(:actor) { |n| "leapp_actor#{n}" }
|
16
|
+
hostname { host.name }
|
17
|
+
audience { 'sys_admin' }
|
18
|
+
severity { 'medium' }
|
19
|
+
leapp_run_id { SecureRandom.hex(8) }
|
20
|
+
tags { %w[tag1 tag2] }
|
21
|
+
summary { '' }
|
22
|
+
detail do
|
23
|
+
{ remediations: [{ type: 'hint', context: 'meh.' },
|
24
|
+
{ type: 'command', context: ['yum', '-y', 'remove', 'leapp_pkg'] }] }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module Api
|
6
|
+
module V2
|
7
|
+
class PreupgradeReportsControllerTest < ActionController::TestCase
|
8
|
+
setup do
|
9
|
+
@host = FactoryBot.create(:host)
|
10
|
+
@report = FactoryBot.create(:preupgrade_report, host: @host)
|
11
|
+
@entry = FactoryBot.create(:preupgrade_report_entry, host: @host, preupgrade_report: @report)
|
12
|
+
end
|
13
|
+
|
14
|
+
test 'should get index' do
|
15
|
+
get :index, session: set_session_user
|
16
|
+
assert_response :success
|
17
|
+
assert_not_empty ActiveSupport::JSON.decode(@response.body)['results']
|
18
|
+
end
|
19
|
+
|
20
|
+
test 'should get detail of report and its entries' do
|
21
|
+
get :show, params: { id: @report.id }
|
22
|
+
assert_response :success
|
23
|
+
|
24
|
+
response = ActiveSupport::JSON.decode(@response.body)
|
25
|
+
assert_equal response['id'], @report.id
|
26
|
+
assert_not_empty response['preupgrade_report_entries']
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
class PreupgradeReportsControllerTest < ActionController::TestCase
|
6
|
+
setup do
|
7
|
+
@host = FactoryBot.create :host
|
8
|
+
FactoryBot.create :preupgrade_report, host: @host
|
9
|
+
end
|
10
|
+
|
11
|
+
test 'should get index' do
|
12
|
+
get :index, session: set_session_user
|
13
|
+
response = ActiveSupport::JSON.decode(@response.body)
|
14
|
+
assert_equal @host.id, response['results'].first['host_id']
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module ForemanLeapp
|
6
|
+
class TemplateHelperTest < ActionView::TestCase
|
7
|
+
let(:host) { FactoryBot.create(:host) }
|
8
|
+
let(:report) { FactoryBot.create(:preupgrade_report, host: host) }
|
9
|
+
let(:entry) { FactoryBot.create(:preupgrade_report_entry, host: host, preupgrade_report: report) }
|
10
|
+
|
11
|
+
describe 'build_remediation_plan' do
|
12
|
+
test 'with remediation commands' do
|
13
|
+
template = build_remediation_plan([entry.id], host)
|
14
|
+
assert_equal template, "yum -y remove leapp_pkg\n"
|
15
|
+
end
|
16
|
+
|
17
|
+
test 'without remediation commands' do
|
18
|
+
empty_entry = FactoryBot.create(:preupgrade_report_entry, host: host, preupgrade_report: report,
|
19
|
+
detail: { remediations: [{ type: 'hint',
|
20
|
+
context: 'meh.' }] })
|
21
|
+
template = build_remediation_plan([empty_entry.id], host)
|
22
|
+
assert_equal template, ''
|
23
|
+
end
|
24
|
+
|
25
|
+
test 'only for current host' do
|
26
|
+
template = build_remediation_plan([entry.id], FactoryBot.create(:host))
|
27
|
+
assert_equal template, ''
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
class PreupgradeReportEntryTest < ActiveSupport::TestCase
|
6
|
+
should belong_to(:preupgrade_report)
|
7
|
+
should belong_to(:host)
|
8
|
+
|
9
|
+
should validate_presence_of(:preupgrade_report)
|
10
|
+
should validate_presence_of(:host)
|
11
|
+
should validate_presence_of(:hostname)
|
12
|
+
should validate_presence_of(:title)
|
13
|
+
should validate_presence_of(:actor)
|
14
|
+
should validate_presence_of(:audience)
|
15
|
+
should validate_presence_of(:severity)
|
16
|
+
should validate_presence_of(:leapp_run_id)
|
17
|
+
|
18
|
+
describe 'remediation_details' do
|
19
|
+
setup do
|
20
|
+
@host = FactoryBot.create(:host)
|
21
|
+
|
22
|
+
report = FactoryBot.create(:preupgrade_report)
|
23
|
+
@entry1 = FactoryBot.create(:preupgrade_report_entry, preupgrade_report: report, host: @host)
|
24
|
+
@entry2 = FactoryBot.create(:preupgrade_report_entry, preupgrade_report: report, host: @host, detail: nil)
|
25
|
+
end
|
26
|
+
|
27
|
+
it do
|
28
|
+
details = PreupgradeReportEntry.remediation_details([@entry1.id, @entry2.id], @host.id)
|
29
|
+
assert_equal details.size, 1
|
30
|
+
assert_equal details[0], @entry1.detail
|
31
|
+
|
32
|
+
details = PreupgradeReportEntry.remediation_details([@entry1.id, @entry2.id], FactoryBot.create(:host))
|
33
|
+
assert_equal details.size, 0
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
class PreupgradeReportTest < ActiveSupport::TestCase
|
6
|
+
should belong_to(:job_invocation)
|
7
|
+
should have_many(:preupgrade_report_entries).dependent(:destroy)
|
8
|
+
|
9
|
+
describe '#create_report' do
|
10
|
+
let(:job_invocation) { FactoryBot.create(:job_invocation) }
|
11
|
+
let(:host) { FactoryBot.create(:host) }
|
12
|
+
|
13
|
+
it 'with commands and hints' do
|
14
|
+
data = { 'leapp_run_id' => 'leapp_c13e471c',
|
15
|
+
'entries' => [sample_entry_1, sample_entry_2] }
|
16
|
+
|
17
|
+
assert_difference -> { PreupgradeReport.count } => 1, -> { PreupgradeReportEntry.count } => 2 do
|
18
|
+
PreupgradeReport.create_report(host, data, job_invocation)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'no entries' do
|
23
|
+
data = { 'leapp_run_id' => 'leapp_c13e471c' }
|
24
|
+
|
25
|
+
assert_difference -> { PreupgradeReport.count } => 1, -> { PreupgradeReportEntry.count } => 0 do
|
26
|
+
PreupgradeReport.create_report(host, data, job_invocation)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def sample_entry_1
|
32
|
+
{ 'severity' => 'low', 'title' => 'SElinux will be set to permissive mode',
|
33
|
+
'tags' => %w[selinux security], 'actor' => 'check_se_linux',
|
34
|
+
'summary' => 'sum', 'audience' => 'sysadmin', 'id' => 'id1' }
|
35
|
+
end
|
36
|
+
|
37
|
+
def sample_entry_2
|
38
|
+
{ 'severity' => 'high', 'tags' => ['kernel'], 'title' => 'Multiple devel kernels installed',
|
39
|
+
'detail' => { 'remediations' => [
|
40
|
+
{ 'type' => 'hint', 'context' => 'Some context' },
|
41
|
+
{ 'type' => 'command', 'context' => ['yum', '-y', 'remove', 'kernel-devel-3.10.0.1127.el7'] }
|
42
|
+
] },
|
43
|
+
'actor' => 'check_installed_devel_kernels', 'summary' => 'Sum', 'audience' => 'sysadmin',
|
44
|
+
'flags' => ['inhibitor'], 'id' => 'id2' }
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This calls the main test_helper in Foreman-core
|
4
|
+
require 'test_helper'
|
5
|
+
require 'dynflow/testing'
|
6
|
+
|
7
|
+
# Add plugin to FactoryBot's paths
|
8
|
+
FactoryBot.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
|
9
|
+
FactoryBot.definition_file_paths << "#{ForemanTasks::Engine.root}/test/factories"
|
10
|
+
FactoryBot.definition_file_paths << "#{ForemanRemoteExecution::Engine.root}/test/factories"
|
11
|
+
FactoryBot.reload
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module ForemanLeapp
|
6
|
+
class PreupgradeJobTest < ActiveSupport::TestCase
|
7
|
+
include Dynflow::Testing
|
8
|
+
|
9
|
+
let(:host) { FactoryBot.create(:host) }
|
10
|
+
let(:job_template) do
|
11
|
+
FactoryBot.create(:job_template, template: 'echo "1"', job_category: 'leapp',
|
12
|
+
provider_type: 'SSH', name: 'Leapp preupgrade')
|
13
|
+
end
|
14
|
+
let(:job_invocation) { FactoryBot.create(:job_invocation, job_category: ::ForemanLeapp::JOB_CATEGORY) }
|
15
|
+
let(:template_invocation) do
|
16
|
+
FactoryBot.create(:template_invocation, template: job_template, job_invocation: job_invocation)
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:action) { create_action(Actions::ForemanLeapp::PreupgradeJob) }
|
20
|
+
let(:planned_action) { plan_action(action, job_invocation, host, template_invocation) }
|
21
|
+
|
22
|
+
setup do
|
23
|
+
RemoteExecutionFeature.find_by(label: 'leapp_preupgrade').update(job_template: job_template)
|
24
|
+
end
|
25
|
+
|
26
|
+
describe 'plan' do
|
27
|
+
test 'run plan phase' do
|
28
|
+
assert_equal planned_action.input['host_id'], host.id
|
29
|
+
assert_equal planned_action.input['job_invocation_id'], job_invocation.id
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#format_output' do
|
34
|
+
let(:output) { "first_line\n===leap_upgrade_report_start===\n{\n\"report\": \"yes!\"\n}\nExit status: 0\n" }
|
35
|
+
|
36
|
+
it { assert action.send(:format_output, output), '{"report": "yes!"}' }
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'finalize' do
|
40
|
+
it { assert_finalize_phase planned_action }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_plugin_helper'
|
4
|
+
|
5
|
+
module Helpers
|
6
|
+
class JobHelperTest < ActionView::TestCase
|
7
|
+
let(:helper) { ::Helpers::JobHelper }
|
8
|
+
# let(:host) { FactoryBot.create(:host) }
|
9
|
+
let(:job_template) do
|
10
|
+
FactoryBot.create(:job_template, template: 'echo "1"', job_category: 'leapp',
|
11
|
+
provider_type: 'SSH', name: 'Leapp preupgrade')
|
12
|
+
end
|
13
|
+
let(:job_invocation) { FactoryBot.create(:job_invocation, job_category: ::ForemanLeapp::JOB_CATEGORY) }
|
14
|
+
|
15
|
+
describe 'correct_feature?' do
|
16
|
+
setup do
|
17
|
+
RemoteExecutionFeature.find_by(label: 'leapp_preupgrade').update(job_template: job_template)
|
18
|
+
FactoryBot.create(:template_invocation, template: job_template, job_invocation: job_invocation)
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'correct category & feature' do
|
22
|
+
assert helper.correct_feature?(job_invocation, 'leapp_preupgrade')
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'wrong category' do
|
26
|
+
job_invocation = FactoryBot.create(:job_invocation, job_category: 'NOPE')
|
27
|
+
FactoryBot.create(:template_invocation, template: job_template, job_invocation: job_invocation)
|
28
|
+
|
29
|
+
assert_not helper.correct_feature?(job_invocation, 'leapp_preupgrade')
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'wrong feature' do
|
33
|
+
assert_not helper.correct_feature?(job_invocation, 'leapp_preupgrade2')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,141 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: foreman_leapp
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Foreman Leapp team
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-04-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: foreman_remote_execution
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.1'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rdoc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '6.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '6.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rubocop
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.80'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.80'
|
55
|
+
description: A Foreman plugin to support inplace RHEL 7 -> RHEL 8 upgrades with Leapp
|
56
|
+
utility.
|
57
|
+
email:
|
58
|
+
- foreman-dev@googlegroups.com
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- LICENSE
|
64
|
+
- README.md
|
65
|
+
- Rakefile
|
66
|
+
- app/controllers/api/v2/preupgrade_reports_controller.rb
|
67
|
+
- app/controllers/preupgrade_reports_controller.rb
|
68
|
+
- app/helpers/concerns/foreman_leapp/hosts_helper_extensions.rb
|
69
|
+
- app/helpers/concerns/foreman_leapp/remote_execution_helper_extension.rb
|
70
|
+
- app/helpers/foreman_leapp/template_helper.rb
|
71
|
+
- app/lib/actions/preupgrade_job.rb
|
72
|
+
- app/lib/helpers/job_helper.rb
|
73
|
+
- app/models/concerns/foreman_leapp/job_invocation_extensions.rb
|
74
|
+
- app/models/preupgrade_report.rb
|
75
|
+
- app/models/preupgrade_report_entry.rb
|
76
|
+
- app/views/api/v2/preupgrade_report_entries/base.json.rabl
|
77
|
+
- app/views/api/v2/preupgrade_reports/base.json.rabl
|
78
|
+
- app/views/api/v2/preupgrade_reports/index.json.rabl
|
79
|
+
- app/views/api/v2/preupgrade_reports/show.json.rabl
|
80
|
+
- app/views/foreman_leapp/job_templates/preupgrade.erb
|
81
|
+
- app/views/foreman_leapp/job_templates/remediation.erb
|
82
|
+
- app/views/foreman_leapp/job_templates/upgrade.erb
|
83
|
+
- app/views/job_invocations/_leapp_preupgrade_report.html.erb
|
84
|
+
- app/views/preupgrade_report_entries/base.json.rabl
|
85
|
+
- app/views/preupgrade_reports/index.json.rabl
|
86
|
+
- app/views/preupgrade_reports/show.json.rabl
|
87
|
+
- config/routes.rb
|
88
|
+
- db/migrate/20200320104040_preupgrade_report_entries.rb
|
89
|
+
- db/migrate/20200326142259_add_job_id_to_report.rb
|
90
|
+
- db/migrate/20200327091009_add_host_to_report.rb
|
91
|
+
- db/seeds.d/10_leapp_preupgrade.rb
|
92
|
+
- lib/foreman_leapp.rb
|
93
|
+
- lib/foreman_leapp/engine.rb
|
94
|
+
- lib/foreman_leapp/version.rb
|
95
|
+
- lib/tasks/foreman_leapp_tasks.rake
|
96
|
+
- locale/Makefile
|
97
|
+
- locale/en/foreman_leapp.po
|
98
|
+
- locale/foreman_leapp.pot
|
99
|
+
- locale/gemspec.rb
|
100
|
+
- test/factories/foreman_leapp_factories.rb
|
101
|
+
- test/functional/api/v2/preupgrade_reports_controller_test.rb
|
102
|
+
- test/functional/preupgrade_reports_controller_test.rb
|
103
|
+
- test/helpers/template_helper_test.rb
|
104
|
+
- test/models/preupgrade_report_entry_test.rb
|
105
|
+
- test/models/preupgrade_report_test.rb
|
106
|
+
- test/test_plugin_helper.rb
|
107
|
+
- test/unit/actions/preupgrade_job_test.rb
|
108
|
+
- test/unit/helpers/job_helper_test.rb
|
109
|
+
homepage: https://github.com/oamg/foreman_leapp
|
110
|
+
licenses:
|
111
|
+
- GPL-3.0
|
112
|
+
metadata: {}
|
113
|
+
post_install_message:
|
114
|
+
rdoc_options: []
|
115
|
+
require_paths:
|
116
|
+
- lib
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
127
|
+
requirements: []
|
128
|
+
rubygems_version: 3.0.3
|
129
|
+
signing_key:
|
130
|
+
specification_version: 4
|
131
|
+
summary: A Foreman plugin for Leapp utility.
|
132
|
+
test_files:
|
133
|
+
- test/functional/api/v2/preupgrade_reports_controller_test.rb
|
134
|
+
- test/functional/preupgrade_reports_controller_test.rb
|
135
|
+
- test/models/preupgrade_report_test.rb
|
136
|
+
- test/models/preupgrade_report_entry_test.rb
|
137
|
+
- test/unit/helpers/job_helper_test.rb
|
138
|
+
- test/unit/actions/preupgrade_job_test.rb
|
139
|
+
- test/test_plugin_helper.rb
|
140
|
+
- test/helpers/template_helper_test.rb
|
141
|
+
- test/factories/foreman_leapp_factories.rb
|