crab 0.1.9 → 0.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.
- data/bin/crab-list +25 -0
- data/bin/crab-ls +25 -0
- data/bin/crab-new +18 -0
- data/bin/crab-tc +12 -72
- data/bin/crab-testcase +12 -72
- data/bin/crab-testcase-add +25 -0
- data/bin/crab-testcase-create +25 -0
- data/bin/crab-testcase-delete +13 -0
- data/bin/crab-testcase-help +10 -0
- data/bin/crab-testcase-list +24 -0
- data/bin/crab-testcase-ls +24 -0
- data/bin/crab-testcase-new +25 -0
- data/bin/crab-testcase-rm +13 -0
- data/bin/crab-testcase-show +23 -0
- data/bin/crab-testcase-update +14 -0
- data/lib/crab/utilities.rb +27 -0
- data/lib/crab/version.rb +1 -1
- metadata +30 -4
data/bin/crab-list
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
include Crab::Utilities
|
5
|
+
|
6
|
+
cmd_opts = Trollop::options do
|
7
|
+
banner <<-BANNER
|
8
|
+
crab find: find a story in Rally
|
9
|
+
|
10
|
+
Usage: crab find [options] [text]
|
11
|
+
BANNER
|
12
|
+
opt :project, "Project to use (required unless set by 'crab project')", :short => "-p", :type => String
|
13
|
+
end
|
14
|
+
|
15
|
+
pattern = ARGV.map(&:strip).reject(&:empty?)
|
16
|
+
project_name = valid_project_name(cmd_opts)
|
17
|
+
|
18
|
+
Crab::Rally.new do |rally|
|
19
|
+
project = rally.find_project(project_name)
|
20
|
+
Trollop::die "Project #{cmd_opts[:project].inspect} not found" if project.nil?
|
21
|
+
|
22
|
+
rally.find_stories(project, pattern).each do |story|
|
23
|
+
puts "#{story.formatted_id}: #{story.name} (#{story.state})"
|
24
|
+
end
|
25
|
+
end
|
data/bin/crab-ls
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
include Crab::Utilities
|
5
|
+
|
6
|
+
cmd_opts = Trollop::options do
|
7
|
+
banner <<-BANNER
|
8
|
+
crab find: find a story in Rally
|
9
|
+
|
10
|
+
Usage: crab find [options] [text]
|
11
|
+
BANNER
|
12
|
+
opt :project, "Project to use (required unless set by 'crab project')", :short => "-p", :type => String
|
13
|
+
end
|
14
|
+
|
15
|
+
pattern = ARGV.map(&:strip).reject(&:empty?)
|
16
|
+
project_name = valid_project_name(cmd_opts)
|
17
|
+
|
18
|
+
Crab::Rally.new do |rally|
|
19
|
+
project = rally.find_project(project_name)
|
20
|
+
Trollop::die "Project #{cmd_opts[:project].inspect} not found" if project.nil?
|
21
|
+
|
22
|
+
rally.find_stories(project, pattern).each do |story|
|
23
|
+
puts "#{story.formatted_id}: #{story.name} (#{story.state})"
|
24
|
+
end
|
25
|
+
end
|
data/bin/crab-new
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
cmd_opts = Trollop::options do
|
5
|
+
banner <<-BANNER
|
6
|
+
crab create: create a new story in Rally
|
7
|
+
|
8
|
+
Usage: crab create name [options]
|
9
|
+
BANNER
|
10
|
+
end
|
11
|
+
|
12
|
+
name = ARGV.join(" ")
|
13
|
+
Trollop::die "Please specify a name for the story" if name.blank?
|
14
|
+
|
15
|
+
Crab::Rally.new do |rally|
|
16
|
+
story = rally.create_story :name => name
|
17
|
+
puts "#{story.formatted_id}: #{story.name} (#{story.state})"
|
18
|
+
end
|
data/bin/crab-tc
CHANGED
@@ -1,78 +1,18 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# vim: set ft=ruby:
|
3
3
|
|
4
|
-
|
5
|
-
Trollop::options do
|
6
|
-
banner banner
|
7
|
-
opt :priority, "Priority (one of: #{Crab::TestCase::PRIORITIES.join(" ")}", :default => "important", :short => '-p'
|
8
|
-
opt :risk, "Risk (one of: #{Crab::TestCase::RISKS.join(" ")})", :default => "medium", :short => '-r'
|
9
|
-
opt :method, "Method (one of: #{Crab::TestCase::METHODS.join(" ")})", :default => "automated", :short => '-m'
|
10
|
-
opt :type, "Type (one of: #{Crab::TestCase::TYPES.join(" ")})", :default => "acceptance", :short => '-t'
|
11
|
-
opt :pre, "Pre-conditions", :default => "N/A"
|
12
|
-
opt :post, "Post-conditions", :default => "N/A"
|
13
|
-
opt :desc, "Description", :default => "N/A", :short => '-d'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def sanitize_options(opts, creating=true)
|
18
|
-
result = {}
|
19
|
-
result[:priority] = opts[:priority].capitalize if creating || opts[:priority_given]
|
20
|
-
result[:risk] = opts[:risk].capitalize if creating || opts[:risk_given]
|
21
|
-
result[:method] = opts[:method].capitalize if creating || opts[:method_given]
|
22
|
-
result[:type] = opts[:type].capitalize if creating || opts[:type_given]
|
23
|
-
result[:pre_conditions] = opts[:pre] if creating || opts[:pre_given]
|
24
|
-
result[:post_conditions] = opts[:post] if creating || opts[:post_given]
|
25
|
-
result[:description] = opts[:desc] if creating || opts[:desc_given]
|
26
|
-
result
|
27
|
-
end
|
4
|
+
cmd = ARGV.shift # get the subcommand
|
28
5
|
|
29
|
-
|
30
|
-
|
31
|
-
crab
|
32
|
-
|
33
|
-
Usage: crab testcase add story name [options]
|
34
|
-
crab testcase update testcase [options]
|
35
|
-
crab testcase delete testcase [options]
|
36
|
-
BANNER
|
37
|
-
stop_on %w{add update delete}
|
6
|
+
case cmd
|
7
|
+
when "-h", "--help", NilClass
|
8
|
+
system "crab-testcase-help"
|
9
|
+
exit 0
|
38
10
|
end
|
39
11
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
story_id = ARGV.shift
|
46
|
-
name = ARGV.join(" ")
|
47
|
-
|
48
|
-
Crab::Rally.new do |rally|
|
49
|
-
tc = rally.create_test_case(story_id, name, sanitize_options(opts))
|
50
|
-
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
51
|
-
end
|
52
|
-
|
53
|
-
when "update"
|
54
|
-
opts = add_or_update_options "crab testcase update: update a test case in Rally"
|
55
|
-
|
56
|
-
tc_id = ARGV.shift
|
57
|
-
|
58
|
-
Crab::Rally.new do |rally|
|
59
|
-
tc = rally.find_test_case(tc_id)
|
60
|
-
tc.update(sanitize_options(opts))
|
61
|
-
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
62
|
-
end
|
63
|
-
|
64
|
-
when "delete"
|
65
|
-
Trollop::options do
|
66
|
-
banner "crab testcase delete: delete a test case in Rally"
|
67
|
-
end
|
68
|
-
|
69
|
-
tc_id = ARGV.shift
|
70
|
-
Crab::Rally.new do |rally|
|
71
|
-
tc = rally.find_test_case(tc_id)
|
72
|
-
tc.delete
|
73
|
-
puts "Test case #{tc_id} deleted."
|
12
|
+
unless system("crab-testcase-#{cmd}", *ARGV)
|
13
|
+
if $?.exitstatus == 127 # bash 'command not found'
|
14
|
+
$stderr.puts "Unknown subcommand \"template #{cmd}\""
|
15
|
+
system "crab-testcase-help"
|
16
|
+
exit 127
|
74
17
|
end
|
75
|
-
|
76
|
-
else
|
77
|
-
Trollop::die "Unknown subcommand#{' ' + sub.inspect if sub}"
|
78
18
|
end
|
data/bin/crab-testcase
CHANGED
@@ -1,78 +1,18 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# vim: set ft=ruby:
|
3
3
|
|
4
|
-
|
5
|
-
Trollop::options do
|
6
|
-
banner banner
|
7
|
-
opt :priority, "Priority (one of: #{Crab::TestCase::PRIORITIES.join(" ")}", :default => "important", :short => '-p'
|
8
|
-
opt :risk, "Risk (one of: #{Crab::TestCase::RISKS.join(" ")})", :default => "medium", :short => '-r'
|
9
|
-
opt :method, "Method (one of: #{Crab::TestCase::METHODS.join(" ")})", :default => "automated", :short => '-m'
|
10
|
-
opt :type, "Type (one of: #{Crab::TestCase::TYPES.join(" ")})", :default => "acceptance", :short => '-t'
|
11
|
-
opt :pre, "Pre-conditions", :default => "N/A"
|
12
|
-
opt :post, "Post-conditions", :default => "N/A"
|
13
|
-
opt :desc, "Description", :default => "N/A", :short => '-d'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def sanitize_options(opts, creating=true)
|
18
|
-
result = {}
|
19
|
-
result[:priority] = opts[:priority].capitalize if creating || opts[:priority_given]
|
20
|
-
result[:risk] = opts[:risk].capitalize if creating || opts[:risk_given]
|
21
|
-
result[:method] = opts[:method].capitalize if creating || opts[:method_given]
|
22
|
-
result[:type] = opts[:type].capitalize if creating || opts[:type_given]
|
23
|
-
result[:pre_conditions] = opts[:pre] if creating || opts[:pre_given]
|
24
|
-
result[:post_conditions] = opts[:post] if creating || opts[:post_given]
|
25
|
-
result[:description] = opts[:desc] if creating || opts[:desc_given]
|
26
|
-
result
|
27
|
-
end
|
4
|
+
cmd = ARGV.shift # get the subcommand
|
28
5
|
|
29
|
-
|
30
|
-
|
31
|
-
crab
|
32
|
-
|
33
|
-
Usage: crab testcase add story name [options]
|
34
|
-
crab testcase update testcase [options]
|
35
|
-
crab testcase delete testcase [options]
|
36
|
-
BANNER
|
37
|
-
stop_on %w{add update delete}
|
6
|
+
case cmd
|
7
|
+
when "-h", "--help", NilClass
|
8
|
+
system "crab-testcase-help"
|
9
|
+
exit 0
|
38
10
|
end
|
39
11
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
story_id = ARGV.shift
|
46
|
-
name = ARGV.join(" ")
|
47
|
-
|
48
|
-
Crab::Rally.new do |rally|
|
49
|
-
tc = rally.create_test_case(story_id, name, sanitize_options(opts))
|
50
|
-
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
51
|
-
end
|
52
|
-
|
53
|
-
when "update"
|
54
|
-
opts = add_or_update_options "crab testcase update: update a test case in Rally"
|
55
|
-
|
56
|
-
tc_id = ARGV.shift
|
57
|
-
|
58
|
-
Crab::Rally.new do |rally|
|
59
|
-
tc = rally.find_test_case(tc_id)
|
60
|
-
tc.update(sanitize_options(opts))
|
61
|
-
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
62
|
-
end
|
63
|
-
|
64
|
-
when "delete"
|
65
|
-
Trollop::options do
|
66
|
-
banner "crab testcase delete: delete a test case in Rally"
|
67
|
-
end
|
68
|
-
|
69
|
-
tc_id = ARGV.shift
|
70
|
-
Crab::Rally.new do |rally|
|
71
|
-
tc = rally.find_test_case(tc_id)
|
72
|
-
tc.delete
|
73
|
-
puts "Test case #{tc_id} deleted."
|
12
|
+
unless system("crab-testcase-#{cmd}", *ARGV)
|
13
|
+
if $?.exitstatus == 127 # bash 'command not found'
|
14
|
+
$stderr.puts "Unknown subcommand \"template #{cmd}\""
|
15
|
+
system "crab-testcase-help"
|
16
|
+
exit 127
|
74
17
|
end
|
75
|
-
|
76
|
-
else
|
77
|
-
Trollop::die "Unknown subcommand#{' ' + sub.inspect if sub}"
|
78
18
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
include Crab::Utilities
|
5
|
+
|
6
|
+
opts = add_or_update_options "crab testcase add: add a test case to a story in Rally"
|
7
|
+
|
8
|
+
story_id = ARGV.shift
|
9
|
+
unless story_id
|
10
|
+
$stderr.puts "Error: Story ID not provided."
|
11
|
+
system "crab-testcase-help"
|
12
|
+
exit 1
|
13
|
+
end
|
14
|
+
|
15
|
+
name = ARGV.join(" ")
|
16
|
+
unless name
|
17
|
+
$stderr.puts "Error: Test case name not provided."
|
18
|
+
system "crab-testcase-help"
|
19
|
+
exit 1
|
20
|
+
end
|
21
|
+
|
22
|
+
Crab::Rally.new do |rally|
|
23
|
+
tc = rally.create_test_case(story_id, name, sanitize_options(opts))
|
24
|
+
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
include Crab::Utilities
|
5
|
+
|
6
|
+
opts = add_or_update_options "crab testcase add: add a test case to a story in Rally"
|
7
|
+
|
8
|
+
story_id = ARGV.shift
|
9
|
+
unless story_id
|
10
|
+
$stderr.puts "Error: Story ID not provided."
|
11
|
+
system "crab-testcase-help"
|
12
|
+
exit 1
|
13
|
+
end
|
14
|
+
|
15
|
+
name = ARGV.join(" ")
|
16
|
+
unless name
|
17
|
+
$stderr.puts "Error: Test case name not provided."
|
18
|
+
system "crab-testcase-help"
|
19
|
+
exit 1
|
20
|
+
end
|
21
|
+
|
22
|
+
Crab::Rally.new do |rally|
|
23
|
+
tc = rally.create_test_case(story_id, name, sanitize_options(opts))
|
24
|
+
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
25
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
Trollop::options do
|
5
|
+
banner "crab testcase delete: delete a test case in Rally"
|
6
|
+
end
|
7
|
+
|
8
|
+
tc_id = ARGV.shift
|
9
|
+
Crab::Rally.new do |rally|
|
10
|
+
tc = rally.find_test_case(tc_id)
|
11
|
+
tc.delete
|
12
|
+
puts "Test case #{tc_id} deleted."
|
13
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
puts <<-HELP
|
5
|
+
crab testcase: manage test cases in a story (add, update, delete)
|
6
|
+
|
7
|
+
Usage: crab testcase add story name [options]
|
8
|
+
crab testcase update testcase [options]
|
9
|
+
crab testcase delete testcase [options]
|
10
|
+
HELP
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
opts = Trollop::options do
|
5
|
+
banner <<-BANNER
|
6
|
+
crab testcase list: displays all testcases in Rally in a story as Cucumber scenarios
|
7
|
+
|
8
|
+
Usage: crab testcase list <story> [options]"
|
9
|
+
BANNER
|
10
|
+
opt :language, "Language to display Cucumber features in (ISO code)", :default => "en", :short => "-l"
|
11
|
+
end
|
12
|
+
|
13
|
+
id = ARGV.shift
|
14
|
+
unless id
|
15
|
+
$stderr.puts "Error: No story ID provided."
|
16
|
+
system "crab-testcase-help"
|
17
|
+
exit 1
|
18
|
+
end
|
19
|
+
|
20
|
+
Crab::Rally.new do |rally|
|
21
|
+
story = rally.find_story_with_id id
|
22
|
+
|
23
|
+
puts Array(story.scenarios).map {|scenario| Crab::CucumberScenario.new(opts[:language]).generate_from scenario }.join.strip
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
opts = Trollop::options do
|
5
|
+
banner <<-BANNER
|
6
|
+
crab testcase list: displays all testcases in Rally in a story as Cucumber scenarios
|
7
|
+
|
8
|
+
Usage: crab testcase list <story> [options]"
|
9
|
+
BANNER
|
10
|
+
opt :language, "Language to display Cucumber features in (ISO code)", :default => "en", :short => "-l"
|
11
|
+
end
|
12
|
+
|
13
|
+
id = ARGV.shift
|
14
|
+
unless id
|
15
|
+
$stderr.puts "Error: No story ID provided."
|
16
|
+
system "crab-testcase-help"
|
17
|
+
exit 1
|
18
|
+
end
|
19
|
+
|
20
|
+
Crab::Rally.new do |rally|
|
21
|
+
story = rally.find_story_with_id id
|
22
|
+
|
23
|
+
puts Array(story.scenarios).map {|scenario| Crab::CucumberScenario.new(opts[:language]).generate_from scenario }.join.strip
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
include Crab::Utilities
|
5
|
+
|
6
|
+
opts = add_or_update_options "crab testcase add: add a test case to a story in Rally"
|
7
|
+
|
8
|
+
story_id = ARGV.shift
|
9
|
+
unless story_id
|
10
|
+
$stderr.puts "Error: Story ID not provided."
|
11
|
+
system "crab-testcase-help"
|
12
|
+
exit 1
|
13
|
+
end
|
14
|
+
|
15
|
+
name = ARGV.join(" ")
|
16
|
+
unless name
|
17
|
+
$stderr.puts "Error: Test case name not provided."
|
18
|
+
system "crab-testcase-help"
|
19
|
+
exit 1
|
20
|
+
end
|
21
|
+
|
22
|
+
Crab::Rally.new do |rally|
|
23
|
+
tc = rally.create_test_case(story_id, name, sanitize_options(opts))
|
24
|
+
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
25
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
Trollop::options do
|
5
|
+
banner "crab testcase delete: delete a test case in Rally"
|
6
|
+
end
|
7
|
+
|
8
|
+
tc_id = ARGV.shift
|
9
|
+
Crab::Rally.new do |rally|
|
10
|
+
tc = rally.find_test_case(tc_id)
|
11
|
+
tc.delete
|
12
|
+
puts "Test case #{tc_id} deleted."
|
13
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
opts = Trollop::options do
|
5
|
+
banner <<-BANNER
|
6
|
+
crab testcase show: displays a testcase in Rally as a Cucumber scenario
|
7
|
+
|
8
|
+
Usage: crab testcase show <testcase> [options]"
|
9
|
+
BANNER
|
10
|
+
opt :language, "Language to display Cucumber features in (ISO code)", :default => "en", :short => "-l"
|
11
|
+
end
|
12
|
+
|
13
|
+
id = ARGV.shift
|
14
|
+
unless id
|
15
|
+
$stderr.puts "Error: No test case ID provided."
|
16
|
+
system "crab-testcase-help"
|
17
|
+
exit 1
|
18
|
+
end
|
19
|
+
|
20
|
+
Crab::Rally.new do |rally|
|
21
|
+
tc = rally.find_test_case id
|
22
|
+
puts Crab::CucumberScenario.new(opts[:language]).generate_from(tc).strip
|
23
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# vim: set ft=ruby :
|
2
|
+
require 'crab'
|
3
|
+
|
4
|
+
include Crab::Utilities
|
5
|
+
|
6
|
+
opts = add_or_update_options "crab testcase update: update a test case in Rally"
|
7
|
+
|
8
|
+
tc_id = ARGV.shift
|
9
|
+
|
10
|
+
Crab::Rally.new do |rally|
|
11
|
+
tc = rally.find_test_case(tc_id)
|
12
|
+
tc.update(sanitize_options(opts))
|
13
|
+
puts "#{tc.story.formatted_id}/#{tc.formatted_id}: #{tc.name} (#{tc.tags.join(" ")})"
|
14
|
+
end
|
data/lib/crab/utilities.rb
CHANGED
@@ -40,5 +40,32 @@ module Crab
|
|
40
40
|
Crab::Story::VALID_STATES[i >= max ? max -1 : i]
|
41
41
|
end
|
42
42
|
|
43
|
+
# TODO REFACTOR testcase related stuff that didn't have a good home
|
44
|
+
def add_or_update_options(banner)
|
45
|
+
Trollop::options do
|
46
|
+
banner banner
|
47
|
+
opt :priority, "Priority (one of: #{Crab::TestCase::PRIORITIES.join(" ")}", :default => "important", :short => '-p'
|
48
|
+
opt :risk, "Risk (one of: #{Crab::TestCase::RISKS.join(" ")})", :default => "medium", :short => '-r'
|
49
|
+
opt :method, "Method (one of: #{Crab::TestCase::METHODS.join(" ")})", :default => "automated", :short => '-m'
|
50
|
+
opt :type, "Type (one of: #{Crab::TestCase::TYPES.join(" ")})", :default => "acceptance", :short => '-t'
|
51
|
+
opt :pre, "Pre-conditions", :default => "N/A"
|
52
|
+
opt :post, "Post-conditions", :default => "N/A"
|
53
|
+
opt :desc, "Description", :default => "N/A", :short => '-d'
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# TODO REFACTOR testcase related stuff that didn't have a good home
|
58
|
+
def sanitize_options(opts, creating=true)
|
59
|
+
result = {}
|
60
|
+
result[:priority] = opts[:priority].capitalize if creating || opts[:priority_given]
|
61
|
+
result[:risk] = opts[:risk].capitalize if creating || opts[:risk_given]
|
62
|
+
result[:method] = opts[:method].capitalize if creating || opts[:method_given]
|
63
|
+
result[:type] = opts[:type].capitalize if creating || opts[:type_given]
|
64
|
+
result[:pre_conditions] = opts[:pre] if creating || opts[:pre_given]
|
65
|
+
result[:post_conditions] = opts[:post] if creating || opts[:post_given]
|
66
|
+
result[:description] = opts[:desc] if creating || opts[:desc_given]
|
67
|
+
result
|
68
|
+
end
|
69
|
+
|
43
70
|
end
|
44
71
|
end
|
data/lib/crab/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Carlos Villela
|
@@ -156,9 +156,12 @@ executables:
|
|
156
156
|
- crab-delete
|
157
157
|
- crab-find
|
158
158
|
- crab-help
|
159
|
+
- crab-list
|
159
160
|
- crab-login
|
161
|
+
- crab-ls
|
160
162
|
- crab-move
|
161
163
|
- crab-mv
|
164
|
+
- crab-new
|
162
165
|
- crab-project
|
163
166
|
- crab-pull
|
164
167
|
- crab-remove
|
@@ -166,6 +169,16 @@ executables:
|
|
166
169
|
- crab-show
|
167
170
|
- crab-tc
|
168
171
|
- crab-testcase
|
172
|
+
- crab-testcase-add
|
173
|
+
- crab-testcase-create
|
174
|
+
- crab-testcase-delete
|
175
|
+
- crab-testcase-help
|
176
|
+
- crab-testcase-list
|
177
|
+
- crab-testcase-ls
|
178
|
+
- crab-testcase-new
|
179
|
+
- crab-testcase-rm
|
180
|
+
- crab-testcase-show
|
181
|
+
- crab-testcase-update
|
169
182
|
- crab-truncate
|
170
183
|
- crab-up
|
171
184
|
- crab-update
|
@@ -188,9 +201,12 @@ files:
|
|
188
201
|
- bin/crab-delete
|
189
202
|
- bin/crab-find
|
190
203
|
- bin/crab-help
|
204
|
+
- bin/crab-list
|
191
205
|
- bin/crab-login
|
206
|
+
- bin/crab-ls
|
192
207
|
- bin/crab-move
|
193
208
|
- bin/crab-mv
|
209
|
+
- bin/crab-new
|
194
210
|
- bin/crab-project
|
195
211
|
- bin/crab-pull
|
196
212
|
- bin/crab-remove
|
@@ -198,6 +214,16 @@ files:
|
|
198
214
|
- bin/crab-show
|
199
215
|
- bin/crab-tc
|
200
216
|
- bin/crab-testcase
|
217
|
+
- bin/crab-testcase-add
|
218
|
+
- bin/crab-testcase-create
|
219
|
+
- bin/crab-testcase-delete
|
220
|
+
- bin/crab-testcase-help
|
221
|
+
- bin/crab-testcase-list
|
222
|
+
- bin/crab-testcase-ls
|
223
|
+
- bin/crab-testcase-new
|
224
|
+
- bin/crab-testcase-rm
|
225
|
+
- bin/crab-testcase-show
|
226
|
+
- bin/crab-testcase-update
|
201
227
|
- bin/crab-truncate
|
202
228
|
- bin/crab-up
|
203
229
|
- bin/crab-update
|