Class: Gitlab::QA::Scenario::Test::Integration::ObjectStorage

Inherits:
Gitlab::QA::Scenario::Template show all
Defined in:
lib/gitlab/qa/scenario/test/integration/object_storage.rb

Instance Method Summary collapse

Methods inherited from Gitlab::QA::Scenario::Template

perform

Instance Method Details

#perform(release, *rspec_args) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/gitlab/qa/scenario/test/integration/object_storage.rb', line 9

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