Compare commits
	
		
			2 Commits
		
	
	
		
			main
			...
			share_betw
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | a90aba4365 | |
|  | 32bb734f56 | 
|  | @ -11,7 +11,8 @@ Rules-Requires-Root: no | |||
| 
 | ||||
| Package: puppet-terminus-redis | ||||
| Architecture: all | ||||
| Depends: ${misc:Depends}, puppet-master | puppet-master-passenger, redis, ruby-redis | ||||
| Depends: ${misc:Depends}, puppet-master | puppet-master-passenger | puppetserver, redis, ruby-redis | ||||
| Build-Depends: ${misc:Build-Depends}, ruby-puppetlabs-spec-helper | ||||
| Description: Cache and data store terminus for puppet servers | ||||
|  This provides an integration for using redis as a data store for | ||||
|  cached facts and/or storeconfigs from a puppet server. | ||||
|  |  | |||
|  | @ -31,7 +31,9 @@ class Puppet::Resource::Redis < Puppet::Indirector::REST | |||
|     # | ||||
|     key = "catalog_#{host}_#{environment}" | ||||
|     resources = [] | ||||
|     keys = redis.keys("catalog_*_#{environment}") | ||||
|     # With puppetdb, resources are picked up regardless of environment, | ||||
|     # and the user may choose to filter or not in the collector. | ||||
|     keys = redis.keys("catalog_*") | ||||
|     keys.each do |k| | ||||
|       next if k == key | ||||
|       catalog = JSON.parse(redis.get(k)) | ||||
|  |  | |||
|  | @ -0,0 +1,32 @@ | |||
| #!/usr/bin/env rspec | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| require 'puppet/util/feature' | ||||
| require 'puppet/indirector/facts/redis' | ||||
| require 'puppet/util/log' | ||||
| 
 | ||||
| describe Puppet::Node::Facts::Redis do | ||||
| 
 | ||||
|   before :each do | ||||
|     Puppet::Node::Facts.indirection.stubs(:terminus).returns(subject) | ||||
|     create_environmentdir("test_environment") | ||||
|   end | ||||
| 
 | ||||
|   describe '#save' do | ||||
|     let(:facts) { Puppet::Node::Facts.new('foo') } | ||||
|     let(:options) {{ | ||||
|       :environment => "test_environment", | ||||
|     }} | ||||
|     let(:redis) { Puppet::Node::Facts::Redis.new } | ||||
| 
 | ||||
|     it "should have a name" do | ||||
|       print(subject.name) | ||||
|     end | ||||
| 
 | ||||
|     it "should save a fact keyed with name and environment" do | ||||
|       facts.values['foo'] = 100 | ||||
|       request = Puppet::Node::Facts.indirection.request(:save, facts.name, facts, options) | ||||
|       subject.save(request) | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  | @ -0,0 +1,7 @@ | |||
| #!/usr/bin/env rspec | ||||
| require 'spec_helper' | ||||
| 
 | ||||
| # Despite the fact the class is Puppet::Resource::Redis, we use the | ||||
| # path with 'indirector' to load it. | ||||
| require 'puppet/indirector/resource/redis' | ||||
| 
 | ||||
|  | @ -0,0 +1,33 @@ | |||
| require 'puppetlabs_spec_helper/puppet_spec_helper' | ||||
| require 'puppet/util' | ||||
| 
 | ||||
| RSpec.configure do |config| | ||||
| 
 | ||||
|   def create_environmentdir(environment) | ||||
|     envdir = File.join(Puppet[:environmentpath], environment) | ||||
|     if not Dir.exists?(envdir) | ||||
|       Dir.mkdir(envdir) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # before :each do | ||||
|   #   @logs = [] | ||||
|   #   Puppet::Util::Log.level = :info | ||||
|   #   Puppet::Util::Log.newdestination(Puppet::Test::LogCollector.new(@logs)) | ||||
|   #   # dir = File.join(File.expand_path(File.dirname(__FILE__)), 'fixtures') | ||||
|   #   # environments = Puppet::Environments::Cached.new( | ||||
|   #   #   Puppet::Environments::Directories.new(dir, []) | ||||
|   #   # ) | ||||
|   #   # Puppet.push_context( | ||||
|   #   #   { | ||||
|   #   #     :environments => environments, | ||||
|   #   #     :current_environment => Puppet::Node::Environment.create(:testing, []) | ||||
|   #   #   } | ||||
|   #   # ) | ||||
|   #   # print(Puppet.lookup(:environments)) | ||||
|   #   def test_logs | ||||
|   #     @logs.map(&:message) | ||||
|   #   end | ||||
|   # end | ||||
| 
 | ||||
| end | ||||
		Loading…
	
		Reference in New Issue