Class: WT::Test
- Inherits:
-
Object
- Object
- WT::Test
- Defined in:
- lib/test.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
-
#steps ⇒ Object
Returns the value of attribute steps.
Class Method Summary collapse
Instance Method Summary collapse
- #add_step(request, assertion) ⇒ Object
- #exec(&block) ⇒ Object
-
#initialize(name: 'New Test') ⇒ Test
constructor
A new instance of Test.
Constructor Details
#initialize(name: 'New Test') ⇒ Test
Returns a new instance of Test.
12 13 14 15 |
# File 'lib/test.rb', line 12 def initialize(name: 'New Test') @name = name @steps = [] end |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
9 10 11 |
# File 'lib/test.rb', line 9 def name @name end |
#steps ⇒ Object
Returns the value of attribute steps.
10 11 12 |
# File 'lib/test.rb', line 10 def steps @steps end |
Class Method Details
.load_from_file(filename) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/test.rb', line 17 def self.load_from_file(filename) yaml_content = YAML.load(File.read(filename)) test = WT::Test.new(name: yaml_content['test']['name']) yaml_content['test']['steps'].each do |step| request = WT::Test.request_from_yaml(step['request']) assert = WT::Test.assertion_from_yaml(step['request']['response']) test.add_step(request, assert) end return test end |
Instance Method Details
#add_step(request, assertion) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/test.rb', line 34 def add_step(request, assertion) assert = assertion || WT::Assertion.new().code_is_equal('200') step = { :request => request, :assertion => assert } @steps << step end |
#exec(&block) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/test.rb', line 46 def exec(&block) WT::Log.debug(">>> WT::Test::Exec") session = WT::WebSession.new @steps.each do |step| result = nil begin result = session.request(step[:request], false) WT::Log.debug("\t * assertion.assert(#{result.response.code})") if result.response step[:assertion].assert(result.response) rescue Exception => ex result = WT::Result.new(step[:request], nil, nil) unless result result.error = ex end block.call(result) break if result.error end end |