Sha256: f4f338abcb6fb103b43fe76673cec563b0f105e2831347f20f2aab182a346483

Contents?: true

Size: 914 Bytes

Versions: 2

Compression:

Stored size: 914 Bytes

Contents

# frozen_string_literal: true

module IntegrationTestHelpers
  SUBMODULE_PATH = 'test/prefab-cloud-integration-test-data'
  RAISE_IF_NO_TESTS_FOUND = ENV['PREFAB_INTEGRATION_TEST_RAISE'] == 'true'

  def self.find_integration_tests
    version = find_integration_test_version

    files = find_versioned_test_files(version)

    if files.none?
      message = "No integration tests found for version: #{version}"
      raise message if RAISE_IF_NO_TESTS_FOUND

      puts message
    end

    files
  end

  def self.find_integration_test_version
    File.read(File.join(SUBMODULE_PATH, 'version')).strip
  rescue StandardError => e
    puts "No version found for integration tests: #{e.message}"
  end

  def self.find_versioned_test_files(version)
    if version.nil?
      []
    else
      Dir[File.join(SUBMODULE_PATH, "tests/#{version}/**/*")]
        .select { |file| file =~ /\.ya?ml$/ }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
prefab-cloud-ruby-1.0.1 test/integration_test_helpers.rb
prefab-cloud-ruby-1.0.0 test/integration_test_helpers.rb