PageRenderTime 50ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/manifests/modules/puppetlabs-stdlib-3.2.0/spec/unit/puppet/parser/functions/is_ip_address_spec.rb

https://bitbucket.org/rdelpeso/workspace
Ruby | 39 lines | 30 code | 8 blank | 1 comment | 7 complexity | 6040a9bae4e5c853966148b634501157 MD5 | raw file
Possible License(s): Apache-2.0
  1. #! /usr/bin/env ruby -S rspec
  2. require 'spec_helper'
  3. describe "the is_ip_address function" do
  4. let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
  5. it "should exist" do
  6. Puppet::Parser::Functions.function("is_ip_address").should == "function_is_ip_address"
  7. end
  8. it "should raise a ParseError if there is less than 1 arguments" do
  9. lambda { scope.function_is_ip_address([]) }.should( raise_error(Puppet::ParseError))
  10. end
  11. it "should return true if an IPv4 address" do
  12. result = scope.function_is_ip_address(["1.2.3.4"])
  13. result.should(eq(true))
  14. end
  15. it "should return true if a full IPv6 address" do
  16. result = scope.function_is_ip_address(["fe80:0000:cd12:d123:e2f8:47ff:fe09:dd74"])
  17. result.should(eq(true))
  18. end
  19. it "should return true if a compressed IPv6 address" do
  20. result = scope.function_is_ip_address(["fe00::1"])
  21. result.should(eq(true))
  22. end
  23. it "should return false if not valid" do
  24. result = scope.function_is_ip_address(["asdf"])
  25. result.should(eq(false))
  26. end
  27. it "should return false if IP octets out of range" do
  28. result = scope.function_is_ip_address(["1.1.1.300"])
  29. result.should(eq(false))
  30. end
  31. end