summaryrefslogtreecommitdiff
path: root/spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb
diff options
context:
space:
mode:
authorvarac <varacanero@zeromail.org>2013-08-27 18:03:56 +0200
committervarac <varacanero@zeromail.org>2013-08-27 18:03:56 +0200
commit473896f2ca22f5003ea47542ad8026819d2d8613 (patch)
tree297936a37a0cf217a76a5cee368f7f91430d9f02 /spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb
parent966f3b349a60b3997e58af1095bbd96671952fac (diff)
parent2a78cbfaad2acc61d6d8bab715db00c9890adbd7 (diff)
Merge branch 'master' of git://github.com/puppetlabs/puppetlabs-stdlib into leap_master
Diffstat (limited to 'spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb')
-rw-r--r--spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb64
1 files changed, 64 insertions, 0 deletions
diff --git a/spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb b/spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb
new file mode 100644
index 0000000..85536d3
--- /dev/null
+++ b/spec/unit/puppet/parser/functions/validate_ipv4_address_spec.rb
@@ -0,0 +1,64 @@
+#! /usr/bin/env/ruby -S rspec
+
+require "spec_helper"
+
+describe Puppet::Parser::Functions.function(:validate_ipv4_address) do
+ let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
+
+ describe "when calling validate_ipv4_address from puppet" do
+ describe "when given IPv4 address strings" do
+ it "should compile with one argument" do
+ Puppet[:code] = "validate_ipv4_address('1.2.3.4')"
+ scope.compiler.compile
+ end
+
+ it "should compile with multiple arguments" do
+ Puppet[:code] = "validate_ipv4_address('1.2.3.4', '5.6.7.8')"
+ scope.compiler.compile
+ end
+ end
+
+ describe "when given an IPv6 address" do
+ it "should not compile" do
+ Puppet[:code] = "validate_ipv4_address('3ffe:505')"
+ expect {
+ scope.compiler.compile
+ }.to raise_error(Puppet::ParseError, /not a valid IPv4 address/)
+ end
+ end
+
+ describe "when given other strings" do
+ it "should not compile" do
+ Puppet[:code] = "validate_ipv4_address('hello', 'world')"
+ expect {
+ scope.compiler.compile
+ }.to raise_error(Puppet::ParseError, /not a valid IPv4 address/)
+ end
+ end
+
+ describe "when given numbers" do
+ it "should not compile" do
+ Puppet[:code] = "validate_ipv4_address(1, 2)"
+ expect {
+ scope.compiler.compile
+ }.to raise_error(Puppet::ParseError, /is not a valid IPv4 address/)
+ end
+ end
+
+ describe "when given booleans" do
+ it "should not compile" do
+ Puppet[:code] = "validate_ipv4_address(true, false)"
+ expect {
+ scope.compiler.compile
+ }.to raise_error(Puppet::ParseError, /is not a string/)
+ end
+ end
+
+ it "should not compile when no arguments are passed" do
+ Puppet[:code] = "validate_ipv4_address()"
+ expect {
+ scope.compiler.compile
+ }.to raise_error(Puppet::ParseError, /wrong number of arguments/)
+ end
+ end
+end