foreman_rh_cloud 1.0.11 → 1.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/foreman_inventory_upload/accounts_controller.rb +2 -0
  3. data/app/controllers/foreman_inventory_upload/uploads_controller.rb +18 -0
  4. data/app/helpers/foreman_inventory_upload_host_helper.rb +2 -3
  5. data/app/models/concerns/rh_cloud_host.rb +4 -1
  6. data/app/models/insights_hit.rb +1 -1
  7. data/app/models/setting/rh_cloud.rb +5 -3
  8. data/app/overrides/hosts_list.rb +1 -1
  9. data/app/services/foreman_rh_cloud/cloud_auth.rb +28 -0
  10. data/config/Gemfile.lock.gh_test +757 -0
  11. data/config/database.yml.example +17 -0
  12. data/config/package-lock.json.gh_test +30855 -0
  13. data/config/routes.rb +2 -0
  14. data/db/migrate/20201007115752_add_hits_count_to_insights_facets_table.foreman_rh_cloud.rb +5 -0
  15. data/db/migrate/20201007121540_setup_hits_count_cache.foreman_rh_cloud.rb +10 -0
  16. data/lib/foreman_inventory_upload.rb +1 -1
  17. data/lib/foreman_inventory_upload/async/upload_report_job.rb +2 -8
  18. data/lib/foreman_inventory_upload/generators/archived_report.rb +1 -1
  19. data/lib/foreman_inventory_upload/generators/fact_helpers.rb +35 -0
  20. data/lib/foreman_inventory_upload/generators/json_stream.rb +7 -2
  21. data/lib/foreman_inventory_upload/generators/queries.rb +2 -0
  22. data/lib/foreman_inventory_upload/generators/slice.rb +27 -25
  23. data/lib/foreman_rh_cloud.rb +55 -0
  24. data/lib/foreman_rh_cloud/engine.rb +3 -3
  25. data/lib/foreman_rh_cloud/version.rb +1 -1
  26. data/lib/insights_cloud/async/insights_full_sync.rb +5 -24
  27. data/lib/inventory_sync/async/inventory_full_sync.rb +3 -22
  28. data/lib/tasks/rh_cloud_inventory.rake +12 -10
  29. data/package.json +1 -1
  30. data/test/unit/fact_helpers_test.rb +22 -0
  31. data/test/unit/insights_facet_test.rb +7 -0
  32. data/test/unit/rh_cloud_http_proxy_test.rb +65 -0
  33. data/test/unit/slice_generator_test.rb +150 -2
  34. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountList.fixtures.js +14 -1
  35. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListActions.js +22 -18
  36. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListReducer.js +16 -0
  37. data/webpack/ForemanInventoryUpload/Components/AccountList/AccountListSelectors.js +6 -0
  38. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListActions.test.js +7 -0
  39. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListReducer.test.js +12 -8
  40. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/AccountListSelectors.test.js +9 -0
  41. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListActions.test.js.snap +19 -0
  42. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListReducer.test.js.snap +11 -0
  43. data/webpack/ForemanInventoryUpload/Components/AccountList/__tests__/__snapshots__/AccountListSelectors.test.js.snap +6 -0
  44. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcher.fixtures.js +2 -0
  45. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcherActions.js +10 -11
  46. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/AutoUploadSwitcherConstants.js +0 -1
  47. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/AutoUploadSwitcherActions.test.js +12 -2
  48. data/webpack/ForemanInventoryUpload/Components/AutoUploadSwitcher/__tests__/__snapshots__/AutoUploadSwitcherActions.test.js.snap +17 -0
  49. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcher.fixtures.js +1 -0
  50. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcher.js +30 -0
  51. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcherActions.js +29 -0
  52. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/ExcludePackagesSwitcherConstants.js +1 -0
  53. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/ExcludePackagesSwitcher.test.js +13 -0
  54. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/ExcludePackagesSwitcherActions.test.js +21 -0
  55. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/ExcludePackagesSwitcher.test.js.snap +38 -0
  56. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/ExcludePackagesSwitcherActions.test.js.snap +31 -0
  57. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/__snapshots__/integration.test.js.snap +41 -0
  58. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/__tests__/integration.test.js +38 -0
  59. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/excludePackagesSwitcher.scss +3 -0
  60. data/webpack/ForemanInventoryUpload/Components/ExcludePackagesSwitcher/index.js +20 -0
  61. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.fixtures.js +2 -1
  62. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.js +1 -0
  63. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcher.scss +3 -0
  64. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherActions.js +10 -11
  65. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/HostObfuscationSwitcherConstants.js +0 -2
  66. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/HostObfuscationSwitcherActions.test.js +12 -2
  67. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/__tests__/__snapshots__/HostObfuscationSwitcherActions.test.js.snap +18 -1
  68. data/webpack/ForemanInventoryUpload/Components/InventorySettings/InventorySettings.js +4 -0
  69. data/webpack/ForemanInventoryUpload/Components/InventorySettings/__tests__/__snapshots__/InventorySettings.test.js.snap +2 -0
  70. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcher.fixtures.js +1 -0
  71. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcher.js +29 -0
  72. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcherActions.js +29 -0
  73. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/IpsObfuscationSwitcherConstants.js +1 -0
  74. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/IpsObfuscationSwitcher.test.js +13 -0
  75. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/IpsObfuscationSwitcherActions.test.js +21 -0
  76. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/__snapshots__/IpsObfuscationSwitcher.test.js.snap +38 -0
  77. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/__tests__/__snapshots__/IpsObfuscationSwitcherActions.test.js.snap +31 -0
  78. data/webpack/ForemanInventoryUpload/Components/IpsObfuscationSwitcher/index.js +20 -0
  79. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButton.js +8 -2
  80. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonActions.js +9 -11
  81. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonConstants.js +1 -1
  82. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/SyncButtonReducer.js +2 -2
  83. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButtonActions.test.js +18 -0
  84. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/SyncButtonReducer.test.js +1 -8
  85. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/SyncButtonActions.test.js.snap +62 -0
  86. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/__tests__/__snapshots__/SyncButtonReducer.test.js.snap +0 -7
  87. data/webpack/ForemanInventoryUpload/Components/PageHeader/components/SyncButton/components/Modal.js +2 -2
  88. data/webpack/ForemanInventoryUpload/Components/TabHeader/TabHeader.js +6 -1
  89. data/webpack/ForemanInventoryUpload/Components/Terminal/Terminal.js +2 -4
  90. data/webpack/ForemanInventoryUpload/ForemanInventoryHelpers.js +8 -0
  91. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsActions.js +17 -20
  92. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsConstants.js +0 -6
  93. data/webpack/InsightsCloudSync/Components/InsightsSettings/InsightsSettingsReducer.js +0 -4
  94. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettingsActions.test.js +16 -0
  95. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/InsightsSettingsReducer.test.js +1 -24
  96. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettingsActions.test.js.snap +38 -4
  97. data/webpack/InsightsCloudSync/Components/InsightsSettings/__tests__/__snapshots__/InsightsSettingsReducer.test.js.snap +0 -14
  98. data/webpack/InsightsCloudSync/InsightsCloudSync.js +1 -1
  99. data/webpack/InsightsCloudSync/InsightsCloudSyncActions.js +10 -11
  100. data/webpack/InsightsCloudSync/InsightsCloudSyncConstants.js +0 -2
  101. data/webpack/InsightsCloudSync/__snapshots__/InsightsCloudSync.test.js.snap +1 -1
  102. data/webpack/InsightsHostDetailsTab/InsightsTab.scss +1 -1
  103. data/webpack/InsightsHostDetailsTab/InsightsTabActions.js +9 -8
  104. data/webpack/InsightsHostDetailsTab/InsightsTabConstants.js +0 -1
  105. data/webpack/InsightsHostDetailsTab/InsightsTabReducer.js +2 -9
  106. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTabActions.test.js +7 -1
  107. data/webpack/InsightsHostDetailsTab/__tests__/InsightsTabReducer.test.js +0 -9
  108. data/webpack/InsightsHostDetailsTab/__tests__/__snapshots__/InsightsTabActions.test.js.snap +40 -2
  109. data/webpack/InsightsHostDetailsTab/__tests__/__snapshots__/InsightsTabReducer.test.js.snap +0 -7
  110. metadata +43 -14
  111. data/webpack/ForemanInventoryUpload/Components/HostObfuscationSwitcher/hostObfuscationSwitcher.scss +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2b89191efb4cb97cec7c9e2a2d1cc41e255f02f7c04e95ecf7c1753e3b718ed
4
- data.tar.gz: 38846a43180f47c4ebf888b8af0624a3edf460a10b0e3f02eca17bdd074f5142
3
+ metadata.gz: cec94143f5b6ae6450f847c09e74b6a3d67690c6c31d52106994f22d1e3b39a8
4
+ data.tar.gz: 95c68320f909dfb3173585781f6a8c06f553a8cdc63998e13e13b2b4b207cd7f
5
5
  SHA512:
6
- metadata.gz: 1d1fd157774d8b4d2007ea0139b05c6d39a749d432f6e1bcdb3d5efa5f39480743e1220434037131ccf65486edcd1fde24de39ed165653aa074062131d957394
7
- data.tar.gz: 531cc12e64d7a4f8957029f7d7517dd80d30758c9ba070dd2603c5e64f324d399484824cc160dca8bef53810fa44aaeaf77e92e6a2d6ffdeb1f634b316a2af6e
6
+ metadata.gz: 240c951be40fbb866f7f3e3fde8c63017f17d0108eebe91f74e379163aadbb6b8e8746b12d34d618307696e252c9b08b143f64c87cffd7d387e8fc72243abf56
7
+ data.tar.gz: 793312fa6bf24267c16343672343d446df541397bb333092fe077eea3cd359c043edf2f5553be0e9cf0ec5c86d58401acbf0b70132a9466b91a248c621fc8ee5
@@ -23,7 +23,9 @@ module ForemanInventoryUpload
23
23
  render json: {
24
24
  autoUploadEnabled: Setting[:allow_auto_inventory_upload],
25
25
  hostObfuscationEnabled: Setting[:obfuscate_inventory_hostnames],
26
+ ipsObfuscationEnabled: Setting[:obfuscate_inventory_ips],
26
27
  cloudToken: Setting[:rh_cloud_token],
28
+ excludePackages: Setting[:exclude_installed_packages],
27
29
  accounts: accounts,
28
30
  }, status: :ok
29
31
  end
@@ -46,6 +46,24 @@ module ForemanInventoryUpload
46
46
  ActiveModel::Type::Boolean.new.cast(params.require(:value))
47
47
  end
48
48
 
49
+ def installed_packages_inclusion
50
+ Setting[:exclude_installed_packages] = host_obfuscation_params
51
+ render_setting(:excludePackages, :exclude_installed_packages)
52
+ end
53
+
54
+ def installed_packages_inclusion_params
55
+ ActiveModel::Type::Boolean.new.cast(params.require(:value))
56
+ end
57
+
58
+ def ips_obfuscation
59
+ Setting[:obfuscate_inventory_ips] = ips_obfuscation_params
60
+ render_setting(:ipsObfuscationEnabled, :obfuscate_inventory_ips)
61
+ end
62
+
63
+ def ips_obfuscation_params
64
+ ActiveModel::Type::Boolean.new.cast(params.require(:value))
65
+ end
66
+
49
67
  private
50
68
 
51
69
  def render_setting(node_name, setting)
@@ -5,11 +5,10 @@ module ForemanInventoryUploadHostHelper
5
5
 
6
6
  def hits_counts_cell(host)
7
7
  host_hits = hits_counts[host.id]
8
- content = n_('One recommendation', '%{hits} recommendations', host_hits) % { hits: host_hits } if host_hits
9
- tag.td class: ['hidden-xs', 'ellipsis'] do
8
+ tag.td class: ['hidden-xs', 'ellipsis', 'text-center'] do
10
9
  if host_hits
11
10
  link_to(
12
- content,
11
+ host_hits,
13
12
  InsightsCloud::WebUi.system_url(InsightsCloud::WebUi::ADVISOR, host.insights.uuid),
14
13
  :rel => 'external noopener noreferrer',
15
14
  :target => '_blank'
@@ -6,7 +6,10 @@ module RhCloudHost
6
6
  :inventory_upload_facts,
7
7
  -> { where(fact_name_id: ForemanInventoryUpload::Generators::Queries.fact_names.values) },
8
8
  class_name: 'FactValue',
9
- :foreign_key => :host_id
9
+ foreign_key: :host_id
10
10
  )
11
+
12
+ has_many :insights_hits, through: :insights, source: :hits
13
+ scoped_search :relation => :insights, :on => :hits_count, :only_explicit => true, :rename => :insights_recommendations_count
11
14
  end
12
15
  end
@@ -2,5 +2,5 @@ class InsightsHit < ApplicationRecord
2
2
  has_one :host
3
3
  # since the facet is one-to-one association with a host, we can connect
4
4
  # through host_id column on both this model and facet.
5
- has_one :insights_facet, foreign_key: 'host_id', primary_key: 'host_id'
5
+ belongs_to :insights_facet, foreign_key: 'host_id', primary_key: 'host_id', counter_cache: :hits_count
6
6
  end
@@ -3,10 +3,12 @@ class Setting::RhCloud < Setting
3
3
  return unless ActiveRecord::Base.connection.table_exists?('settings')
4
4
  return unless super
5
5
  [
6
- set('allow_auto_inventory_upload', N_('Allow automatic upload of the host inventory to the Red Hat cloud'), false),
7
- set('allow_auto_insights_sync', N_('Allow recommendations synchronization from Red Hat cloud'), false),
8
- set('obfuscate_inventory_hostnames', N_('Obfuscate host names sent to Red Hat cloud'), false),
6
+ set('allow_auto_inventory_upload', N_('Allow automatic upload of the host inventory to the Red Hat cloud'), false, N_('Allow automatic inventory uploads')),
7
+ set('allow_auto_insights_sync', N_('Allow recommendations synchronization from Red Hat cloud'), false, N_('Allow recommendations synchronization')),
8
+ set('obfuscate_inventory_hostnames', N_('Obfuscate host names sent to Red Hat cloud'), false, N_('Obfuscate host names')),
9
+ set('obfuscate_inventory_ips', N_('Obfuscate ip addresses sent to Red Hat cloud'), false, N_('Obfuscate IPs')),
9
10
  set('rh_cloud_token', N_('Authentication token to Red Hat cloud services. Used to authenticate requests to cloud APIs'), 'DEFAULT', N_('Red Hat Cloud token'), nil, encrypted: true),
11
+ set('exclude_installed_packages', N_('Exclude installed packages from Red Hat cloud inventory report'), false, N_("Don't upload installed packages")),
10
12
  ]
11
13
  end
12
14
 
@@ -2,7 +2,7 @@ Deface::Override.new(
2
2
  virtual_path: 'hosts/_list',
3
3
  name: 'insights_hits_header',
4
4
  insert_before: 'thead tr th.hidden-xs:first-of-type',
5
- text: '<th class="hidden-xs" width="10%"><%= _("Insights")%></th>'
5
+ text: '<th class="hidden-xs ellipsis" width="12%"><%= sort :insights_recommendations_count, :as => _("Recommendations")%></th>'
6
6
  )
7
7
 
8
8
  Deface::Override.new(
@@ -0,0 +1,28 @@
1
+ module ForemanRhCloud
2
+ module CloudAuth
3
+ extend ActiveSupport::Concern
4
+
5
+ def rh_credentials
6
+ @rh_credentials ||= query_refresh_token
7
+ end
8
+
9
+ def query_refresh_token
10
+ token_response = RestClient::Request.execute(
11
+ method: :post,
12
+ url: ForemanRhCloud.authentication_url,
13
+ verify_ssl: ForemanRhCloud.verify_ssl_method,
14
+ proxy: ForemanRhCloud.transformed_http_proxy_string(logger: logger),
15
+ payload: {
16
+ grant_type: 'refresh_token',
17
+ client_id: 'rhsm-api',
18
+ refresh_token: Setting[:rh_cloud_token],
19
+ }
20
+ )
21
+
22
+ JSON.parse(token_response)['access_token']
23
+ rescue RestClient::ExceptionWithResponse => e
24
+ Foreman::Logging.exception('Unable to authenticate using rh_cloud_token setting', e)
25
+ raise ::Foreman::WrappedException.new(e, N_('Unable to authenticate using rh_cloud_token setting'))
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,757 @@
1
+ PATH
2
+ remote: ../foreman_rh_cloud
3
+ specs:
4
+ foreman_rh_cloud (1.0.13.1)
5
+ katello
6
+ redhat_access
7
+
8
+ PATH
9
+ remote: ../katello
10
+ specs:
11
+ katello (3.14.1)
12
+ activerecord-import
13
+ anemone
14
+ angular-rails-templates (~> 1.0.2)
15
+ apipie-rails (>= 0.5.14)
16
+ deface (>= 1.0.2, < 2.0.0)
17
+ dynflow (>= 1.2.0)
18
+ foreman-tasks (~> 0.13, >= 0.14.1)
19
+ gettext_i18n_rails
20
+ json
21
+ oauth
22
+ pulp_ansible_client (<= 0.2.0b6.dev01570985981)
23
+ pulp_docker_client (<= 4.0.0b8.dev01571062112)
24
+ pulp_file_client (<= 0.1.0b5.dev01571253617)
25
+ pulp_rpm_client (<= 3.0.0b71571331815)
26
+ pulpcore_client (<= 3.0.0rc8.dev01571235538)
27
+ qpid_messaging
28
+ rabl
29
+ rails
30
+ rest-client
31
+ runcible (>= 2.12.1, < 3.0.0)
32
+
33
+ GEM
34
+ remote: https://rubygems.org/
35
+ specs:
36
+ actioncable (5.2.1)
37
+ actionpack (= 5.2.1)
38
+ nio4r (~> 2.0)
39
+ websocket-driver (>= 0.6.1)
40
+ actionmailer (5.2.1)
41
+ actionpack (= 5.2.1)
42
+ actionview (= 5.2.1)
43
+ activejob (= 5.2.1)
44
+ mail (~> 2.5, >= 2.5.4)
45
+ rails-dom-testing (~> 2.0)
46
+ actionpack (5.2.1)
47
+ actionview (= 5.2.1)
48
+ activesupport (= 5.2.1)
49
+ rack (~> 2.0)
50
+ rack-test (>= 0.6.3)
51
+ rails-dom-testing (~> 2.0)
52
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
53
+ actionview (5.2.1)
54
+ activesupport (= 5.2.1)
55
+ builder (~> 3.1)
56
+ erubi (~> 1.4)
57
+ rails-dom-testing (~> 2.0)
58
+ rails-html-sanitizer (~> 1.0, >= 1.0.3)
59
+ activejob (5.2.1)
60
+ activesupport (= 5.2.1)
61
+ globalid (>= 0.3.6)
62
+ activemodel (5.2.1)
63
+ activesupport (= 5.2.1)
64
+ activerecord (5.2.1)
65
+ activemodel (= 5.2.1)
66
+ activesupport (= 5.2.1)
67
+ arel (>= 9.0)
68
+ activerecord-import (1.0.7)
69
+ activerecord (>= 3.2)
70
+ activerecord-nulldb-adapter (0.5.0)
71
+ activerecord (>= 5.2.0)
72
+ activerecord-session_store (1.1.3)
73
+ actionpack (>= 4.0)
74
+ activerecord (>= 4.0)
75
+ multi_json (~> 1.11, >= 1.11.2)
76
+ rack (>= 1.5.2, < 3)
77
+ railties (>= 4.0)
78
+ activestorage (5.2.1)
79
+ actionpack (= 5.2.1)
80
+ activerecord (= 5.2.1)
81
+ marcel (~> 0.3.1)
82
+ activesupport (5.2.1)
83
+ concurrent-ruby (~> 1.0, >= 1.0.2)
84
+ i18n (>= 0.7, < 2)
85
+ minitest (~> 5.1)
86
+ tzinfo (~> 1.1)
87
+ addressable (2.7.0)
88
+ public_suffix (>= 2.0.2, < 5.0)
89
+ algebrick (0.7.5)
90
+ ancestry (3.0.7)
91
+ activerecord (>= 3.2.0)
92
+ anemone (0.7.2)
93
+ nokogiri (>= 1.3.0)
94
+ robotex (>= 1.0.0)
95
+ angular-rails-templates (1.0.2)
96
+ railties (>= 4.2, < 6)
97
+ sprockets (>= 3.0, < 5)
98
+ tilt
99
+ ansi (1.5.0)
100
+ apipie-params (0.0.5)
101
+ apipie-rails (0.5.17)
102
+ rails (>= 4.1)
103
+ arel (9.0.0)
104
+ as_deprecation_tracker (1.5.0)
105
+ activesupport (>= 4.2)
106
+ railties (>= 4.2)
107
+ ast (2.4.0)
108
+ audited (4.9.0)
109
+ activerecord (>= 4.2, < 6.1)
110
+ autoprefixer-rails (9.7.4)
111
+ execjs
112
+ awesome_print (1.8.0)
113
+ bcrypt (3.1.13)
114
+ benchmark-ips (2.8.3)
115
+ bootsnap (1.4.6)
116
+ msgpack (~> 1.0)
117
+ bootstrap-sass (3.3.7)
118
+ autoprefixer-rails (>= 5.2.1)
119
+ sass (>= 3.3.4)
120
+ builder (3.2.4)
121
+ bullet (6.1.0)
122
+ activesupport (>= 3.0.0)
123
+ uniform_notifier (~> 1.11)
124
+ capybara (3.31.0)
125
+ addressable
126
+ mini_mime (>= 0.1.3)
127
+ nokogiri (~> 1.8)
128
+ rack (>= 1.6.0)
129
+ rack-test (>= 0.6.3)
130
+ regexp_parser (~> 1.5)
131
+ xpath (~> 3.2)
132
+ childprocess (3.0.0)
133
+ ci_reporter (2.0.0)
134
+ builder (>= 2.1.2)
135
+ ci_reporter_minitest (1.0.0)
136
+ ci_reporter (~> 2.0)
137
+ minitest (~> 5.0)
138
+ cliver (0.3.2)
139
+ coderay (1.1.2)
140
+ coffee-rails (5.0.0)
141
+ coffee-script (>= 2.2.0)
142
+ railties (>= 5.2.0)
143
+ coffee-script (2.4.1)
144
+ coffee-script-source
145
+ execjs
146
+ coffee-script-source (1.12.2)
147
+ concurrent-ruby (1.1.6)
148
+ concurrent-ruby-edge (0.6.0)
149
+ concurrent-ruby (~> 1.1.6)
150
+ connection_pool (2.2.2)
151
+ crack (0.4.3)
152
+ safe_yaml (~> 1.0.0)
153
+ crass (1.0.6)
154
+ css_parser (1.7.1)
155
+ addressable
156
+ daemons (1.3.1)
157
+ database_cleaner (1.8.3)
158
+ deacon (1.0.0)
159
+ declarative (0.0.10)
160
+ declarative-option (0.1.0)
161
+ deep_cloneable (3.0.0)
162
+ activerecord (>= 3.1.0, < 7)
163
+ deface (1.5.3)
164
+ nokogiri (>= 1.6)
165
+ polyglot
166
+ rails (>= 4.1)
167
+ rainbow (>= 2.1.0)
168
+ docile (1.3.2)
169
+ domain_name (0.5.20190701)
170
+ unf (>= 0.0.5, < 1.0.0)
171
+ dynflow (1.4.3)
172
+ algebrick (~> 0.7.0)
173
+ apipie-params
174
+ concurrent-ruby (~> 1.1.3)
175
+ concurrent-ruby-edge (~> 0.6.0)
176
+ multi_json
177
+ sequel (>= 4.0.0)
178
+ erubi (1.9.0)
179
+ excon (0.72.0)
180
+ execjs (2.7.0)
181
+ facter (2.5.7)
182
+ factory_bot (5.1.1)
183
+ activesupport (>= 4.2.0)
184
+ factory_bot_rails (5.1.1)
185
+ factory_bot (~> 5.1.0)
186
+ railties (>= 4.2.0)
187
+ faraday (0.17.3)
188
+ multipart-post (>= 1.2, < 3)
189
+ fast_gettext (1.8.0)
190
+ ffi (1.12.2)
191
+ fog-aws (3.5.2)
192
+ fog-core (~> 2.1)
193
+ fog-json (~> 1.1)
194
+ fog-xml (~> 0.1)
195
+ ipaddress (~> 0.8)
196
+ fog-core (2.1.0)
197
+ builder
198
+ excon (~> 0.58)
199
+ formatador (~> 0.2)
200
+ mime-types
201
+ fog-google (1.8.2)
202
+ fog-core (<= 2.1.0)
203
+ fog-json (~> 1.2)
204
+ fog-xml (~> 0.1.0)
205
+ google-api-client (~> 0.23.0)
206
+ fog-json (1.2.0)
207
+ fog-core
208
+ multi_json (~> 1.10)
209
+ fog-libvirt (0.7.0)
210
+ fog-core (>= 1.27.4)
211
+ fog-json
212
+ fog-xml (~> 0.1.1)
213
+ json
214
+ ruby-libvirt (>= 0.7.0)
215
+ fog-openstack (1.0.10)
216
+ fog-core (~> 2.1)
217
+ fog-json (>= 1.0)
218
+ ipaddress (>= 0.8)
219
+ fog-ovirt (1.2.4)
220
+ fog-core
221
+ fog-json
222
+ fog-xml
223
+ ovirt-engine-sdk (>= 4.1.3)
224
+ rbovirt (~> 0.1.5)
225
+ fog-rackspace (0.1.6)
226
+ fog-core (>= 1.35)
227
+ fog-json (>= 1.0)
228
+ fog-xml (>= 0.1)
229
+ ipaddress (>= 0.8)
230
+ fog-vsphere (3.2.5)
231
+ fog-core
232
+ rbvmomi (>= 1.9, < 3)
233
+ fog-xml (0.1.3)
234
+ fog-core
235
+ nokogiri (>= 1.5.11, < 2.0.0)
236
+ font-awesome-sass (4.6.2)
237
+ sass (>= 3.2)
238
+ foreman (0.87.0)
239
+ foreman-tasks (0.17.6)
240
+ dynflow (>= 1.2.3)
241
+ foreman-tasks-core
242
+ get_process_mem
243
+ parse-cron (~> 0.1.4)
244
+ sinatra
245
+ foreman-tasks-core (0.3.4)
246
+ dynflow (>= 1.2.0)
247
+ formatador (0.2.5)
248
+ friendly_id (5.3.0)
249
+ activerecord (>= 4.0.0)
250
+ get_process_mem (0.2.5)
251
+ ffi (~> 1.0)
252
+ gettext (3.3.5)
253
+ locale (>= 2.0.5)
254
+ text (>= 1.3.0)
255
+ gettext_i18n_rails (1.8.1)
256
+ fast_gettext (>= 0.9.0)
257
+ gettext_i18n_rails_js (1.3.0)
258
+ gettext (>= 3.0.2)
259
+ gettext_i18n_rails (>= 0.7.1)
260
+ po_to_json (>= 1.0.0)
261
+ rails (>= 3.2.0)
262
+ gitlab-sidekiq-fetcher (0.5.2)
263
+ sidekiq (~> 5)
264
+ globalid (0.4.2)
265
+ activesupport (>= 4.2.0)
266
+ google-api-client (0.23.9)
267
+ addressable (~> 2.5, >= 2.5.1)
268
+ googleauth (>= 0.5, < 0.7.0)
269
+ httpclient (>= 2.8.1, < 3.0)
270
+ mime-types (~> 3.0)
271
+ representable (~> 3.0)
272
+ retriable (>= 2.0, < 4.0)
273
+ signet (~> 0.9)
274
+ googleauth (0.6.7)
275
+ faraday (~> 0.12)
276
+ jwt (>= 1.4, < 3.0)
277
+ memoist (~> 0.16)
278
+ multi_json (~> 1.11)
279
+ os (>= 0.9, < 2.0)
280
+ signet (~> 0.7)
281
+ graphiql-rails (1.7.0)
282
+ railties
283
+ sprockets-rails
284
+ graphql (1.8.17)
285
+ graphql-batch (0.4.2)
286
+ graphql (>= 1.3, < 2)
287
+ promise.rb (~> 0.7.2)
288
+ hashdiff (1.0.1)
289
+ http-accept (1.7.0)
290
+ http-cookie (1.0.3)
291
+ domain_name (~> 0.5)
292
+ httpclient (2.8.3)
293
+ i18n (1.8.2)
294
+ concurrent-ruby (~> 1.0)
295
+ immigrant (0.3.6)
296
+ activerecord (>= 3.0)
297
+ ipaddress (0.8.3)
298
+ jaro_winkler (1.5.4)
299
+ journald-logger (3.0.0)
300
+ journald-native (~> 1.0)
301
+ journald-native (1.0.11)
302
+ jquery-turbolinks (2.1.0)
303
+ railties (>= 3.1.0)
304
+ turbolinks
305
+ jquery-ui-rails (4.2.1)
306
+ railties (>= 3.2.16)
307
+ json (2.3.0)
308
+ jwt (2.2.1)
309
+ launchy (2.5.0)
310
+ addressable (~> 2.7)
311
+ ldap_fluff (0.4.7)
312
+ activesupport
313
+ net-ldap (>= 0.3.1)
314
+ little-plugger (1.1.4)
315
+ locale (2.1.3)
316
+ logging (2.2.2)
317
+ little-plugger (~> 1.1)
318
+ multi_json (~> 1.10)
319
+ logging-journald (2.1.0)
320
+ journald-logger (~> 3.0)
321
+ logging
322
+ loofah (2.4.0)
323
+ crass (~> 1.0.2)
324
+ nokogiri (>= 1.5.9)
325
+ mail (2.7.1)
326
+ mini_mime (>= 0.1.1)
327
+ marcel (0.3.3)
328
+ mimemagic (~> 0.3.2)
329
+ maruku (0.7.3)
330
+ memoist (0.16.2)
331
+ metaclass (0.0.4)
332
+ method_source (0.9.2)
333
+ mime-types (3.3.1)
334
+ mime-types-data (~> 3.2015)
335
+ mime-types-data (3.2019.1009)
336
+ mimemagic (0.3.4)
337
+ mini_mime (1.0.2)
338
+ mini_portile2 (2.4.0)
339
+ minitest (5.10.3)
340
+ minitest-reporters (1.4.2)
341
+ ansi
342
+ builder
343
+ minitest (>= 5.0)
344
+ ruby-progressbar
345
+ minitest-retry (0.2.0)
346
+ minitest (>= 5.0)
347
+ minitest-spec-rails (6.0.2)
348
+ minitest (>= 5.0)
349
+ railties (>= 4.1)
350
+ minitest-tags (0.0.5)
351
+ mocha (1.9.0)
352
+ metaclass (~> 0.0.1)
353
+ msgpack (1.3.3)
354
+ multi_json (1.14.1)
355
+ multipart-post (2.1.1)
356
+ mustermann (1.1.1)
357
+ ruby2_keywords (~> 0.0.1)
358
+ mysql2 (0.5.2)
359
+ net-ldap (0.16.2)
360
+ net-ping (2.0.6)
361
+ net-scp (2.0.0)
362
+ net-ssh (>= 2.6.5, < 6.0.0)
363
+ net-ssh (4.2.0)
364
+ netrc (0.11.0)
365
+ nio4r (2.5.2)
366
+ nokogiri (1.10.9)
367
+ mini_portile2 (~> 2.4.0)
368
+ oauth (0.5.4)
369
+ optimist (3.0.0)
370
+ os (1.0.1)
371
+ ovirt-engine-sdk (4.3.0)
372
+ json (>= 1, < 3)
373
+ paint (2.2.0)
374
+ parallel (1.19.1)
375
+ parallel_tests (2.31.0)
376
+ parallel
377
+ parse-cron (0.1.4)
378
+ parser (2.7.0.4)
379
+ ast (~> 2.4.0)
380
+ patternfly-sass (3.37.10)
381
+ bootstrap-sass (~> 3.3.7)
382
+ font-awesome-sass (~> 4.6.2)
383
+ sass (~> 3.4.15)
384
+ pg (1.2.2)
385
+ po_to_json (1.0.1)
386
+ json (>= 1.6.0)
387
+ poltergeist (1.18.1)
388
+ capybara (>= 2.1, < 4)
389
+ cliver (~> 0.3.1)
390
+ websocket-driver (>= 0.2.0)
391
+ polyglot (0.3.5)
392
+ prometheus-client (1.0.0)
393
+ promise.rb (0.7.4)
394
+ pry (0.12.2)
395
+ coderay (~> 1.1.0)
396
+ method_source (~> 0.9.0)
397
+ public_suffix (4.0.3)
398
+ pulp_ansible_client (0.2.0b6.dev01570985981)
399
+ faraday (>= 0.14.0)
400
+ json (~> 2.1, >= 2.1.0)
401
+ pulp_docker_client (4.0.0b8.dev01571062112)
402
+ faraday (>= 0.14.0)
403
+ json (~> 2.1, >= 2.1.0)
404
+ pulp_file_client (0.1.0b5.dev01571253617)
405
+ faraday (>= 0.14.0)
406
+ json (~> 2.1, >= 2.1.0)
407
+ pulp_rpm_client (3.0.0b71571331815)
408
+ faraday (>= 0.14.0)
409
+ json (~> 2.1, >= 2.1.0)
410
+ pulpcore_client (3.0.0rc8.dev01571235538)
411
+ faraday (>= 0.14.0)
412
+ json (~> 2.1, >= 2.1.0)
413
+ puma (4.3.3)
414
+ nio4r (~> 2.0)
415
+ qpid_messaging (1.39.0)
416
+ rabl (0.14.2)
417
+ activesupport (>= 2.3.14)
418
+ rack (2.0.9)
419
+ rack-cors (1.0.6)
420
+ rack (>= 1.6.0)
421
+ rack-jsonp (1.3.1)
422
+ rack
423
+ rack-openid (1.4.2)
424
+ rack (>= 1.1.0)
425
+ ruby-openid (>= 2.1.8)
426
+ rack-protection (2.0.8.1)
427
+ rack
428
+ rack-test (1.1.0)
429
+ rack (>= 1.0, < 3)
430
+ rails (5.2.1)
431
+ actioncable (= 5.2.1)
432
+ actionmailer (= 5.2.1)
433
+ actionpack (= 5.2.1)
434
+ actionview (= 5.2.1)
435
+ activejob (= 5.2.1)
436
+ activemodel (= 5.2.1)
437
+ activerecord (= 5.2.1)
438
+ activestorage (= 5.2.1)
439
+ activesupport (= 5.2.1)
440
+ bundler (>= 1.3.0)
441
+ railties (= 5.2.1)
442
+ sprockets-rails (>= 2.0.0)
443
+ rails-controller-testing (1.0.4)
444
+ actionpack (>= 5.0.1.x)
445
+ actionview (>= 5.0.1.x)
446
+ activesupport (>= 5.0.1.x)
447
+ rails-dom-testing (2.0.3)
448
+ activesupport (>= 4.2.0)
449
+ nokogiri (>= 1.6)
450
+ rails-html-sanitizer (1.3.0)
451
+ loofah (~> 2.3)
452
+ rails-i18n (5.1.3)
453
+ i18n (>= 0.7, < 2)
454
+ railties (>= 5.0, < 6)
455
+ railties (5.2.1)
456
+ actionpack (= 5.2.1)
457
+ activesupport (= 5.2.1)
458
+ method_source
459
+ rake (>= 0.8.7)
460
+ thor (>= 0.19.0, < 2.0)
461
+ rainbow (3.0.0)
462
+ rake (13.0.1)
463
+ rbovirt (0.1.7)
464
+ nokogiri
465
+ rest-client (> 1.7.0)
466
+ rbvmomi (2.3.0)
467
+ builder (~> 3.0)
468
+ json (>= 1.8)
469
+ nokogiri (~> 1.5)
470
+ optimist (~> 3.0)
471
+ rdoc (6.2.1)
472
+ record_tag_helper (1.0.1)
473
+ actionview (>= 5)
474
+ redhat_access (2.2.18)
475
+ angular-rails-templates (>= 0.0.4)
476
+ foreman-tasks
477
+ katello
478
+ redhat_access_lib (>= 1.1.5)
479
+ redhat_access_lib (1.1.5)
480
+ rest-client (>= 1.6.3)
481
+ redis (4.1.3)
482
+ regexp_parser (1.7.0)
483
+ representable (3.0.4)
484
+ declarative (< 0.1.0)
485
+ declarative-option (< 0.2.0)
486
+ uber (< 0.2.0)
487
+ responders (3.0.0)
488
+ actionpack (>= 5.0)
489
+ railties (>= 5.0)
490
+ rest-client (2.1.0)
491
+ http-accept (>= 1.7.0, < 2.0)
492
+ http-cookie (>= 1.0.2, < 2.0)
493
+ mime-types (>= 1.16, < 4.0)
494
+ netrc (~> 0.8)
495
+ retriable (3.1.2)
496
+ rfauxfactory (0.1.5)
497
+ roadie (4.0.0)
498
+ css_parser (~> 1.4)
499
+ nokogiri (~> 1.8)
500
+ roadie-rails (2.1.1)
501
+ railties (>= 5.1, < 6.1)
502
+ roadie (>= 3.1, < 5.0)
503
+ robotex (1.0.0)
504
+ robottelo_reporter (0.1.1)
505
+ builder (>= 2.1.2)
506
+ rubocop (0.71.0)
507
+ jaro_winkler (~> 1.5.1)
508
+ parallel (~> 1.10)
509
+ parser (>= 2.6)
510
+ rainbow (>= 2.2.2, < 4.0)
511
+ ruby-progressbar (~> 1.7)
512
+ unicode-display_width (>= 1.4.0, < 1.7)
513
+ rubocop-checkstyle_formatter (0.4.0)
514
+ rubocop (>= 0.35.1)
515
+ rubocop-performance (1.4.1)
516
+ rubocop (>= 0.71.0)
517
+ rubocop-rails (2.0.1)
518
+ rack (>= 1.1)
519
+ rubocop (>= 0.70.0)
520
+ ruby-libvirt (0.7.1)
521
+ ruby-openid (2.9.2)
522
+ ruby-progressbar (1.10.1)
523
+ ruby2_keywords (0.0.2)
524
+ ruby2ruby (2.4.4)
525
+ ruby_parser (~> 3.1)
526
+ sexp_processor (~> 4.6)
527
+ ruby_parser (3.14.2)
528
+ sexp_processor (~> 4.9)
529
+ rubyzip (2.2.0)
530
+ runcible (2.13.1)
531
+ activesupport (>= 3.0.10)
532
+ i18n (>= 0.5.0)
533
+ json
534
+ oauth
535
+ rest-client (>= 1.6.1, < 3.0.0)
536
+ safe_yaml (1.0.5)
537
+ safemode (1.3.5)
538
+ ruby2ruby (>= 2.4.0)
539
+ ruby_parser (>= 3.10.1)
540
+ sexp_processor (>= 4.10.0)
541
+ sass (3.4.25)
542
+ sass-rails (5.1.0)
543
+ railties (>= 5.2.0)
544
+ sass (~> 3.1)
545
+ sprockets (>= 2.8, < 4.0)
546
+ sprockets-rails (>= 2.0, < 4.0)
547
+ tilt (>= 1.1, < 3)
548
+ scoped_search (4.1.7)
549
+ activerecord (>= 4.2.0)
550
+ secure_headers (6.3.0)
551
+ selenium-webdriver (3.142.7)
552
+ childprocess (>= 0.5, < 4.0)
553
+ rubyzip (>= 1.2.2)
554
+ sequel (5.30.0)
555
+ sexp_processor (4.14.1)
556
+ shoulda-context (1.2.2)
557
+ shoulda-matchers (4.3.0)
558
+ activesupport (>= 4.2.0)
559
+ show_me_the_cookies (5.0.0)
560
+ capybara (>= 2, < 4)
561
+ sidekiq (5.2.8)
562
+ connection_pool (~> 2.2, >= 2.2.2)
563
+ rack (< 2.1.0)
564
+ rack-protection (>= 1.5.0)
565
+ redis (>= 3.3.5, < 5)
566
+ signet (0.13.0)
567
+ addressable (~> 2.3)
568
+ faraday (>= 0.17.3, < 2.0)
569
+ jwt (>= 1.5, < 3.0)
570
+ multi_json (~> 1.10)
571
+ simplecov (0.18.5)
572
+ docile (~> 1.1)
573
+ simplecov-html (~> 0.11)
574
+ simplecov-html (0.12.2)
575
+ simplecov-rcov (0.2.3)
576
+ simplecov (>= 0.4.1)
577
+ sinatra (2.0.8.1)
578
+ mustermann (~> 1.0)
579
+ rack (~> 2.0)
580
+ rack-protection (= 2.0.8.1)
581
+ tilt (~> 2.0)
582
+ single_test (0.6.0)
583
+ rake
584
+ spring (2.1.0)
585
+ sprockets (3.7.2)
586
+ concurrent-ruby (~> 1.0)
587
+ rack (> 1, < 3)
588
+ sprockets-rails (3.2.1)
589
+ actionpack (>= 4.0)
590
+ activesupport (>= 4.0)
591
+ sprockets (>= 3.0.0)
592
+ sqlite3 (1.3.13)
593
+ sshkey (1.9.0)
594
+ statsd-instrument (2.9.2)
595
+ text (1.3.1)
596
+ thor (1.0.1)
597
+ thread_safe (0.3.6)
598
+ tilt (2.0.10)
599
+ turbolinks (2.5.4)
600
+ coffee-rails
601
+ tzinfo (1.2.6)
602
+ thread_safe (~> 0.1)
603
+ uber (0.1.0)
604
+ uglifier (4.2.0)
605
+ execjs (>= 0.3.0, < 3)
606
+ unf (0.1.4)
607
+ unf_ext
608
+ unf_ext (0.0.7.6)
609
+ unicode-display_width (1.6.1)
610
+ uniform_notifier (1.13.0)
611
+ validates_lengths_from_database (0.8.0)
612
+ activerecord (>= 4)
613
+ vcr (3.0.3)
614
+ webmock (3.8.3)
615
+ addressable (>= 2.3.6)
616
+ crack (>= 0.3.2)
617
+ hashdiff (>= 0.4.0, < 2.0.0)
618
+ webpack-rails (0.9.11)
619
+ railties (>= 3.2.0)
620
+ websocket-driver (0.7.1)
621
+ websocket-extensions (>= 0.1.0)
622
+ websocket-extensions (0.1.4)
623
+ will_paginate (3.3.0)
624
+ wirb (2.2.1)
625
+ paint (>= 0.9, < 3.0)
626
+ x-editable-rails (1.5.5.1)
627
+ railties
628
+ xpath (3.2.0)
629
+ nokogiri (~> 1.8)
630
+
631
+ PLATFORMS
632
+ ruby
633
+
634
+ DEPENDENCIES
635
+ activerecord-nulldb-adapter
636
+ activerecord-session_store (>= 1.1.0, < 2)
637
+ ancestry (>= 2.0, < 4)
638
+ apipie-rails (>= 0.5.2, < 0.6.0)
639
+ as_deprecation_tracker (~> 1.4)
640
+ audited (>= 4.9.0, < 5)
641
+ awesome_print (~> 1.0)
642
+ bcrypt (~> 3.1)
643
+ benchmark-ips (>= 2.8.2)
644
+ bootsnap
645
+ bullet (>= 5.7.3)
646
+ capybara (~> 3.0, < 3.32.1)
647
+ ci_reporter_minitest
648
+ daemons
649
+ database_cleaner (~> 1.3)
650
+ deacon (~> 1.0)
651
+ deep_cloneable (>= 3, < 4)
652
+ dynflow (>= 1.4.0, < 2.0.0)
653
+ execjs (>= 1.4.0, < 3.0)
654
+ facter
655
+ factory_bot_rails (~> 5.0)
656
+ fast_gettext (~> 1.4)
657
+ fog-aws (< 4)
658
+ fog-core (= 2.1.0)
659
+ fog-google (~> 1.8.2)
660
+ fog-libvirt (>= 0.6.0)
661
+ fog-openstack (>= 1.0.8, < 2.0.0)
662
+ fog-ovirt (~> 1.2.0)
663
+ fog-rackspace (~> 0.1.4)
664
+ fog-vsphere (~> 3.2, >= 3.2.1)
665
+ foreman
666
+ foreman_rh_cloud!
667
+ friendly_id (>= 5.2.4, < 6)
668
+ get_process_mem
669
+ gettext (>= 3.2.1, < 4.0.0)
670
+ gettext_i18n_rails (~> 1.8)
671
+ gettext_i18n_rails_js (~> 1.0)
672
+ gitlab-sidekiq-fetcher
673
+ graphiql-rails (~> 1.7)
674
+ graphql (~> 1.8.0)
675
+ graphql-batch
676
+ i18n (~> 1.1)
677
+ immigrant (~> 0.1)
678
+ jquery-turbolinks (~> 2.1)
679
+ jquery-ui-rails (< 5.0.0)
680
+ jwt (~> 2.2.1)
681
+ katello!
682
+ launchy (~> 2.4)
683
+ ldap_fluff (>= 0.4.7, < 1.0)
684
+ logging (>= 1.8.0, < 3.0.0)
685
+ logging-journald (~> 2.0)
686
+ mail (~> 2.7)
687
+ maruku (~> 0.7)
688
+ minitest (~> 5.1, < 5.11)
689
+ minitest-reporters
690
+ minitest-retry (~> 0.0)
691
+ minitest-spec-rails (~> 6.0)
692
+ minitest-tags
693
+ mocha (~> 1.4, < 1.10)
694
+ mysql2 (>= 0.4.4, < 0.6.0)
695
+ net-ldap (>= 0.16.0)
696
+ net-ping
697
+ net-scp
698
+ net-ssh (= 4.2.0)
699
+ oauth (>= 0.5.4, < 1)
700
+ parallel_tests
701
+ patternfly-sass (>= 3.32.1, < 3.38.0)
702
+ pg (>= 0.18, < 2.0)
703
+ poltergeist (>= 1.18.0)
704
+ prometheus-client (~> 1.0)
705
+ pry
706
+ puma
707
+ rabl (~> 0.11)
708
+ rack-cors (~> 1.0.2)
709
+ rack-jsonp
710
+ rack-openid (~> 1.3)
711
+ rails (= 5.2.1)
712
+ rails-controller-testing (~> 1.0)
713
+ rails-i18n (~> 5.0)
714
+ rbvmomi (~> 2.0)
715
+ rdoc
716
+ record_tag_helper (~> 1.0)
717
+ redis (~> 4.0)
718
+ responders (~> 3.0)
719
+ rest-client (>= 2.0.0, < 3)
720
+ rfauxfactory (~> 0.1, >= 0.1.5)
721
+ roadie-rails (~> 2.0)
722
+ robottelo_reporter (~> 0.1)
723
+ rubocop (~> 0.71.0)
724
+ rubocop-checkstyle_formatter (~> 0.2)
725
+ rubocop-performance (~> 1.4.0)
726
+ rubocop-rails (~> 2.0.1)
727
+ ruby-libvirt (~> 0.5)
728
+ safemode (>= 1.3.5, < 2)
729
+ sass-rails (>= 5.0, < 6.0)
730
+ scoped_search (>= 4.1.7, < 5)
731
+ secure_headers (~> 6.3)
732
+ selenium-webdriver
733
+ shoulda-context (~> 1.2)
734
+ shoulda-matchers (~> 4.0)
735
+ show_me_the_cookies (~> 5.0)
736
+ sidekiq (~> 5.0)
737
+ simplecov
738
+ simplecov-rcov
739
+ single_test (~> 0.6)
740
+ spring (>= 1.0, < 3)
741
+ sprockets (~> 3)
742
+ sprockets-rails (~> 3.0)
743
+ sqlite3 (~> 1.3.6)
744
+ sshkey (~> 1.9)
745
+ statsd-instrument (< 3)
746
+ turbolinks (>= 2.5.4, < 3)
747
+ uglifier (>= 1.0.3)
748
+ validates_lengths_from_database (>= 0.5, < 1)
749
+ vcr (< 4.0.0)
750
+ webmock
751
+ webpack-rails (~> 0.9.8)
752
+ will_paginate (>= 3.1.7, < 4)
753
+ wirb (>= 1.0, < 3.0)
754
+ x-editable-rails (~> 1.5.5)
755
+
756
+ BUNDLED WITH
757
+ 1.16.1