Sha256: 8f1e134f3504ccb2a26fdc048660fec2c8dc577317029eaa52c32ab5eafcbd0d

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

root = File.join(__dir__,'..',)
# Add the language server into the load path
$LOAD_PATH.unshift(File.join(root,'lib'))

# A cache which we can preload for the purposes of testing, mimicing
# Local modules
require 'puppetfile-resolver/cache/base'
class MockLocalModuleCache < PuppetfileResolver::Cache::Base
  def initialize
    super(nil)

    @mock_modules = {}
  end

  def exist?(name)
    result = super
    return result if result
    @mock_modules.key?(name)
  end

  def load(name)
    result = super
    return result unless result.nil?

    @mock_modules[name]
  end

  def add_local_module_spec(name, dependencies = [], puppet_requirement = nil, version = '1.0.0')
    requirements = []
    requirements << { name: 'puppet', version_requirement: puppet_requirement } unless puppet_requirement.nil?
    spec = PuppetfileResolver::Models::ModuleSpecification.new(
      name: name,
      origin: :local,
      version: version,
      metadata: {
        dependencies: dependencies,
        requirements: requirements
      }
    )
    # Note - This is quite implementation dependant so could be fragile.
    # Yes, I know it's expecting a Dependency object, but the spec is fine.
    id = PuppetfileResolver::SpecSearchers::Common.dependency_cache_id(PuppetfileResolver::SpecSearchers::Local, spec)
    @mock_modules[id] = [] if @mock_modules[id].nil?
    @mock_modules[id] << spec
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppetfile-resolver-0.4.0 spec/spec_helper.rb
puppetfile-resolver-0.3.0 spec/spec_helper.rb
puppetfile-resolver-0.2.0 spec/spec_helper.rb
puppetfile-resolver-0.1.0 spec/spec_helper.rb