Project

General

Profile

« Previous | Next » 

Revision dc635bfe

Added by Dmitri Dolguikh almost 10 years ago

Fixes #6772: added support for testing of plugins

View differences:

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