Module: Spider::Test
- Defined in:
- lib/spiderfw/test.rb,
lib/spiderfw/test/page_object.rb,
lib/spiderfw/test/stubs/mapper_stub.rb,
lib/spiderfw/test/stubs/storage_stub.rb,
lib/spiderfw/test/extensions/db_storage.rb
Defined Under Namespace
Classes: DbStorage, MapperStub, PageObject, StorageStub
Class Method Summary
collapse
Class Method Details
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/spiderfw/test.rb', line 43
def self.after
if Spider.init_done?
Spider.config.get('storages').keys.each do |k|
storage = Spider::Model::BaseModel.get_storage(k)
storage.rollback! if storage.supports_transactions?
end
end
begin
Mail::TestMailer.deliveries.clear
rescue
end
Spider.apps.each do |name, mod|
mod.after_test if mod.respond_to?(:after_test)
end
end
|
19
20
21
|
# File 'lib/spiderfw/test.rb', line 19
def self.env
@env ||= {}
end
|
.load_fixtures(app, truncate = false) ⇒ Object
63
64
65
66
67
68
69
|
# File 'lib/spiderfw/test.rb', line 63
def self.load_fixtures(app, truncate=false)
path = File.join(app.path, 'test', 'fixtures')
loaded = []
Dir.glob(File.join(path, '*.yml')).each do |yml|
loaded += Spider::Model.load_fixtures(yml, truncate)
end
end
|
.load_fixtures!(app) ⇒ Object
59
60
61
|
# File 'lib/spiderfw/test.rb', line 59
def self.load_fixtures!(app)
load_fixtures(app, true)
end
|
.load_fixtures_file(app, file, truncate = false) ⇒ Object
71
72
73
74
|
# File 'lib/spiderfw/test.rb', line 71
def self.load_fixtures_file(app, file, truncate=false)
path = File.join(app.path, 'test', 'fixtures')
Spider::Model.load_fixtures(File.join(path, file)+'.yml', truncate)
end
|
.load_fixtures_file!(app, file) ⇒ Object
76
77
78
|
# File 'lib/spiderfw/test.rb', line 76
def self.load_fixtures_file!(app, file)
load_fixtures_file(app, file, true)
end
|
.restart_transactions ⇒ Object
80
81
82
83
84
85
86
|
# File 'lib/spiderfw/test.rb', line 80
def self.restart_transactions
Spider.config.get('storages').keys.each do |k|
storage = Spider::Model::BaseModel.get_storage(k)
storage.rollback!
storage.start_transaction
end
end
|
.setup_env ⇒ Object
8
9
10
11
12
13
|
# File 'lib/spiderfw/test.rb', line 8
def self.setup_env
@tmpdir = File.join(Dir.tmpdir, 'spider_test')
FileUtils.rm_rf(@tmpdir) if File.exists?(@tmpdir)
FileUtils.mkdir(@tmpdir)
Spider.setup_paths(@tmpdir)
end
|
.teardown_env ⇒ Object
15
16
17
|
# File 'lib/spiderfw/test.rb', line 15
def self.teardown_env
FileUtils.rm_rf(@tmpdir)
end
|
.use_storage_stub_for(app_or_model) ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# File 'lib/spiderfw/test.rb', line 88
def self.use_storage_stub_for(app_or_model)
require 'spiderfw/test/stubs/storage_stub'
Spider::Test.env[:storage_stub] ||= StorageStub.new('dummy')
models = []
if app_or_model < Spider::App
models = app_or_model.models
else
models = [app_or_model]
end
models.each do |m|
m.use_storage 'stub:stub://stub'
end
end
|