Revision dc635bfe
Added by Dmitri Dolguikh almost 10 years ago
Rakefile | ||
---|---|---|
require 'rake'
|
||
require 'rake/testtask'
|
||
require 'rake/packagetask'
|
||
require 'rdoc/task'
|
||
require 'rubygems/package_task'
|
||
load 'tasks/proxy_tasks.rake'
|
||
load 'tasks/jenkins.rake'
|
||
load 'tasks/pkg.rake'
|
||
... | ... | |
rdoc.rdoc_files.include('README')
|
||
rdoc.rdoc_files.include('lib/**/*.rb')
|
||
end
|
||
|
||
spec = Gem::Specification.new do |s|
|
||
s.name = "foreman_proxy"
|
||
s.version = "1.1RC1"
|
||
s.author = "Ohad Levy"
|
||
s.email = "ohadlevy@gmail.com"
|
||
s.homepage = "http://theforeman.org/"
|
||
s.platform = Gem::Platform::RUBY
|
||
s.summary = "Foreman Proxy Agent, manage remote DHCP, DNS, TFTP and Puppet servers"
|
||
s.files = FileList["{bin,public,config,views,lib}/**/*"].to_a
|
||
s.default_executable = 'bin/smart_proxy.rb'
|
||
s.require_path = "lib"
|
||
s.test_files = FileList["{test}/**/*test.rb"].to_a
|
||
s.has_rdoc = true
|
||
s.extra_rdoc_files = ["README"]
|
||
s.add_dependency 'json'
|
||
s.add_dependency 'sinatra'
|
||
s.rubyforge_project = 'rake'
|
||
s.description = <<EOF
|
||
Foreman Proxy is used via The Foreman Project, it allows Foreman to manage
|
||
Remote DHCP, DNS, TFTP and Puppet servers via a REST API
|
||
EOF
|
||
end
|
||
|
||
Gem::PackageTask.new(spec) do |pkg|
|
||
pkg.need_tar_gz = true
|
||
end
|
lib/smart_proxy_for_testing.rb | ||
---|---|---|
require 'proxy'
|
||
require 'checks'
|
||
require 'proxy/log'
|
||
require 'proxy/settings'
|
||
require 'proxy/settings/plugin'
|
||
require 'proxy/settings/global'
|
||
require 'proxy/util'
|
||
require 'proxy/http_downloads'
|
||
require 'proxy/helpers'
|
||
require 'proxy/plugin'
|
||
require 'proxy/error'
|
||
|
||
Proxy::SETTINGS = ::Proxy::Settings::Global.new(:log_file => './logs/test.log', :log_level => 'DEBUG')
|
||
Proxy::VERSION = File.read(File.join(File.dirname(__FILE__), '../VERSION')).chomp
|
||
|
||
class ::Proxy::Plugin
|
||
def self.load_test_settings(a_hash)
|
||
@settings = ::Proxy::Settings::Plugin.new(plugin_default_settings, a_hash)
|
||
end
|
||
end
|
smart_proxy.gemspec | ||
---|---|---|
require 'rake'
|
||
|
||
spec = Gem::Specification.new do |s|
|
||
s.name = "smart_proxy"
|
||
s.version = File.read(File.join(File.dirname(__FILE__), 'VERSION')).chomp.gsub('-', '.')
|
||
s.author = "Ohad Levy"
|
||
s.email = "ohadlevy@gmail.com"
|
||
s.homepage = "http://theforeman.org/"
|
||
s.platform = Gem::Platform::RUBY
|
||
s.summary = "Foreman Proxy Agent, manage remote DHCP, DNS, TFTP and Puppet servers"
|
||
s.files = FileList["{bin,public,config,views,lib,modules}/**/*", "VERSION"].to_a
|
||
s.default_executable = 'bin/smart_proxy.rb'
|
||
s.require_paths = ["lib", "modules"]
|
||
s.test_files = FileList["{test}/**/*test.rb"].to_a
|
||
s.license = 'GPLv3'
|
||
s.has_rdoc = true
|
||
s.extra_rdoc_files = ["README"]
|
||
s.add_dependency 'json', '~> 1.8'
|
||
s.add_dependency 'rack', '~> 1.5'
|
||
s.add_dependency 'sinatra', '~> 1.4'
|
||
s.rubyforge_project = 'rake'
|
||
s.description = <<EOF
|
||
Foreman Proxy is used via The Foreman Project, it allows Foreman to manage
|
||
Remote DHCP, DNS, TFTP and Puppet servers via a REST API
|
||
EOF
|
||
end
|
||
|
test/fixtures/test_settings.yml | ||
---|---|---|
---
|
||
:log_file: './logs/test.log'
|
||
:log_level: DEBUG
|
||
|
test/test_helper.rb | ||
---|---|---|
logdir = File.join(File.dirname(__FILE__), '..', 'logs')
|
||
FileUtils.mkdir_p(logdir) unless File.exists?(logdir)
|
||
|
||
require 'proxy'
|
||
require 'checks'
|
||
require 'proxy/log'
|
||
require 'proxy/settings'
|
||
require 'proxy/settings/plugin'
|
||
require 'proxy/settings/global'
|
||
require 'proxy/util'
|
||
require 'proxy/http_downloads'
|
||
require 'proxy/helpers'
|
||
require 'proxy/plugin'
|
||
require 'proxy/error'
|
||
|
||
|
||
require "mocha/setup"
|
||
require "rack/test"
|
||
|
||
Proxy::SETTINGS = Proxy::Settings.load_global_settings(File.expand_path("fixtures/test_settings.yml", File.dirname(__FILE__)))
|
||
Proxy::VERSION = File.read(File.join(File.dirname(__FILE__), '../VERSION')).chomp
|
||
|
||
class ::Proxy::Plugin
|
||
def self.load_test_settings(a_hash)
|
||
@settings = ::Proxy::Settings::Plugin.new(plugin_default_settings, a_hash)
|
||
end
|
||
end
|
||
require 'smart_proxy_for_testing'
|
Also available in: Unified diff
Fixes #6772: added support for testing of plugins