Ifd_Automation 1.9.2 → 2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/documentation_generator.rb +1 -1
- data/lib/Ifd_Automation/REST_steps.rb +105 -0
- data/lib/Ifd_Automation/SOAP_steps.rb +54 -0
- data/lib/Ifd_Automation/database_steps.rb +17 -47
- data/lib/Ifd_Automation/dynamic_store_vavue_steps.rb +25 -0
- data/lib/Ifd_Automation/email_steps.rb +32 -36
- data/lib/Ifd_Automation/file_steps.rb +7 -58
- data/lib/Ifd_Automation/require_libs.rb +6 -0
- data/lib/Ifd_Automation/ssh_steps.rb +14 -23
- data/lib/Ifd_Automation/version.rb +1 -1
- data/lib/Ifd_Automation/web_steps.rb +58 -293
- data/lib/helper/assertion_helpers.rb +100 -0
- data/lib/helper/auto_utils.rb +67 -0
- data/lib/{Ifd_Automation_support → helper}/connection_helpers.rb +2 -2
- data/lib/{Ifd_Automation_support → helper}/core.rb +154 -60
- data/lib/{Ifd_Automation_support → helper}/mail_helpers.rb +2 -2
- data/lib/helper/web_steps_helpers.rb +123 -0
- data/project/Gemfile +1 -2
- data/project/features/Screenshot/failed_sample.png +0 -0
- data/project/features/TestData/globalData.yml +4 -1
- data/project/features/TestSuite/test.feature +1 -4
- data/project/features/step_definitions/lib_steps/test.rb +5 -3
- data/project/features/step_definitions/repositories/project_object.yml +2 -2
- data/project/features/support/env.rb +53 -52
- data/project/features/support/hooks.rb +2 -0
- data/project/features/support/project_config.yml +6 -6
- metadata +36 -148
- data/lib/Ifd_Automation/javascript_steps.rb +0 -33
- data/lib/Ifd_Automation/required_libs.rb +0 -7
- data/lib/Ifd_Automation/response.rb +0 -105
- data/lib/Ifd_Automation/webservice_steps.rb +0 -281
- data/lib/Ifd_Automation_support/assertion_helpers.rb +0 -205
- data/lib/Ifd_Automation_support/javascript_helpers.rb +0 -45
- data/lib/Ifd_Automation_support/selenium_sync_issues.rb +0 -62
- data/lib/Ifd_Automation_support/web_steps_helpers.rb +0 -296
- data/project/Gemfile.lock +0 -203
- data/project/Rakefile +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07035f6dc992f2ed0a6d8a62dbddb59e0238235a
|
4
|
+
data.tar.gz: 680ee673fcb2f33552acec0e63b545b542a75b19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91ac9d93f1060929b25b249e5b08da59b914b344f6b0aa3776e55661a6f4d03dea1fbe0e7fbe6b49d4914455a358ca58eac3aeaa9ebd9aa79944a225a0a26a19
|
7
|
+
data.tar.gz: e2871d1d54f1888b16ac6e61b9ead46b98bc468c5b058de037e2bd3e252845f535cbef8b4afde369e93fa039ef16fd7add82a50b0148ae230e6509ee3b511ae6
|
@@ -0,0 +1,105 @@
|
|
1
|
+
require_relative 'require_libs'
|
2
|
+
require 'httparty'
|
3
|
+
When /^I send a REST GET request to "([^\"]*)"$/ do |url|
|
4
|
+
url = check_dynamic_value(url)
|
5
|
+
puts "\n REST url: #{url}"
|
6
|
+
$RESTresult = HTTParty.get url, timeout: 180_000
|
7
|
+
end
|
8
|
+
|
9
|
+
When /^I send a REST POST request to "([^"]*)"$/ do |url|
|
10
|
+
url = check_dynamic_value(url)
|
11
|
+
puts "\n url: #{url}"
|
12
|
+
$RESTresult = HTTParty.post url, timeout: 180_000
|
13
|
+
end
|
14
|
+
|
15
|
+
When /^I send a REST POST request to "(.*?)" with file "(.*?)"$/ do |url, file|
|
16
|
+
url = check_dynamic_value(url)
|
17
|
+
file = bind_with_dyn_vars(file)
|
18
|
+
puts "\n POST url: #{url}"
|
19
|
+
data = File.read($test_data_dir + file)
|
20
|
+
$RESTresult = HTTParty.post url, {:body => data, :timeout => 180000}
|
21
|
+
# puts $result.response.body.to_s
|
22
|
+
end
|
23
|
+
|
24
|
+
When /^I send a REST PUT request to "([^\"]*)"$/ do |url|
|
25
|
+
url = check_dynamic_value(url)
|
26
|
+
puts "\n PUT url: #{url}"
|
27
|
+
$RESTresult = HTTParty.put url, timeout: 180_000
|
28
|
+
# puts $result.response.body.to_s
|
29
|
+
end
|
30
|
+
|
31
|
+
When /^I send a REST PUT request to "(.*?)" with file "(.*?)"$/ do |url, file|
|
32
|
+
url = check_dynamic_value(url)
|
33
|
+
file = bind_with_dyn_vars(file)
|
34
|
+
puts "\n url: #{url}"
|
35
|
+
data = File.read($test_data_dir + file)
|
36
|
+
$RESTresult = HTTParty.put url, body: data, timeout: 180_000
|
37
|
+
# puts $result.response.body.to_s
|
38
|
+
end
|
39
|
+
|
40
|
+
When /^I print the result of REST request$/ do
|
41
|
+
puts "\n PUT Rest result: #{$RESTresult}"
|
42
|
+
end
|
43
|
+
|
44
|
+
# """
|
45
|
+
# {
|
46
|
+
# "test" : "anh pham"
|
47
|
+
# }
|
48
|
+
# """
|
49
|
+
When /^I send a REST PUT request to "(.*?)" with json:$/ do |url, data|
|
50
|
+
url = check_dynamic_value(url)
|
51
|
+
data = data.raw[0][0]
|
52
|
+
data = JSON.parse(data) unless data.is_a? Hash
|
53
|
+
|
54
|
+
data.each_pair do |k, v|
|
55
|
+
data[k] = bind_with_dyn_vars(v)
|
56
|
+
end
|
57
|
+
|
58
|
+
$RESTresult = HTTParty.put url, body: data, timeout: 180_000
|
59
|
+
end
|
60
|
+
|
61
|
+
When /^I send a REST DELETE request to "([^\"]*)"$/ do |url|
|
62
|
+
url = check_dynamic_value(url)
|
63
|
+
# puts "\n\nurl: #{url}"
|
64
|
+
$RESTresult = HTTParty.delete url, timeout: 180_000
|
65
|
+
# puts $result.response.body.to_s
|
66
|
+
end
|
67
|
+
|
68
|
+
Then /^I should see the REST error message "([^"]*)"$/ do |message|
|
69
|
+
$RESTresult.response.body.to_s.should include message
|
70
|
+
end
|
71
|
+
|
72
|
+
Then /^I should see REST response code "([^"]*)"$/ do |code|
|
73
|
+
$RESTresult.code.to_s.should == code
|
74
|
+
end
|
75
|
+
|
76
|
+
# Example
|
77
|
+
# Then the JSON response should be:
|
78
|
+
# """
|
79
|
+
# {
|
80
|
+
# "test" : "anh pham"
|
81
|
+
# }
|
82
|
+
# """
|
83
|
+
Then /^the JSON response should be:$/ do |json|
|
84
|
+
expected = JSON.parse(json)
|
85
|
+
actual = JSON.parse($RESTresult.body.to_s)
|
86
|
+
|
87
|
+
if self.respond_to?(:expect)
|
88
|
+
# expect(actual).to eq(expected)
|
89
|
+
Assertion.assert_string_equal(actual, expected)
|
90
|
+
else
|
91
|
+
Assertion.assert_string_contain(actual, expected)
|
92
|
+
# assert_equal actual, response
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
# Example
|
98
|
+
# Then the JSON response should have "$..id"
|
99
|
+
Then /^the JSON response should have "(.*)"$/ do |json_path|
|
100
|
+
json = JSON.parse($RESTresult.body)
|
101
|
+
results = JsonPath.new(json_path).on(json).to_a.map(&:to_s)
|
102
|
+
if self.respond_to?(:expect)
|
103
|
+
expect(results).not_to be_empty
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'savon'
|
2
|
+
require_relative 'require_libs'
|
3
|
+
require 'jsonpath'
|
4
|
+
|
5
|
+
# Example
|
6
|
+
# When I get SOAP operations list from 'http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx?wsdl'
|
7
|
+
When /^I get SOAP operations list from '(.*?)'$/ do |url|
|
8
|
+
request_url = URI.encode check_dynamic_value url
|
9
|
+
@SOAPclient = Savon.client(ssl_verify_mode: :none,
|
10
|
+
wsdl: "#{request_url}",
|
11
|
+
:open_timeout => 10,
|
12
|
+
:read_timeout => 10,
|
13
|
+
:log => false)
|
14
|
+
p "Operations List: #{@SOAPclient.operations}"
|
15
|
+
end
|
16
|
+
|
17
|
+
# Example
|
18
|
+
# When I send SOAP request with operation name "verify_email" and XML file "soap.xml"
|
19
|
+
When /^I send SOAP request with operation name "(.*)" and XML file "(.*)"$/ do |operation_name,file_name|
|
20
|
+
xml = File.read($test_data_dir + file_name)
|
21
|
+
@response = call_and_fail_gracefully(@SOAPclient, operation_name.downcase.to_sym, xml: xml )
|
22
|
+
end
|
23
|
+
|
24
|
+
# Example
|
25
|
+
# I send SOAP request with operation name "xr" and following data:
|
26
|
+
# """
|
27
|
+
# Sample XML
|
28
|
+
# """
|
29
|
+
When /^I send SOAP request with operation name "(.*)" and following data:$/ do |operation_name,raw_data|
|
30
|
+
@response = call_and_fail_gracefully(@SOAPclient, operation_name.downcase.to_sym, xml: raw_data )
|
31
|
+
end
|
32
|
+
|
33
|
+
Then /^the status code should be "(.*)"$/ do |status|
|
34
|
+
Assertion.assert_string_equal(@response.http.code, status.to_i)
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
# Example
|
39
|
+
# Then the SOAP response node should have "$..response_text" with text "Email Domain Not Found"
|
40
|
+
Then /^the SOAP response node should have "(.*?)" with text "(.*?)"$/ do |json_path, text|
|
41
|
+
json = @response.body.to_json
|
42
|
+
results = JsonPath.new(json_path).on(json).to_a.map(&:to_s)
|
43
|
+
Assertion.assert_string_equal(text, results[0])
|
44
|
+
end
|
45
|
+
|
46
|
+
Then /^I print the SOAP response$/ do
|
47
|
+
p "SOAP RESPONSE: #{@response}"
|
48
|
+
end
|
49
|
+
|
50
|
+
def call_and_fail_gracefully(client, *args, &block)
|
51
|
+
client.call(*args, &block)
|
52
|
+
rescue Savon::SOAPFault => e
|
53
|
+
puts e.message
|
54
|
+
end
|
@@ -1,8 +1,13 @@
|
|
1
|
-
require_relative '
|
1
|
+
require_relative 'require_libs'
|
2
|
+
Given /^I create connection to database with:$/ do |data|
|
3
|
+
unless data.hashes.empty?
|
4
|
+
data = data.hashes[0]
|
5
|
+
data = JSON.parse(data) unless data.is_a? Hash
|
2
6
|
|
3
|
-
|
4
|
-
|
5
|
-
|
7
|
+
data.each_pair do |k, v|
|
8
|
+
data[k] = check_dynamic_value(v)
|
9
|
+
end
|
10
|
+
@connection = Connection.new(data)
|
6
11
|
p "Connect to database successfully!" if @connection
|
7
12
|
end
|
8
13
|
end
|
@@ -26,31 +31,10 @@ And /^I run multiple sql script:$/ do |raw_data|
|
|
26
31
|
end
|
27
32
|
end
|
28
33
|
|
29
|
-
When /^I run sql script from previous step$/ do
|
30
|
-
unless @file_data.nil?
|
31
|
-
begin
|
32
|
-
@file_data.each_line do |line|
|
33
|
-
if line.nil? || line =~ /^\s*\n*--/
|
34
|
-
puts "\nSQL: " + line;
|
35
|
-
next
|
36
|
-
end
|
37
|
-
line = line.strip();
|
38
|
-
# line = line[0..-2];
|
39
|
-
p line
|
40
|
-
@result = @connection.connection().execute(line)
|
41
|
-
sleep 1
|
42
|
-
end
|
43
|
-
|
44
|
-
rescue Exception => e
|
45
|
-
raise e.message
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
34
|
# Example
|
51
|
-
# When I run sql script "select * from users where email
|
35
|
+
# When I run sql script "select * from users where email=#{id}"
|
52
36
|
And /^I run sql script "(.*)"$/ do |sql|
|
53
|
-
script =
|
37
|
+
script = check_dynamic_value sql
|
54
38
|
begin
|
55
39
|
@result = @connection.connection().execute(script)
|
56
40
|
rescue Exception => e
|
@@ -58,7 +42,7 @@ And /^I run sql script "(.*)"$/ do |sql|
|
|
58
42
|
end
|
59
43
|
end
|
60
44
|
|
61
|
-
Then /^
|
45
|
+
Then /^show me the result of SQL statement$/ do
|
62
46
|
unless @result.nil?
|
63
47
|
@result.each(:as => :hash) do |row|
|
64
48
|
puts row
|
@@ -74,7 +58,7 @@ end
|
|
74
58
|
Then /^the result of SQL statement should be:$/ do |json|
|
75
59
|
expected = JSON.parse(json)
|
76
60
|
@result.each(:as => :hash) do |row|
|
77
|
-
|
61
|
+
Assertion.assert_string_equal(expected,row)
|
78
62
|
end
|
79
63
|
end
|
80
64
|
|
@@ -83,24 +67,10 @@ end
|
|
83
67
|
Then /^the result of SQL statement should have "(.*)" with value "(.*)"$/ do |json_path, value|
|
84
68
|
@result.each(:as => :hash) do |row|
|
85
69
|
results = JsonPath.new(json_path).on(row).to_a.map(&:to_s)
|
86
|
-
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
When /^I store "(.*)" as "(.*)"$/ do |json_path, place_holder|
|
91
|
-
if @result.nil?
|
92
|
-
raise 'No record found, a request need to be made first before you can store data'
|
93
|
-
end
|
94
|
-
@stored = {} if @stored.nil?
|
95
|
-
@result.each(:as => :hash) do |row|
|
96
|
-
@stored[%/#{place_holder}/] = row[%/#{json_path}/]
|
97
|
-
|
70
|
+
Assertion.assert_string_equal(results[0], value)
|
98
71
|
end
|
99
72
|
end
|
100
73
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
# end
|
105
|
-
# script
|
106
|
-
# end
|
74
|
+
When /^I store the result of SQL script as "(.*?)"$/ do |var_name|
|
75
|
+
set_var(var_name, @result)
|
76
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
$result = nil
|
2
|
+
$context_value = nil
|
3
|
+
|
4
|
+
Given /^I get text on "(.*)" then store it as "(.*)"$/ do |object, temp|
|
5
|
+
text = execute_gettext(object)
|
6
|
+
txt = "'" + text + "'"
|
7
|
+
set_var(temp, txt)
|
8
|
+
end
|
9
|
+
|
10
|
+
When /^I store string "(.*?)" as "(.*?)"$/ do |str, var_name|
|
11
|
+
$context_value = bind_with_dyn_vars(str)
|
12
|
+
set_var(var_name, '$context_value')
|
13
|
+
end
|
14
|
+
|
15
|
+
Given /^I print the value of "(.*)"$/ do |temp|
|
16
|
+
puts eval_with_dyn_vars(temp)
|
17
|
+
end
|
18
|
+
|
19
|
+
# get text for object
|
20
|
+
And /^I get text on "(.*?)" then store it into file "(.*)"$/ do |object, file_name|
|
21
|
+
$text = execute_gettext(object)
|
22
|
+
open($test_data_dir+file_name, 'a+') do |f|
|
23
|
+
f << $text + "\n"
|
24
|
+
end
|
25
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'action_mailer'
|
2
|
-
require_relative '
|
2
|
+
require_relative 'require_libs'
|
3
3
|
# Example:
|
4
4
|
#
|
5
5
|
# Then I send an email with:
|
@@ -14,21 +14,19 @@ require_relative 'required_libs'
|
|
14
14
|
# """
|
15
15
|
#
|
16
16
|
Then /^I send an e?mail with:$/ do |raw_data|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
conditions[key.gsub(' ','').underscore.to_sym] = value.gsub(' ','')
|
17
|
+
raw_data.strip!
|
18
|
+
header, body = raw_data.split(/\n\n/, 2) # 2: maximum number of fields
|
19
|
+
conditions = {}
|
20
|
+
header.split("\n").each do |row|
|
21
|
+
if row.lstrip.chop.match(/^[a-z\-]+:/i)
|
22
|
+
key, value = row.split(":", 2)
|
23
|
+
conditions[key.gsub(' ','').underscore.to_sym] = value.gsub(' ','')
|
25
24
|
|
26
|
-
end
|
27
25
|
end
|
28
|
-
conditions[:body] = body if body
|
29
|
-
filepath = ($test_data_dir + conditions[:attachments] if conditions[:attachments])
|
30
|
-
IFD_Email.send_email(conditions[:to], conditions[:subject], conditions[:body],filepath)
|
31
26
|
end
|
27
|
+
conditions[:body] = body if body
|
28
|
+
filepath = ($test_data_dir + conditions[:attachments] if conditions[:attachments])
|
29
|
+
Email.send_email(conditions[:to], conditions[:subject], conditions[:body],filepath)
|
32
30
|
end
|
33
31
|
|
34
32
|
# Example:
|
@@ -46,31 +44,29 @@ end
|
|
46
44
|
#
|
47
45
|
|
48
46
|
Then /^I should receive an e?mail with:$/ do |raw_data|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
conditions[key.gsub(' ','').underscore.to_sym] = value.gsub(' ','')
|
47
|
+
raw_data.strip!
|
48
|
+
header, body = raw_data.split(/\n\n/, 2) # 2: maximum number of fields
|
49
|
+
conditions = {}
|
50
|
+
header.split("\n").each do |row|
|
51
|
+
if row.lstrip.chop.match(/^[a-z\-]+:/i)
|
52
|
+
key, value = row.split(":", 2)
|
53
|
+
conditions[key.gsub(' ','').underscore.to_sym] = value.gsub(' ','')
|
57
54
|
|
58
|
-
end
|
59
|
-
end
|
60
|
-
conditions[:body] = body.squeeze(' ').strip if body
|
61
|
-
sleep 5
|
62
|
-
emails = Mail.find(:what => :last, :count => 1)
|
63
|
-
|
64
|
-
if emails.instance_of? Mail::Message
|
65
|
-
IFD_Assertion.assert_string_equal(conditions[:from], emails.from[0].to_s)
|
66
|
-
IFD_Assertion.assert_string_equal(conditions[:subject], emails.subject)
|
67
|
-
IFD_Assertion.assert_string_contain(conditions[:body], emails.body)
|
68
|
-
emails.attachments.each do |attachment|
|
69
|
-
IFD_Assertion.assert_string_equal(conditions[:attachments], attachment.filename)
|
70
|
-
end if conditions[:attachments]
|
71
|
-
else
|
72
|
-
raise "WARNING: *** No new Email is found"
|
73
55
|
end
|
74
56
|
end
|
57
|
+
conditions[:body] = body.squeeze(' ').strip if body
|
58
|
+
sleep 5
|
59
|
+
emails = Mail.find(:what => :last, :count => 1)
|
60
|
+
|
61
|
+
if emails.instance_of? Mail::Message
|
62
|
+
Assertion.assert_string_equal(conditions[:from], emails.from[0].to_s)
|
63
|
+
Assertion.assert_string_equal(conditions[:subject], emails.subject)
|
64
|
+
Assertion.assert_string_contain(conditions[:body], emails.body)
|
65
|
+
emails.attachments.each do |attachment|
|
66
|
+
Assertion.assert_string_equal(conditions[:attachments], attachment.filename)
|
67
|
+
end if conditions[:attachments]
|
68
|
+
else
|
69
|
+
raise "WARNING: *** No new Email is found"
|
70
|
+
end
|
75
71
|
end
|
76
72
|
|
@@ -1,18 +1,7 @@
|
|
1
|
-
|
2
|
-
@file_data = ""
|
3
|
-
file_path = $test_data_dir + file_name.downcase
|
4
|
-
if File.exist?(file_path)
|
5
|
-
file = File.open(file_path)
|
6
|
-
@file_data += file.read
|
7
|
-
file.close
|
8
|
-
else
|
9
|
-
puts "*** WARNING: File #{file_name} does not exist."
|
10
|
-
end
|
11
|
-
p @file_data
|
12
|
-
end
|
1
|
+
require_relative 'require_libs'
|
13
2
|
|
14
|
-
Then /^I delete file "(.*)"$/ do |file_name|
|
15
|
-
file_path = ($test_data_dir + file_name)
|
3
|
+
Then /^I delete test file "(.*)"$/ do |file_name|
|
4
|
+
file_path = ($test_data_dir + file_name.gsub(" ", "_"))
|
16
5
|
if File.exists?(file_path)
|
17
6
|
File.delete(file_path)
|
18
7
|
puts "#{file_name} is deleted successfully"
|
@@ -21,55 +10,15 @@ Then /^I delete file "(.*)"$/ do |file_name|
|
|
21
10
|
end
|
22
11
|
end
|
23
12
|
|
24
|
-
|
25
|
-
if $PARAMS["#{params_name.downcase}"]
|
26
|
-
params_value = $PARAMS["#{params_name.downcase}"]
|
27
|
-
p params_value
|
28
|
-
else
|
29
|
-
p "WARNING: *** Value of parameter #{params_name} not found"
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
Then /^I run exe file "(.*)" on windows$/ do |filename|
|
34
|
-
if File.exist?(filename)
|
35
|
-
system("'"+filename+"'")
|
36
|
-
else
|
37
|
-
raise "*** ERROR: File #{filename} is not existed."
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
Then /^I run exe file from test data location "(.*)" on windows$/ do |filename|
|
42
|
-
executable_file = $test_data_dir+filename
|
43
|
-
if File.exist?(executable_file)
|
44
|
-
system("'"+executable_file+"'")
|
45
|
-
else
|
46
|
-
raise "*** ERROR: File #{filename} is not existed"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
When /^I store "(.*)" into file "(.*)"$/ do |data,filename|
|
51
|
-
data = check_match_url data
|
52
|
-
if File.exist?(filename)
|
53
|
-
raise "*** WARNING: File #{filename} is already existed. Please delete or change the file name"
|
54
|
-
else
|
55
|
-
File.open($test_data_dir+filename, 'w'){|file|
|
56
|
-
file.write(data)
|
57
|
-
file.close
|
58
|
-
}
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
Given /^I read data file "(.*)" and store it as "(.*)"$/ do |file_name, place_holder|
|
13
|
+
Given /^I read data from file "(.*)"$/ do |file_name|
|
63
14
|
@file_data = ""
|
64
|
-
@stored = {}
|
65
15
|
file_path = $test_data_dir + file_name.downcase
|
66
16
|
if File.exist?(file_path)
|
67
17
|
file = File.open(file_path)
|
68
18
|
@file_data += file.read
|
69
19
|
file.close
|
70
20
|
else
|
71
|
-
|
21
|
+
raise "*** WARNING: File #{file_name} does not exist."
|
72
22
|
end
|
73
|
-
|
74
|
-
|
75
|
-
end
|
23
|
+
p @file_data
|
24
|
+
end
|