diff options
author | Micah Anderson <micah@leap.se> | 2014-11-11 18:43:31 -0500 |
---|---|---|
committer | Micah Anderson <micah@leap.se> | 2014-11-11 18:43:31 -0500 |
commit | 54849ae1d7407b2a6fd2f7d801e80e1632c20c70 (patch) | |
tree | b6d83d0433edfd6ff101cac112aa4240987ae866 /tests/helpers/files_helper.rb | |
parent | 51d581583ca354232f6ccbfb771c1cad00ec2db3 (diff) | |
parent | 9299574b45de02d417e7237ba49b0222002bbc21 (diff) |
Merge remote-tracking branch 'elijah/newtests' into develop
Diffstat (limited to 'tests/helpers/files_helper.rb')
-rw-r--r-- | tests/helpers/files_helper.rb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/helpers/files_helper.rb b/tests/helpers/files_helper.rb new file mode 100644 index 00000000..d6795889 --- /dev/null +++ b/tests/helpers/files_helper.rb @@ -0,0 +1,54 @@ +class LeapTest + + # + # Matches the regexp in the file, and returns the first matched string (or fails if no match). + # + def file_match(filename, regexp) + if match = File.read(filename).match(regexp) + match.captures.first + else + fail "Regexp #{regexp.inspect} not found in file #{filename.inspect}." + end + end + + # + # Matches the regexp in the file, and returns array of matched strings (or fails if no match). + # + def file_matches(filename, regexp) + if match = File.read(filename).match(regexp) + match.captures + else + fail "Regexp #{regexp.inspect} not found in file #{filename.inspect}." + end + end + + # + # checks to make sure the given property path exists in $node (e.g. hiera.yaml) + # and returns the value + # + def assert_property(property) + latest = $node + property.split('.').each do |segment| + latest = latest[segment] + fail "Required node property `#{property}` is missing." if latest.nil? + end + return latest + end + + # + # a handy function to get the value of a long property path + # without needing to test the existance individually of each part + # in the tree. + # + # e.g. property("stunnel.clients.couch_client") + # + def property(property) + latest = $node + property.split('.').each do |segment| + latest = latest[segment] + return nil if latest.nil? + end + return latest + end + +end
\ No newline at end of file |