Sha256: bb172a67d3fcc06e1d372ed96b83f2cee6874a24fc71afca25f7e902dff7de55

Contents?: true

Size: 1.79 KB

Versions: 22

Compression:

Stored size: 1.79 KB

Contents

require 'yaml'

module Gitlab
  module QA
    module Scenario
      module Test
        module Integration
          class ObjectStorage < Scenario::Template
            # rubocop:disable Metrics/AbcSize
            def perform(release, *rspec_args)
              Component::Gitlab.perform do |gitlab|
                gitlab.release = release
                gitlab.name = 'gitlab-object-storage'
                gitlab.network = 'test'

                Component::Minio.perform do |minio|
                  minio.network = 'test'
                  minio.add_bucket('upload-bucket')

                  gitlab.omnibus_config = <<~OMNIBUS
                    gitlab_rails['uploads_object_store_enabled'] = true;
                    gitlab_rails['uploads_object_store_remote_directory'] = 'upload-bucket';
                    gitlab_rails['uploads_object_store_background_upload'] = false;
                    gitlab_rails['uploads_object_store_direct_upload'] = true;
                    gitlab_rails['uploads_object_store_proxy_download'] = true;
                    gitlab_rails['uploads_object_store_connection'] = #{minio.to_config};
                  OMNIBUS

                  minio.instance do
                    gitlab.instance do
                      puts 'Running object store specs!'

                      Component::Specs.perform do |specs|
                        specs.suite = 'Test::Integration::ObjectStorage'
                        specs.release = gitlab.release
                        specs.network = gitlab.network
                        specs.args = [gitlab.address, *rspec_args]
                      end
                    end
                  end
                end
              end
            end
            # rubocop:enable Metrics/AbcSize
          end
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
gitlab-qa-4.3.3 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.3.2 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.2.2 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.2.1 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.2.0 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.1.0 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.0.5 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.0.4 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.0.3 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.0.2 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.0.1 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-4.0.0 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.3.0 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.2.3 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.2.2 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.2.1 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.2.0 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.1.1 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.1.0 lib/gitlab/qa/scenario/test/integration/object_storage.rb
gitlab-qa-3.0.1 lib/gitlab/qa/scenario/test/integration/object_storage.rb