rainforest-cli 1.10.3 → 1.10.4
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/CHANGELOG.md +3 -0
- data/lib/rainforest_cli/test_parser.rb +16 -18
- data/lib/rainforest_cli/version.rb +1 -1
- data/spec/rainforest-example/example_test.rfml +3 -0
- data/spec/rainforest_cli/test_parser_spec.rb +23 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 192f7e0575ed3b8e2a790d514816f81a2cd98dfb
|
4
|
+
data.tar.gz: 11f021face63574272a30382144def1a06f7355f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b46770a727a8614482a68fe966a628ed814835c3b1c852658251d6d28b23597824ae2a1047bd2120e7bedb07338cfce45d906568830a15af54ef5c3c8873f488
|
7
|
+
data.tar.gz: 2f0628e2fdeca4061782b02016f59abceb81d6c69ae4f6632994b5ab13a7d87e1e4a8db66aef33ce817b2ccb581dedd3a647b624a8347279cadc2e16ed13cd6b
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Rainforest CLI Changelog
|
2
2
|
|
3
|
+
## 1.10.4 - 31st October 2016
|
4
|
+
- Do not upload test metadata as test description. (1c8b46d2156da17be939ac67edefe2bd2b56af47, @epaulet)
|
5
|
+
|
3
6
|
## 1.10.3 - 21st October 2016
|
4
7
|
- Fix bug with accidental removal of 3 commands. (d9ebbd702ba1b1b64b9a1a222c301315b89d743e, @curtis-rainforestqa)
|
5
8
|
- Add better tolerance for server errors. (b4180332ca13fec0972c3d65dbce00242907ca38, @epaulet)
|
@@ -26,8 +26,7 @@ module RainforestCli::TestParser
|
|
26
26
|
@test.browsers = []
|
27
27
|
end
|
28
28
|
|
29
|
-
TEST_DATA_FIELDS = [:start_uri, :title, :site_id, :browsers].freeze
|
30
|
-
STEP_DATA_FIELDS = [:redirect].freeze
|
29
|
+
TEST_DATA_FIELDS = [:start_uri, :title, :site_id, :tags, :browsers].freeze
|
31
30
|
CSV_FIELDS = [:tags, :browsers].freeze
|
32
31
|
|
33
32
|
def process
|
@@ -37,32 +36,31 @@ module RainforestCli::TestParser
|
|
37
36
|
text.lines.each_with_index do |line, line_no|
|
38
37
|
line = line.chomp
|
39
38
|
if line[0..1] == '#!'
|
40
|
-
# special comment, don't ignore!
|
41
39
|
@test.rfml_id = line[2..-1].strip.split(' ')[0]
|
42
|
-
@test.description += line[1..-1] + "\n"
|
43
40
|
|
44
41
|
elsif line[0] == '#'
|
45
|
-
|
46
|
-
@test.description += line[1..-1] + "\n"
|
42
|
+
comment = line[1..-1].strip
|
47
43
|
|
48
|
-
if
|
49
|
-
value =
|
44
|
+
if comment.start_with?('redirect:')
|
45
|
+
value = comment.split(' ')[1..-1].join(' ').strip
|
50
46
|
if %(true false).include?(value)
|
51
47
|
step_settings_scratch[:redirect] = value
|
52
48
|
else
|
53
49
|
@test.errors[line_no] = Error.new(line_no, 'Redirection value must be true or false')
|
54
50
|
end
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
51
|
+
else
|
52
|
+
matched_field = TEST_DATA_FIELDS.find { |f| comment.start_with?("#{f}:") }
|
53
|
+
if matched_field.nil?
|
54
|
+
# comment, store in description
|
55
|
+
@test.description += comment + "\n"
|
56
|
+
else
|
57
|
+
# extract just the text of the field
|
58
|
+
@test[matched_field] = comment.split(' ')[1..-1].join(' ').strip
|
62
59
|
|
63
|
-
|
64
|
-
|
65
|
-
|
60
|
+
# if it's supposed to be a CSV field, split and trim it
|
61
|
+
if CSV_FIELDS.include?(matched_field)
|
62
|
+
@test[matched_field] = @test[matched_field].split(',').map(&:strip).map(&:downcase)
|
63
|
+
end
|
66
64
|
end
|
67
65
|
end
|
68
66
|
|
@@ -2,14 +2,35 @@
|
|
2
2
|
describe RainforestCli::TestParser do
|
3
3
|
describe RainforestCli::TestParser::Parser do
|
4
4
|
subject { described_class.new(file_name) }
|
5
|
+
let(:file_name) { './spec/rainforest-example/example_test.rfml' }
|
5
6
|
|
6
7
|
describe '#initialize' do
|
7
|
-
let(:file_name) { './spec/rainforest-example/example_test.rfml' }
|
8
|
-
|
9
8
|
it 'expands the file name path' do
|
10
9
|
test = subject.instance_variable_get(:@test)
|
11
10
|
expect(test.file_name).to eq(File.expand_path(file_name))
|
12
11
|
end
|
13
12
|
end
|
13
|
+
|
14
|
+
describe '#process' do
|
15
|
+
let(:parsed_test) { subject.process }
|
16
|
+
let(:parsed_step) { parsed_test.steps.first }
|
17
|
+
|
18
|
+
describe 'parsing comments' do
|
19
|
+
it 'properly identifies comments' do
|
20
|
+
expect(parsed_test.description).to include('This is a comment', 'this is also a comment')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'properly identifies metadata fields' do
|
24
|
+
expect(parsed_test.title).to eq('Example Test')
|
25
|
+
expect(parsed_test.tags).to eq(['foo', 'bar', 'baz'])
|
26
|
+
expect(parsed_test.site_id).to eq('456')
|
27
|
+
expect(parsed_test.start_uri).to eq('/start_uri')
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'properly parses step metadata' do
|
31
|
+
expect(parsed_step.redirect).to eq('false')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
14
35
|
end
|
15
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rainforest-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.10.
|
4
|
+
version: 1.10.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Russell Smith
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-10-
|
12
|
+
date: 2016-10-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|