Sha256: e51b5abc066fdc8c7250140044cad6eeee07230e39fc615b41bbb853e9b79fac

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

require 'tmpdir'
require 'fileutils'

module Gitlab
  module QA
    module Scenario
      module Test
        module Omnibus
          class Upgrade < Scenario::Template
            VOLUMES = { 'config' => '/etc/gitlab',
                        'logs' => '/var/log/gitlab',
                        'data' => '/var/opt/gitlab' }.freeze

            def perform(version)
              with_temporary_volumes do |volumes|
                Scenario::Test::Instance::Image.perform(version) do |scenario|
                  scenario.tag = 'latest'
                  scenario.volumes = volumes
                end

                Scenario::Test::Instance::Image.perform(version) do |scenario|
                  scenario.tag = 'nightly'
                  scenario.volumes = volumes
                end
              end
            end

            def with_temporary_volumes
              Dir.mktmpdir('gitlab-qa-').tap do |dir|
                yield Hash[VOLUMES.map { |k, v| ["#{dir}/#{k}", v] }]
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gitlab-qa-0.1.0 lib/gitlab/qa/scenario/test/omnibus/upgrade.rb
gitlab-qa-0.0.1 lib/gitlab/qa/scenario/test/omnibus/upgrade.rb