Sha256: 9cc382afc8b095c69414d03d5e8913ac55c9056685fa54862f1503426d26cef5
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
# TODO: move to vault-test-tools require 'fileutils' module Vault::Test module SpecHelpers extend self def usage_json vault_spec('usage.json') end def statement_json vault_spec('statement.json') end # memoizes return value so we don't keep making a request def vault_spec(filename) return cache[filename] if cache[filename] cache[filename] = read_spec(filename) end def reset_vault_specs! @@cache = {} end protected def cache @@cache ||= {} end def url(name) "http://vault-specs.herokuapp.com/#{name}" end def file(name) "./test/support/#{name}" end # Uses JSON at URL when it can, but will use # the cached statement when it can't def read_spec(name) data = Net::HTTP.get(URI.parse(url(name))) FileUtils.mkdir_p(File.dirname(file(name))) File.open(file(name), 'w') { |f| f << data } data rescue => e $stderr.puts "Using cached #{name}" File.read(file(name)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vault-test-tools-0.3.2 | lib/vault-test-tools/spec_helpers.rb |