base_generator.rb revision c48b3d4873fe91e5c3bf792b5e634c3595275535
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainenrequire 'socket'
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainenrequire 'timeout'
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen # This is an abstract class. Subclasses need to implement
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen # * files: the list of files to create fixtures to
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen # * perform: the actual action to create the fixtures
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen # * subdir: the subdirectory of the generated fixtures
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen YAML.load(File.open('config/hets.yml'))['hets']['server_options']
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen !FileUtils.uptodate?(cassette, Array(HETS_PATH))
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen "#{HETS_PATH} --server #{HETS_SERVER_ARGS.join(' ')}",
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen require 'vcr'
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen globbed_files = Dir.glob(File.join(dir, '**/*'))
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen globbed_files.select { |file| !File.directory?(file) }
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen def with_running(name, command, port, expected_startup_time, &block)
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen need_to_start_server = !port_open?('127.0.0.1', port)
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen # remove spec/fixtures/ontologies/ for cassette name
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen cassette_filepath = file.split('/')[3..-1].join('/')
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen File.join(hets_cassette_dir, cassette_file(file))
83942ac160cdfb922c3a2f29ddfae2a13ebf8b5dTimo Sirainen File.join('spec', 'fixtures', 'vcr', cassette_path_in_fixtures(file))