foreman_docker 3.2.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -1
  3. data/app/controllers/api/v2/containers_controller.rb +4 -6
  4. data/app/controllers/api/v2/registries_controller.rb +1 -1
  5. data/app/controllers/containers/steps_controller.rb +3 -3
  6. data/app/controllers/containers_controller.rb +2 -2
  7. data/app/controllers/registries_controller.rb +1 -1
  8. data/app/models/container.rb +1 -1
  9. data/app/models/docker_container_wizard_state.rb +1 -1
  10. data/app/models/docker_container_wizard_states/configuration.rb +1 -1
  11. data/app/models/docker_container_wizard_states/environment.rb +1 -1
  12. data/app/models/docker_container_wizard_states/image.rb +1 -1
  13. data/app/models/docker_container_wizard_states/preliminary.rb +1 -1
  14. data/app/models/docker_parameter.rb +1 -1
  15. data/app/models/docker_registry.rb +1 -1
  16. data/app/models/foreman_docker/docker.rb +1 -1
  17. data/app/models/service/registry_api.rb +3 -2
  18. data/db/migrate/20140930175337_add_email_to_compute_resource.rb +1 -1
  19. data/db/migrate/20141005233312_create_containers.rb +1 -1
  20. data/db/migrate/20141007225130_add_compute_resource_id_to_container.rb +1 -1
  21. data/db/migrate/20141009001613_add_tag_to_container.rb +1 -1
  22. data/db/migrate/20141009011026_add_attributes_to_container.rb +1 -1
  23. data/db/migrate/20141010173220_create_docker_images.rb +1 -1
  24. data/db/migrate/20141018110810_add_uuid_to_containers.rb +1 -1
  25. data/db/migrate/20141024163003_create_docker_registries.rb +1 -1
  26. data/db/migrate/20141028164206_change_memory_in_container.rb +1 -1
  27. data/db/migrate/20141028164633_change_cpuset_in_container.rb +1 -1
  28. data/db/migrate/20141120123003_add_user_credentials_to_docker_registries.rb +1 -1
  29. data/db/migrate/20141209182008_remove_docker_tables.rb +1 -1
  30. data/db/migrate/20141222113313_create_wizard_states.rb +1 -1
  31. data/db/migrate/20150122011747_add_katello_flag_to_docker_wizard_image.rb +1 -1
  32. data/db/migrate/20150129054944_add_katello_flag_to_containers.rb +1 -1
  33. data/db/migrate/20150303175646_remove_katello_flag_from_containers.rb +1 -1
  34. data/db/migrate/20150814205620_change_container_column_type.rb +1 -1
  35. data/db/migrate/20160605133025_create_docker_parameters.rb +1 -1
  36. data/db/migrate/20160605134652_move_parameters_to_docker_parameters.rb +3 -3
  37. data/db/migrate/20170508130316_add_verify_ssl_option_to_docker_registries.rb +1 -1
  38. data/lib/foreman_docker/engine.rb +1 -0
  39. data/lib/foreman_docker/version.rb +1 -1
  40. data/test/factories/compute_resources.rb +1 -1
  41. data/test/factories/containers.rb +1 -1
  42. data/test/factories/docker_registry.rb +3 -3
  43. data/test/functionals/api/v2/containers_controller_test.rb +34 -34
  44. data/test/functionals/api/v2/registries_controller_test.rb +11 -11
  45. data/test/functionals/containers_controller_test.rb +14 -18
  46. data/test/functionals/containers_steps_controller_test.rb +8 -12
  47. data/test/functionals/image_search_controller_test.rb +2 -2
  48. data/test/integration/container_steps_test.rb +2 -2
  49. data/test/integration/container_test.rb +1 -1
  50. data/test/integration/registry_creation_test.rb +1 -1
  51. data/test/test_plugin_helper.rb +3 -3
  52. data/test/units/container_remover_test.rb +1 -1
  53. data/test/units/containers_service_test.rb +1 -1
  54. data/test/units/docker_container_wizard_states/image_test.rb +2 -2
  55. data/test/units/docker_registry_test.rb +6 -6
  56. data/test/units/foreman_docker/docker_test.rb +1 -0
  57. data/test/units/image_search_service_test.rb +2 -2
  58. data/test/units/registry_api_test.rb +4 -0
  59. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd1c67d97ef630b9eb968adff64763a36cfa5c51
4
- data.tar.gz: c89e5b7cc99ede834019b2e5635d6fe54d4e284d
3
+ metadata.gz: e552869e1ab0cfde41332e6ab9717d5f13415d70
4
+ data.tar.gz: e00b20498e799f4b647ada00f7778b45b25bc230
5
5
  SHA512:
6
- metadata.gz: 49ba4a4b2c15a5578648ab89da4a6f04a9deb53ea78da1a24c623776776a45504270747115817c5ef27f29a7e85b4f3c8120c6d72b6bed6b3d43e44f8afc9620
7
- data.tar.gz: 9b3266a52e3e0b1b04204fc82703b749bed883aef9dd67d4db3257d7ab2e32bc5cf12f2263d05ededbbf81642bdfa429b155112026cf85eb78acfcf4cfd7edeb
6
+ metadata.gz: 6162d8977618e99eed69ff55308f00d1f1983288d5cadd801c6a3aeebb2f10aae1e48d1225568ea34d38bc4463dc0ab5efb58b35bf584a51a21b658cbd74bd99
7
+ data.tar.gz: 6121f40a5b10d66b9aafee7a498ed16966c9db755a695eeb0b71eb4b97a63801d4e276944dea02b49bfe7fa93bcc3a06a9f8b1189a7960ff74ad6384315597ae
@@ -3,7 +3,8 @@ inherit_from:
3
3
  - .rubocop_todo.yml
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.0
6
+ TargetRubyVersion: 2.2
7
+ TargetRailsVersion: 5.1
7
8
 
8
9
  Rails: # always run the rails cops
9
10
  Enabled: true
@@ -2,7 +2,7 @@
2
2
  module Api
3
3
  module V2
4
4
  class ContainersController < ::Api::V2::BaseController
5
- before_filter :find_resource, :except => %w(index create)
5
+ before_action :find_resource, :except => %w(index create)
6
6
 
7
7
  resource_description do
8
8
  resource_id 'containers'
@@ -17,11 +17,9 @@ module Api
17
17
  param_group :search_and_pagination, ::Api::V2::BaseController
18
18
 
19
19
  def index
20
- compute_resource_id = params[:compute_resource_id].tap do |id|
21
- id.present? ? { :compute_resource_id => id } : nil
22
- end
23
- scoped = Container.where(compute_resource_id)
24
- @containers = scoped.search_for(params[:search], :order => params[:order])
20
+ scope = resource_scope
21
+ scope = scope.where(:compute_resource => params[:compute_resource_id]) if params[:compute_resource_id].present?
22
+ @containers = scope.search_for(params[:search], :order => params[:order])
25
23
  .paginate(:page => params[:page])
26
24
  end
27
25
 
@@ -2,7 +2,7 @@ module Api
2
2
  module V2
3
3
  class RegistriesController < ::Api::V2::BaseController
4
4
  include Foreman::Controller::Parameters::DockerRegistry
5
- before_filter :find_resource, :except => %w(index create)
5
+ before_action :find_resource, :except => %w(index create)
6
6
 
7
7
  resource_description do
8
8
  resource_id 'registries'
@@ -5,9 +5,9 @@ module Containers
5
5
 
6
6
  steps :preliminary, :image, :configuration, :environment
7
7
 
8
- before_filter :find_state
9
- before_filter :build_state, :only => [:update]
10
- before_filter :set_form, :only => [:show]
8
+ before_action :find_state
9
+ before_action :build_state, :only => [:update]
10
+ before_action :set_form, :only => [:show]
11
11
 
12
12
  def show
13
13
  @container_resources = allowed_resources if step == :preliminary
@@ -1,7 +1,7 @@
1
1
  class ContainersController < ::ApplicationController
2
2
  include ForemanDocker::FindContainer
3
3
 
4
- before_filter :find_container, :only => [:show, :commit, :power]
4
+ before_action :find_container, :only => [:show, :commit, :power]
5
5
 
6
6
  def index
7
7
  @container_resources = allowed_resources
@@ -100,7 +100,7 @@ class ContainersController < ::ApplicationController
100
100
 
101
101
  def container_deletion
102
102
  # TODO: Refactor to recognize params[:compute_resource_id] as well.
103
- compute_resource_id = params[:compute_resource_id].tap { |id| id.present? ? id : nil }
103
+ compute_resource_id = params[:compute_resource_id].present? ? params[:compute_resource_id] : nil
104
104
  if compute_resource_id
105
105
  container_uuid = params[:id]
106
106
  @container ||= Container.authorized("#{action_permission}_#{controller_name}".to_sym).find_by_uuid(container_uuid)
@@ -1,7 +1,7 @@
1
1
  class RegistriesController < ::ApplicationController
2
2
  include Foreman::Controller::AutoCompleteSearch
3
3
  include Foreman::Controller::Parameters::DockerRegistry
4
- before_filter :find_registry, :only => [:edit, :update, :destroy]
4
+ before_action :find_registry, :only => [:edit, :update, :destroy]
5
5
 
6
6
  def index
7
7
  @registries = DockerRegistry.search_for(params[:search], :order => params[:order])
@@ -1,4 +1,4 @@
1
- class Container < ActiveRecord::Base
1
+ class Container < ApplicationRecord
2
2
  include Authorizable
3
3
  include Taxonomix
4
4
 
@@ -1,4 +1,4 @@
1
- class DockerContainerWizardState < ActiveRecord::Base
1
+ class DockerContainerWizardState < ApplicationRecord
2
2
  has_one :preliminary, :class_name => DockerContainerWizardStates::Preliminary,
3
3
  :dependent => :destroy, :validate => true, :autosave => true
4
4
  has_one :image, :class_name => DockerContainerWizardStates::Image,
@@ -1,5 +1,5 @@
1
1
  module DockerContainerWizardStates
2
- class Configuration < ActiveRecord::Base
2
+ class Configuration < ApplicationRecord
3
3
  self.table_name_prefix = 'docker_container_wizard_states_'
4
4
  belongs_to :wizard_state, :class_name => DockerContainerWizardState,
5
5
  :foreign_key => :docker_container_wizard_state_id
@@ -1,5 +1,5 @@
1
1
  module DockerContainerWizardStates
2
- class Environment < ActiveRecord::Base
2
+ class Environment < ApplicationRecord
3
3
  self.table_name_prefix = 'docker_container_wizard_states_'
4
4
  belongs_to :wizard_state, :class_name => DockerContainerWizardState
5
5
 
@@ -1,5 +1,5 @@
1
1
  module DockerContainerWizardStates
2
- class Image < ActiveRecord::Base
2
+ class Image < ApplicationRecord
3
3
  self.table_name_prefix = 'docker_container_wizard_states_'
4
4
  belongs_to :wizard_state, :class_name => DockerContainerWizardState,
5
5
  :foreign_key => :docker_container_wizard_state_id
@@ -1,5 +1,5 @@
1
1
  module DockerContainerWizardStates
2
- class Preliminary < ActiveRecord::Base
2
+ class Preliminary < ApplicationRecord
3
3
  include Taxonomix
4
4
 
5
5
  self.table_name_prefix = 'docker_container_wizard_states_'
@@ -1,4 +1,4 @@
1
- class DockerParameter < ActiveRecord::Base
1
+ class DockerParameter < ApplicationRecord
2
2
  extend FriendlyId
3
3
  friendly_id :key
4
4
  include Parameterizable::ByIdName
@@ -1,4 +1,4 @@
1
- class DockerRegistry < ActiveRecord::Base
1
+ class DockerRegistry < ApplicationRecord
2
2
  include Authorizable
3
3
  include Taxonomix
4
4
  include Encryptable
@@ -2,7 +2,7 @@ require 'uri'
2
2
 
3
3
  module ForemanDocker
4
4
  class Docker < ::ComputeResource
5
- validates :url, :format => { :with => URI.regexp }
5
+ validates :url, :format => { :with => URI.regexp }, :presence => true
6
6
  validates :email, :format => { :with => /.+@.+\..+/i }, :allow_blank => true
7
7
 
8
8
  def self.model_name
@@ -1,9 +1,10 @@
1
1
  module Service
2
2
  class RegistryApi
3
- DOCKER_HUB = 'https://registry.hub.docker.com/'.freeze
3
+ DOCKER_HUB = 'https://index.docker.io/'.freeze
4
4
  DEFAULTS = {
5
5
  url: 'http://localhost:5000'.freeze,
6
- connection: { omit_default_port: true }
6
+ connection: { omit_default_port: true,
7
+ headers: { "Content-Type" => "application/json" }}
7
8
  }
8
9
 
9
10
  attr_accessor :config, :url
@@ -1,4 +1,4 @@
1
- class AddEmailToComputeResource < ActiveRecord::Migration
1
+ class AddEmailToComputeResource < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :compute_resources, :email, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreateContainers < ActiveRecord::Migration
1
+ class CreateContainers < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :containers do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class AddComputeResourceIdToContainer < ActiveRecord::Migration
1
+ class AddComputeResourceIdToContainer < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :containers, :compute_resource_id, :integer
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddTagToContainer < ActiveRecord::Migration
1
+ class AddTagToContainer < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :containers, :tag, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddAttributesToContainer < ActiveRecord::Migration
1
+ class AddAttributesToContainer < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :containers, :entrypoint, :string
4
4
  add_column :containers, :cpu_set, :integer
@@ -1,4 +1,4 @@
1
- class CreateDockerImages < ActiveRecord::Migration
1
+ class CreateDockerImages < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  create_table :docker_images do |t|
4
4
  t.string :image_id
@@ -1,4 +1,4 @@
1
- class AddUuidToContainers < ActiveRecord::Migration
1
+ class AddUuidToContainers < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :containers, :uuid, :string
4
4
  add_index :containers, [:uuid, :compute_resource_id]
@@ -1,4 +1,4 @@
1
- class CreateDockerRegistries < ActiveRecord::Migration
1
+ class CreateDockerRegistries < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :docker_registries do |t|
4
4
  t.string :url
@@ -1,4 +1,4 @@
1
- class ChangeMemoryInContainer < ActiveRecord::Migration
1
+ class ChangeMemoryInContainer < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  change_column :containers, :memory, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class ChangeCpusetInContainer < ActiveRecord::Migration
1
+ class ChangeCpusetInContainer < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  change_column :containers, :cpu_set, :string
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddUserCredentialsToDockerRegistries < ActiveRecord::Migration
1
+ class AddUserCredentialsToDockerRegistries < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :docker_registries, :username, :string
4
4
  add_column :docker_registries, :password, :string
@@ -1,4 +1,4 @@
1
- class RemoveDockerTables < ActiveRecord::Migration
1
+ class RemoveDockerTables < ActiveRecord::Migration[4.2]
2
2
  class DockerImage
3
3
  end
4
4
 
@@ -1,4 +1,4 @@
1
- class CreateWizardStates < ActiveRecord::Migration
1
+ class CreateWizardStates < ActiveRecord::Migration[4.2]
2
2
  # rubocop:disable Metrics/MethodLength
3
3
  def change
4
4
  create_table :docker_container_wizard_states, &:timestamps
@@ -1,4 +1,4 @@
1
- class AddKatelloFlagToDockerWizardImage < ActiveRecord::Migration
1
+ class AddKatelloFlagToDockerWizardImage < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  add_column :docker_container_wizard_states_images, :katello, :boolean
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddKatelloFlagToContainers < ActiveRecord::Migration
1
+ class AddKatelloFlagToContainers < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  add_column :containers, :katello, :boolean
4
4
  end
@@ -1,4 +1,4 @@
1
- class RemoveKatelloFlagFromContainers < ActiveRecord::Migration
1
+ class RemoveKatelloFlagFromContainers < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  remove_column :containers, :katello
4
4
  end
@@ -1,4 +1,4 @@
1
- class ChangeContainerColumnType < ActiveRecord::Migration
1
+ class ChangeContainerColumnType < ActiveRecord::Migration[4.2]
2
2
  def up
3
3
  change_column :containers, :cpu_shares, :integer
4
4
  change_column :docker_container_wizard_states_configurations, :cpu_shares, :integer
@@ -1,4 +1,4 @@
1
- class CreateDockerParameters < ActiveRecord::Migration
1
+ class CreateDockerParameters < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  create_table :docker_parameters do |t|
4
4
  t.string :key, :limit => 255
@@ -1,9 +1,9 @@
1
- class MoveParametersToDockerParameters < ActiveRecord::Migration
2
- class FakeDockerParameter < ActiveRecord::Base
1
+ class MoveParametersToDockerParameters < ActiveRecord::Migration[4.2]
2
+ class FakeDockerParameter < ApplicationRecord
3
3
  self.table_name = 'docker_parameters'
4
4
  end
5
5
 
6
- class FakeParameter < ActiveRecord::Base
6
+ class FakeParameter < ApplicationRecord
7
7
  self.table_name = 'parameters'
8
8
  end
9
9
 
@@ -1,4 +1,4 @@
1
- class AddVerifySslOptionToDockerRegistries < ActiveRecord::Migration
1
+ class AddVerifySslOptionToDockerRegistries < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :docker_registries, :verify_ssl, :boolean, default: true
4
4
  end
@@ -47,6 +47,7 @@ module ForemanDocker
47
47
  compute_resource ForemanDocker::Docker
48
48
 
49
49
  sub_menu :top_menu, :containers_menu, :caption => N_('Containers'),
50
+ :icon => 'fa fa-cube',
50
51
  :after => :monitor_menu do
51
52
  menu :top_menu, :containers, :caption => N_('All Containers'),
52
53
  :url_hash => { :controller => :containers,
@@ -1,3 +1,3 @@
1
1
  module ForemanDocker
2
- VERSION = '3.2.1'
2
+ VERSION = '4.0.0'
3
3
  end
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :container_resource, :class => ComputeResource do
3
3
  sequence(:name) { |n| "compute_resource#{n}" }
4
4
 
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :container do
3
3
  sequence(:name) { |n| "container_#{n}" }
4
4
  association :compute_resource, :factory => :docker_cr
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :docker_registry do
3
3
  sequence(:name) { |n| "hub#{n}" }
4
4
  sequence(:url) { |n| "http://localhost/#{n}" }
@@ -11,10 +11,10 @@ FactoryGirl.define do
11
11
  end
12
12
 
13
13
  trait :with_location do
14
- locations { [FactoryGirl.build(:location)] }
14
+ locations { [FactoryBot.build(:location)] }
15
15
  end
16
16
 
17
17
  trait :with_organization do
18
- organizations { [FactoryGirl.build(:organization)] }
18
+ organizations { [FactoryBot.build(:organization)] }
19
19
  end
20
20
  end
@@ -9,38 +9,38 @@ module Api
9
9
  end
10
10
 
11
11
  test 'index returns a list of all containers' do
12
- get :index, {}, set_session_user
12
+ get :index, session: set_session_user
13
13
  assert_response :success
14
14
  assert_template 'index'
15
15
  end
16
16
 
17
17
  test 'index can be filtered by name' do
18
18
  %w(thomas clayton wolfe).each do |name|
19
- FactoryGirl.create(:container, :name => name)
19
+ FactoryBot.create(:container, :name => name)
20
20
  end
21
- get :index, { :search => 'name = thomas' }, set_session_user
21
+ get :index, params: { :search => 'name = thomas' }, session: set_session_user
22
22
  assert_response :success
23
23
  assert_equal 1, assigns(:containers).length
24
24
  end
25
25
 
26
26
  context 'container operations' do
27
27
  setup do
28
- @container = FactoryGirl.create(:container, :name => 'foo')
29
- @registry = FactoryGirl.create(:docker_registry)
30
- @compute_resource = FactoryGirl.create(:docker_cr)
28
+ @container = FactoryBot.create(:container, :name => 'foo')
29
+ @registry = FactoryBot.create(:docker_registry)
30
+ @compute_resource = FactoryBot.create(:docker_cr)
31
31
  end
32
32
 
33
33
  test 'logs returns latest lines of container log' do
34
34
  fake_container = Struct.new(:logs)
35
35
  fake_container.expects(:logs).returns('I am a log').twice
36
36
  Docker::Container.expects(:get).with(@container.uuid).returns(fake_container)
37
- get :logs, :id => @container.id
37
+ get :logs, params: { :id => @container.id }
38
38
  assert_response :success
39
39
  assert_equal ActiveSupport::JSON.decode(response.body)['logs'], fake_container.logs
40
40
  end
41
41
 
42
42
  test 'show returns information about container' do
43
- get :show, :id => @container.id
43
+ get :show, params: { :id => @container.id }
44
44
  assert_response :success
45
45
  assert_equal ActiveSupport::JSON.decode(response.body)['name'], 'foo'
46
46
  end
@@ -52,7 +52,7 @@ module Api
52
52
 
53
53
  test 'delete removes a container in foreman and in Docker host' do
54
54
  Fog.mock!
55
- delete :destroy, :id => @container.id
55
+ delete :destroy, params: { :id => @container.id }
56
56
  Fog.unmock!
57
57
  assert_response :success
58
58
  assert_equal ActiveSupport::JSON.decode(response.body)['name'], 'foo'
@@ -62,7 +62,7 @@ module Api
62
62
  ComputeResource.any_instance.expects(:destroy_vm).
63
63
  with('randomuuid').
64
64
  raises(::Foreman::Exception.new('Problem removing container'))
65
- delete :destroy, :id => @container.id
65
+ delete :destroy, params: { :id => @container.id }
66
66
  assert_response :precondition_failed
67
67
  end
68
68
  end
@@ -73,20 +73,20 @@ module Api
73
73
 
74
74
  test 'power call turns on/off container in Docker host' do
75
75
  Fog::Compute::Fogdocker::Server.any_instance.expects(:start)
76
- put :power, :id => @container.id, :power_action => 'start'
76
+ put :power, params: { :id => @container.id, :power_action => 'start' }
77
77
  assert_response :success
78
78
  end
79
79
 
80
80
  test 'power call checks status of container in Docker host' do
81
81
  Fog::Compute::Fogdocker::Server.any_instance.expects(:ready?).returns(false)
82
- put :power, :id => @container.id, :power_action => 'status'
82
+ put :power, params: { :id => @container.id, :power_action => 'status' }
83
83
  assert_response :success
84
84
  assert_equal ActiveSupport::JSON.decode(response.body)['running'], false
85
85
  end
86
86
 
87
87
  test 'power call host' do
88
88
  Fog::Compute::Fogdocker::Server.any_instance.expects(:ready?).returns(false)
89
- put :power, :id => @container.id, :power_action => 'status'
89
+ put :power, params: { :id => @container.id, :power_action => 'status' }
90
90
  assert_response :success
91
91
  assert_equal ActiveSupport::JSON.decode(response.body)['running'], false
92
92
  end
@@ -107,11 +107,11 @@ module Api
107
107
  container.repository_pull_url.must_include(registry_uri.host)
108
108
  container.repository_pull_url.must_include("#{repository_name}:#{tag}")
109
109
  end
110
- post :create, :container => { :compute_resource_id => @compute_resource.id,
111
- :name => name,
112
- :registry_id => @registry.id,
113
- :repository_name => repository_name,
114
- :tag => tag }
110
+ post :create, params: { :container => { :compute_resource_id => @compute_resource.id,
111
+ :name => name,
112
+ :registry_id => @registry.id,
113
+ :repository_name => repository_name,
114
+ :tag => tag } }
115
115
  assert_response :created
116
116
  end
117
117
 
@@ -121,12 +121,12 @@ module Api
121
121
  name = "foo2"
122
122
  Service::Containers.any_instance.expects(:pull_image).returns(true)
123
123
  Service::Containers.any_instance.expects(:start_container).returns(true)
124
- post :create, :container => { :compute_resource_id => @compute_resource.id,
125
- :name => name,
126
- :registry_id => @registry.id,
127
- :repository_name => repository_name,
128
- :tag => tag,
129
- :environment_variables => [{:key => 'ping_host', :value => 'example.com'}]}
124
+ post :create, params: { :container => { :compute_resource_id => @compute_resource.id,
125
+ :name => name,
126
+ :registry_id => @registry.id,
127
+ :repository_name => repository_name,
128
+ :tag => tag,
129
+ :environment_variables => [{:key => 'ping_host', :value => 'example.com'}]} }
130
130
  assert_response :created
131
131
  end
132
132
  end
@@ -150,20 +150,20 @@ module Api
150
150
  container_attributes[:name].must_equal(name)
151
151
  wizard_state.image.capsule_id.must_equal(capsule_id)
152
152
  end
153
- post :create, :container => { :compute_resource_id => @compute_resource.id,
154
- :name => name,
155
- :capsule_id => capsule_id,
156
- :repository_name => repository_name,
157
- :tag => tag }
153
+ post :create, params: { :container => { :compute_resource_id => @compute_resource.id,
154
+ :name => name,
155
+ :capsule_id => capsule_id,
156
+ :repository_name => repository_name,
157
+ :tag => tag } }
158
158
  assert_response :created
159
159
  end
160
160
 
161
161
  test 'creation fails with invalid container name' do
162
- post :create, :container => { :compute_resource_id => @container.compute_resource_id,
163
- :name => @container.name,
164
- :registry_id => @registry.id,
165
- :repository_name => 'centos',
166
- :tag => 'latest' }
162
+ post :create, params: { :container => { :compute_resource_id => @container.compute_resource_id,
163
+ :name => @container.name,
164
+ :registry_id => @registry.id,
165
+ :repository_name => 'centos',
166
+ :tag => 'latest' } }
167
167
  assert_response :unprocessable_entity
168
168
  assert_match /Name has already been taken/, @response.body
169
169
  end
@@ -4,53 +4,53 @@ module Api
4
4
  module V2
5
5
  class RegistriesControllerTest < ActionController::TestCase
6
6
  setup do
7
- @registry = FactoryGirl.create(:docker_registry)
7
+ @registry = FactoryBot.create(:docker_registry)
8
8
  end
9
9
 
10
10
  test 'index returns a list of all containers' do
11
- get :index, {}, set_session_user
11
+ get :index, session: set_session_user
12
12
  assert_response :success
13
13
  assert_template 'index'
14
14
  end
15
15
 
16
16
  test 'index can be filtered by name' do
17
17
  %w(thomas clayton wolfe).each do |name|
18
- FactoryGirl.create(:docker_registry, :name => name)
18
+ FactoryBot.create(:docker_registry, :name => name)
19
19
  end
20
- get :index, { :search => 'name = thomas' }, set_session_user
20
+ get :index, params: { :search => 'name = thomas' }, session: set_session_user
21
21
  assert_response :success
22
22
  assert_equal 1, assigns(:registries).length
23
23
  end
24
24
 
25
25
  test 'creates a new registry with valid params' do
26
- docker_attrs = FactoryGirl.attributes_for(:docker_registry)
26
+ docker_attrs = FactoryBot.attributes_for(:docker_registry)
27
27
  DockerRegistry.any_instance.stubs(:attempt_login)
28
- post :create, :registry => docker_attrs
28
+ post :create, params: { :registry => docker_attrs }
29
29
  assert_response :success
30
30
  end
31
31
 
32
32
  test 'does not create a new registry with invalid params' do
33
- docker_attrs = FactoryGirl.attributes_for(:docker_registry)
33
+ docker_attrs = FactoryBot.attributes_for(:docker_registry)
34
34
  docker_attrs.delete(:name)
35
- post :create, :registry => docker_attrs
35
+ post :create, params: { :registry => docker_attrs }
36
36
  assert_response 422
37
37
  end
38
38
 
39
39
  test 'shows a docker registry' do
40
- get :show, :id => @registry.id
40
+ get :show, params: { :id => @registry.id }
41
41
  assert_response :success
42
42
  end
43
43
 
44
44
  test 'update a docker registry' do
45
45
  DockerRegistry.any_instance.stubs(:attempt_login)
46
46
  new_name = 'hello_world'
47
- put :update, :id => @registry.id, :registry => { :name => new_name }
47
+ put :update, params: { :id => @registry.id, :registry => { :name => new_name } }
48
48
  assert_response :success
49
49
  assert_equal new_name, @registry.reload.name
50
50
  end
51
51
 
52
52
  test 'deletes a docker registry' do
53
- delete :destroy, :id => @registry.id
53
+ delete :destroy, params: { :id => @registry.id }
54
54
  assert_response :success
55
55
  assert DockerRegistry.where(:id => @registry.id).blank?
56
56
  end
@@ -7,7 +7,7 @@ class ContainersControllerTest < ActionController::TestCase
7
7
  end
8
8
 
9
9
  test 'redirect if Docker provider is not available' do
10
- get :index, {}, set_session_user
10
+ get :index, session: set_session_user
11
11
  assert_redirected_to new_compute_resource_path
12
12
  end
13
13
 
@@ -15,15 +15,15 @@ class ContainersControllerTest < ActionController::TestCase
15
15
  Fog.mock!
16
16
  # Avoid rendering errors by not retrieving any container
17
17
  ComputeResource.any_instance.stubs(:vms).returns([])
18
- FactoryGirl.create(:docker_cr)
19
- get :index, {}, set_session_user
18
+ FactoryBot.create(:docker_cr)
19
+ get :index, session: set_session_user
20
20
  assert_template 'index'
21
21
  end
22
22
 
23
23
  context 'delete container' do
24
24
  setup do
25
25
  Fog.mock!
26
- @container_resource = FactoryGirl.create(:docker_cr)
26
+ @container_resource = FactoryBot.create(:docker_cr)
27
27
  @container = @container_resource.vms.first
28
28
  end
29
29
 
@@ -31,8 +31,7 @@ class ContainersControllerTest < ActionController::TestCase
31
31
 
32
32
  test 'deleting an unmanaged container redirects to containers index' do
33
33
  ComputeResource.any_instance.expects(:destroy_vm).with(@container.id)
34
- delete :destroy, { :compute_resource_id => @container_resource,
35
- :id => @container.id }, set_session_user
34
+ delete :destroy, params: { :compute_resource_id => @container_resource, :id => @container.id }, session: set_session_user
36
35
  assert_redirected_to containers_path
37
36
  assert_equal "Container #{@container.id} is being deleted.",
38
37
  flash[:notice]
@@ -42,8 +41,7 @@ class ContainersControllerTest < ActionController::TestCase
42
41
  ComputeResource.any_instance.stubs(:destroy_vm).
43
42
  raises(::Foreman::Exception.new('Could not destroy Docker container'))
44
43
  @request.env['HTTP_REFERER'] = "http://test.host/#{containers_path}"
45
- delete :destroy, { :compute_resource_id => @container_resource,
46
- :id => @container.id }, set_session_user
44
+ delete :destroy, params: { :compute_resource_id => @container_resource, :id => @container.id }, session: set_session_user
47
45
  assert @container.present?
48
46
  assert_redirected_to :back
49
47
  assert_equal 'Your container could not be deleted in Docker',
@@ -51,29 +49,28 @@ class ContainersControllerTest < ActionController::TestCase
51
49
  end
52
50
 
53
51
  test 'deleting a managed container deletes container in Docker' do
54
- managed_container = FactoryGirl.create(
52
+ managed_container = FactoryBot.create(
55
53
  :container,
56
54
  :compute_resource => @container_resource)
57
55
  ComputeResource.any_instance.expects(:destroy_vm).
58
56
  with('randomuuid')
59
57
  Container.any_instance.expects(:uuid).returns('randomuuid').at_least_once
60
58
  Container.any_instance.expects(:destroy)
61
- delete :destroy, { :id => managed_container.id }, set_session_user
59
+ delete :destroy, params: { :id => managed_container.id }, session: set_session_user
62
60
  assert_redirected_to containers_path
63
61
  assert_equal "Container #{managed_container.uuid} is being deleted.",
64
62
  flash[:notice]
65
63
  end
66
64
 
67
65
  test 'deleting with container params deletes container object' do
68
- managed_container = FactoryGirl.create(
66
+ managed_container = FactoryBot.create(
69
67
  :container,
70
68
  :compute_resource => @container_resource)
71
69
  managed_container.update(:uuid => @container.id)
72
70
  ComputeResource.any_instance.expects(:destroy_vm).
73
71
  with(@container.id).returns(true)
74
72
  Container.any_instance.expects(:destroy)
75
- delete :destroy, { :compute_resource_id => @container_resource.id,
76
- :id => @container.id }, set_session_user
73
+ delete :destroy, params: { :compute_resource_id => @container_resource.id, :id => @container.id }, session: set_session_user
77
74
  assert_redirected_to containers_path
78
75
  assert_equal "Container #{managed_container.uuid} is being deleted.",
79
76
  flash[:notice]
@@ -82,10 +79,10 @@ class ContainersControllerTest < ActionController::TestCase
82
79
  test 'failed deletion of managed container keeps container in Foreman' do
83
80
  ComputeResource.any_instance.stubs(:destroy_vm).
84
81
  raises(::Foreman::Exception.new('Could not destroy Docker container'))
85
- managed_container = FactoryGirl.create(
82
+ managed_container = FactoryBot.create(
86
83
  :container,
87
84
  :compute_resource => @container_resource)
88
- delete :destroy, { :id => managed_container.id }, set_session_user
85
+ delete :destroy, params: { :id => managed_container.id }, session: set_session_user
89
86
  assert managed_container.present? # Foreman container would not be deleted
90
87
  assert_redirected_to containers_path
91
88
  assert_equal 'Your container could not be deleted in Docker',
@@ -94,7 +91,7 @@ class ContainersControllerTest < ActionController::TestCase
94
91
  end
95
92
 
96
93
  test 'committing a managed container' do
97
- container = FactoryGirl.create(:container)
94
+ container = FactoryBot.create(:container)
98
95
  request.env['HTTP_REFERER'] = container_path(:id => container.id)
99
96
  commit_hash = { :author => 'a', :repo => 'b', :tag => 'c', :comment => 'd' }
100
97
 
@@ -103,7 +100,6 @@ class ContainersControllerTest < ActionController::TestCase
103
100
  .returns(mock_container)
104
101
  mock_container.expects(:commit).with(commit_hash)
105
102
 
106
- post :commit, { :commit => commit_hash,
107
- :id => container.id }, set_session_user
103
+ post :commit, params: { :commit => commit_hash, :id => container.id }, session: set_session_user
108
104
  end
109
105
  end
@@ -5,25 +5,21 @@ module Containers
5
5
  setup do
6
6
  stub_image_existance
7
7
  stub_registry_api
8
- @container = FactoryGirl.create(:container)
8
+ @container = FactoryBot.create(:container)
9
9
  @state = DockerContainerWizardState.create!
10
10
  end
11
11
 
12
12
  test 'wizard finishes with a redirect to the managed container' do
13
13
  Service::Containers.any_instance.expects(:start_container!).with(equals(@state))
14
14
  .returns(@container)
15
- put :update, { :wizard_state_id => @state.id,
16
- :id => :environment,
17
- :start_on_create => true,
18
- :docker_container_wizard_states_environment => { :tty => false } },
19
- set_session_user
15
+ put :update, params: { :wizard_state_id => @state.id, :id => :environment, :start_on_create => true, :docker_container_wizard_states_environment => { :tty => false } }, session: set_session_user
20
16
 
21
17
  assert_redirected_to container_path(:id => @container.id)
22
18
  end
23
19
 
24
20
  describe 'on image step' do
25
21
  setup do
26
- @compute_resource = FactoryGirl.create(:docker_cr)
22
+ @compute_resource = FactoryBot.create(:docker_cr)
27
23
  @create_options = { :wizard_state => @state,
28
24
  :compute_resource_id => @compute_resource.id }
29
25
  @state.preliminary = DockerContainerWizardStates::Preliminary.create!(@create_options)
@@ -31,7 +27,7 @@ module Containers
31
27
  end
32
28
 
33
29
  test 'image show doesnot load katello' do
34
- get :show, { :wizard_state_id => @state.id, :id => :image }, set_session_user
30
+ get :show, params: { :wizard_state_id => @state.id, :id => :image }, session: set_session_user
35
31
  refute @state.image.katello?
36
32
  refute response.body.include?("katello") # this is code generated by katello partial
37
33
  docker_image = @controller.instance_eval do
@@ -54,14 +50,14 @@ module Containers
54
50
  end
55
51
 
56
52
  test 'has no errors if the image exists' do
57
- put :update, @params, set_session_user
53
+ put :update, params: @params, session: set_session_user
58
54
  assert_valid @state.image
59
55
  assert css_select('#hub_image_search.has-error').size == 0
60
56
  end
61
57
 
62
58
  test 'shows an error when the image does not exist' do
63
59
  stub_image_existance(false)
64
- put :update, @params, set_session_user
60
+ put :update, params: @params, session: set_session_user
65
61
  refute_valid @state.image
66
62
  assert_select '#hub_image_search.has-error'
67
63
  end
@@ -75,7 +71,7 @@ module Containers
75
71
  @state.environment = DockerContainerWizardStates::Environment.create!(environment_options)
76
72
  @state.environment.exposed_ports.create!(:key => '1654', :value => 'tcp')
77
73
  @state.environment.exposed_ports.create!(:key => '1655', :value => 'udp')
78
- get :show, { :wizard_state_id => @state.id, :id => :environment }, set_session_user
74
+ get :show, params: { :wizard_state_id => @state.id, :id => :environment }, session: set_session_user
79
75
  assert response.body.include?("1654")
80
76
  assert response.body.include?("1655")
81
77
 
@@ -97,7 +93,7 @@ module Containers
97
93
  @state.environment = DockerContainerWizardStates::Environment.create!(environment_options)
98
94
  @state.environment.dns.create!(:key => '18.18.18.18')
99
95
  @state.environment.dns.create!(:key => '19.19.19.19')
100
- get :show, { :wizard_state_id => @state.id, :id => :environment }, set_session_user
96
+ get :show, params: { :wizard_state_id => @state.id, :id => :environment }, session: set_session_user
101
97
  assert response.body.include?("18.18.18.18")
102
98
  assert response.body.include?("19.19.19.19")
103
99
 
@@ -6,8 +6,8 @@ class ImageSearchControllerTest < ActionController::TestCase
6
6
  let(:term) { docker_image }
7
7
 
8
8
  let(:docker_hub) { Service::RegistryApi.new(url: 'https://nothub.com') }
9
- let(:compute_resource) { FactoryGirl.create(:docker_cr) }
10
- let(:registry) { FactoryGirl.create(:docker_registry) }
9
+ let(:compute_resource) { FactoryBot.create(:docker_cr) }
10
+ let(:registry) { FactoryBot.create(:docker_registry) }
11
11
  let(:image_search_service) { ForemanDocker::ImageSearch.new }
12
12
 
13
13
  setup do
@@ -2,8 +2,8 @@ require 'integration_test_helper'
2
2
 
3
3
  class ContainerStepsTest < IntegrationTestWithJavascript
4
4
  let(:wizard_state) { DockerContainerWizardState.create! }
5
- let(:compute_resource) { FactoryGirl.create(:docker_cr) }
6
- let(:registry) { FactoryGirl.create(:docker_registry) }
5
+ let(:compute_resource) { FactoryBot.create(:docker_cr) }
6
+ let(:registry) { FactoryBot.create(:docker_registry) }
7
7
  let(:image_search_service) { ForemanDocker::ImageSearch.new }
8
8
  let(:image_search_results) do
9
9
  [{ 'name' => 'my_fake_repository_result',
@@ -10,7 +10,7 @@ class ContainerIntegrationTest < ActionDispatch::IntegrationTest
10
10
  test 'shows containers list if compute resource is available' do
11
11
  Fog.mock!
12
12
  ComputeResource.any_instance.stubs(:vms).returns([])
13
- FactoryGirl.create(:docker_cr)
13
+ FactoryBot.create(:docker_cr)
14
14
  visit containers_path
15
15
  assert page.has_link? 'Create container'
16
16
  refute_equal current_path, new_compute_resource_path
@@ -1,7 +1,7 @@
1
1
  require 'integration_test_helper'
2
2
 
3
3
  class RegistryiCreationTest < IntegrationTestWithJavascript
4
- let(:registry_values) { FactoryGirl.build(:docker_registry) }
4
+ let(:registry_values) { FactoryBot.build(:docker_registry) }
5
5
 
6
6
  setup do
7
7
  DockerRegistry.any_instance.stubs(:attempt_login).returns(true)
@@ -9,9 +9,9 @@ def assert_row_button(index_path, link_text, button_text, dropdown = false)
9
9
  end
10
10
  end
11
11
 
12
- # Add plugin to FactoryGirl's paths
13
- FactoryGirl.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
14
- FactoryGirl.reload
12
+ # Add plugin to FactoryBot's paths
13
+ FactoryBot.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
14
+ FactoryBot.reload
15
15
 
16
16
  def stub_image_existance(exists = true)
17
17
  Docker::Image.any_instance.stubs(:exist?).returns(exists)
@@ -4,7 +4,7 @@ module ForemanDocker
4
4
  class ContainerRemoverTest < ActiveSupport::TestCase
5
5
  describe '#remove_unmanaged' do
6
6
  setup do
7
- @docker_compute_resource = FactoryGirl.build_stubbed(:docker_cr)
7
+ @docker_compute_resource = FactoryBot.build_stubbed(:docker_cr)
8
8
  ComputeResource.expects(:authorized).
9
9
  with(:destroy_compute_resources_vms).
10
10
  returns(stub(:find => @docker_compute_resource))
@@ -7,7 +7,7 @@ class ContainersServiceTest < ActiveSupport::TestCase
7
7
  stub_registry_api
8
8
 
9
9
  @state = DockerContainerWizardState.create! do |s|
10
- s.build_preliminary(:compute_resource_id => FactoryGirl.create(:docker_cr).id,
10
+ s.build_preliminary(:compute_resource_id => FactoryBot.create(:docker_cr).id,
11
11
  :locations => [taxonomies(:location1)],
12
12
  :organizations => [taxonomies(:organization1)])
13
13
  s.build_image(:repository_name => 'test', :tag => 'test', :wizard_state => s)
@@ -5,8 +5,8 @@ module DockerContainerWizardStates
5
5
  let(:image) { 'centos' }
6
6
  let(:tags) { ['latest', '5', '4.3'] }
7
7
  let(:docker_hub) { Service::RegistryApi.new(url: 'https://nothub.com') }
8
- let(:registry) { FactoryGirl.create(:docker_registry) }
9
- let(:compute_resource) { FactoryGirl.create(:docker_cr) }
8
+ let(:registry) { FactoryBot.create(:docker_registry) }
9
+ let(:compute_resource) { FactoryBot.create(:docker_cr) }
10
10
  let(:image_search_service) { ForemanDocker::ImageSearch.new }
11
11
  let(:wizard_state) do
12
12
  DockerContainerWizardState.create
@@ -1,26 +1,26 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
3
  class DockerRegistryTest < ActiveSupport::TestCase
4
- subject { FactoryGirl.create(:docker_registry) }
4
+ subject { FactoryBot.create(:docker_registry) }
5
5
 
6
6
  test 'used_location_ids should return correct location ids' do
7
- location = FactoryGirl.build(:location)
7
+ location = FactoryBot.build(:location)
8
8
  r = as_admin do
9
- FactoryGirl.create(:docker_registry, :locations => ([location]))
9
+ FactoryBot.create(:docker_registry, :locations => ([location]))
10
10
  end
11
11
  assert r.used_location_ids.include?(location.id)
12
12
  end
13
13
 
14
14
  test 'used_organization_ids should return correct organization ids' do
15
- organization = FactoryGirl.build(:organization)
15
+ organization = FactoryBot.build(:organization)
16
16
  r = as_admin do
17
- FactoryGirl.create(:docker_registry, :organizations => ([organization]))
17
+ FactoryBot.create(:docker_registry, :organizations => ([organization]))
18
18
  end
19
19
  assert r.used_organization_ids.include?(organization.id)
20
20
  end
21
21
 
22
22
  test 'password is stored encrypted' do
23
- registry = as_admin { FactoryGirl.build(:docker_registry) }
23
+ registry = as_admin { FactoryBot.build(:docker_registry) }
24
24
  registry.password = 'encrypted-whatever'
25
25
  DockerRegistry.any_instance.expects(:encryption_key).at_least_once.returns('fakeencryptionkey')
26
26
  assert registry.is_decryptable?(registry.password_in_db)
@@ -2,6 +2,7 @@ require 'test_plugin_helper'
2
2
 
3
3
  module ForemanDocker
4
4
  class DockerTest < ActiveSupport::TestCase
5
+ should validate_presence_of(:url)
5
6
  should allow_value('a@b.com').for(:email)
6
7
  should allow_value('').for(:email)
7
8
  should_not allow_value('abcb.com').for(:email)
@@ -1,8 +1,8 @@
1
1
  require 'test_plugin_helper'
2
2
 
3
3
  class ImageSearchServiceTest < ActiveSupport::TestCase
4
- let(:compute_resource) { FactoryGirl.create(:docker_cr) }
5
- let(:registry) { FactoryGirl.create(:docker_registry).api }
4
+ let(:compute_resource) { FactoryBot.create(:docker_cr) }
5
+ let(:registry) { FactoryBot.create(:docker_registry).api }
6
6
  let(:term) { 'centos' }
7
7
  let(:query) { { term: term, tags: 'false' } }
8
8
 
@@ -13,6 +13,10 @@ class RegistryApiTest < ActiveSupport::TestCase
13
13
  assert_equal url, subject.connection.url
14
14
  end
15
15
 
16
+ test 'it requests json' do
17
+ assert_equal 'application/json', subject.connection.options[:headers]['Content-Type']
18
+ end
19
+
16
20
  context 'authentication is set' do
17
21
  let(:user) { 'username' }
18
22
  let(:password) { 'secretpassword' }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Lobato, Amos Benari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-28 00:00:00.000000000 Z
11
+ date: 2017-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.49.1
75
+ version: 0.52.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.49.1
82
+ version: 0.52.0
83
83
  description: Provision and manage Docker containers and images from Foreman.
84
84
  email:
85
85
  - dlobatog@redhat.com, abenari@redhat.com
@@ -268,11 +268,11 @@ test_files:
268
268
  - test/factories/compute_resources.rb
269
269
  - test/factories/containers.rb
270
270
  - test/factories/docker_registry.rb
271
- - test/functionals/api/v2/registries_controller_test.rb
272
271
  - test/functionals/api/v2/containers_controller_test.rb
272
+ - test/functionals/api/v2/registries_controller_test.rb
273
+ - test/functionals/image_search_controller_test.rb
273
274
  - test/functionals/containers_controller_test.rb
274
275
  - test/functionals/containers_steps_controller_test.rb
275
- - test/functionals/image_search_controller_test.rb
276
276
  - test/integration/container_test.rb
277
277
  - test/integration/container_steps_test.rb
278
278
  - test/integration/registry_creation_test.rb