hiera-mock 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/hiera/backend/mock_backend.rb +61 -0
- metadata +49 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 343d08822320eb6e5b55527bab8834fa9a18abdd
|
4
|
+
data.tar.gz: abee4c54cec007c8e2372ca14a40e7004cee8be8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8fc88b73b9078aed14cf89da6ce781fe70efaa7b88c75b4c37e0aa7d1d198c024eca6b373b81647c5b9ac4db21923127b9cd36697800b60ed07469883443dd8f
|
7
|
+
data.tar.gz: 54fec93b17203512120c2b4ce8c60a52b677a9335edb8a8f92adf962ab5ab835fbc640f14adf27808d41d4b477e7f46a14c9edc437f4012d2843278a2febff85
|
@@ -0,0 +1,61 @@
|
|
1
|
+
class Hiera
|
2
|
+
module Backend
|
3
|
+
class Mock_backend
|
4
|
+
attr_reader :data
|
5
|
+
|
6
|
+
def initialize(cache = nil)
|
7
|
+
require 'yaml'
|
8
|
+
|
9
|
+
datafile = Config[:mock][:datafile]
|
10
|
+
|
11
|
+
@data = File.exists?(datafile) ? YAML.load(File.read(datafile)) : {}
|
12
|
+
|
13
|
+
Hiera.debug("hiera mock initialized")
|
14
|
+
end
|
15
|
+
|
16
|
+
def lookup(key, scope, order_override, resolution_type)
|
17
|
+
Hiera.debug("Looking up #{key} in yaml file")
|
18
|
+
return @data[key] if @data.include?(key)
|
19
|
+
|
20
|
+
Hiera.debug("Couldn't find '#{key}' -- making up random data...")
|
21
|
+
|
22
|
+
case resolution_type
|
23
|
+
when :array
|
24
|
+
return random_array
|
25
|
+
when :hash
|
26
|
+
return random_hash
|
27
|
+
else
|
28
|
+
return random_string
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def random_array
|
33
|
+
result = []
|
34
|
+
size = rand(3..8)
|
35
|
+
|
36
|
+
size.times do
|
37
|
+
result << random_string
|
38
|
+
end
|
39
|
+
|
40
|
+
return result
|
41
|
+
end
|
42
|
+
|
43
|
+
def random_hash
|
44
|
+
result = {}
|
45
|
+
size = rand(3..8)
|
46
|
+
|
47
|
+
size.times do
|
48
|
+
result[random_string] = random_string
|
49
|
+
end
|
50
|
+
|
51
|
+
return result
|
52
|
+
end
|
53
|
+
|
54
|
+
def random_string
|
55
|
+
chars = ['a'..'z', 'A'..'Z', '0'..'9'].flat_map(&:to_a)
|
56
|
+
size = rand(6..16)
|
57
|
+
return chars.sample(size).join
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
metadata
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hiera-mock
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jo Vandeginste
|
8
|
+
- Tom Leuse
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2016-06-24 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: |
|
15
|
+
Hiera backend to return data from a single yaml file or random data (meant for testing purposes)
|
16
|
+
email:
|
17
|
+
- jo.vandeginste@kuleuven.be
|
18
|
+
- tom.leuse@kuleuven.be
|
19
|
+
executables: []
|
20
|
+
extensions: []
|
21
|
+
extra_rdoc_files: []
|
22
|
+
files:
|
23
|
+
- lib/hiera/backend/mock_backend.rb
|
24
|
+
homepage: https://github.com/jovandeginste/hiera-mock
|
25
|
+
licenses:
|
26
|
+
- Apache-2.0
|
27
|
+
metadata: {}
|
28
|
+
post_install_message:
|
29
|
+
rdoc_options: []
|
30
|
+
require_paths:
|
31
|
+
- lib
|
32
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
requirements: []
|
43
|
+
rubyforge_project:
|
44
|
+
rubygems_version: 2.4.5
|
45
|
+
signing_key:
|
46
|
+
specification_version: 4
|
47
|
+
summary: Hiera backend to return data from a single yaml file or random data (meant
|
48
|
+
for testing purposes)
|
49
|
+
test_files: []
|