rubyjobbuilderdsl 0.0.1 → 0.0.2
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/lib/rubyjobbuilderdsl/postbuild/cucumber_json_publisher.rb +20 -0
- data/lib/rubyjobbuilderdsl/postbuild.rb +7 -0
- data/lib/rubyjobbuilderdsl/xml_generator.rb +9 -0
- data/rubyjobbuilderdsl-0.0.1.gem +0 -0
- data/rubyjobbuilderdsl.gemspec +2 -2
- data/test/test_cucumber_json_publisher.rb +71 -0
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 05072639c80e948ce5e1053b87ff7a258b5e58f5
|
|
4
|
+
data.tar.gz: bab165330d687fb8c1db43b5782b8eae7f6bee06
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: befedbce30b57352b1a84c32e67826383f3efa835c92bd07d8c5052a0dbd96dd6cd88f88e9c0d277a34f7052785461419f1bcd1c1a3d9133cf49436077da6bad
|
|
7
|
+
data.tar.gz: 2d42861a395233ac4595d12ea5c02fd8528d01b1b300de844453d8ef434896a4886675d3ca92be54e0b52b01bd19ff7deb4f0fd6cf748a1b2b5195af417e86a3
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module JenkinsJob
|
|
2
|
+
module Postbuild
|
|
3
|
+
class CucumberJsonPublisher < BasicObject
|
|
4
|
+
attr_reader :test_results_, :ignore_bad_tests_
|
|
5
|
+
|
|
6
|
+
def initialize
|
|
7
|
+
@test_results_ = 'results.json'
|
|
8
|
+
@ignore_bad_tests_ = false
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_results(value)
|
|
12
|
+
@test_results_ = value
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def ignore_bad_tests(value)
|
|
16
|
+
@ignore_bad_tests_ = value
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -14,6 +14,7 @@ require_relative 'postbuild/game_publisher'
|
|
|
14
14
|
require_relative 'postbuild/script'
|
|
15
15
|
require_relative 'postbuild/trigger'
|
|
16
16
|
require_relative 'postbuild/groovy'
|
|
17
|
+
require_relative 'postbuild/cucumber_json_publisher'
|
|
17
18
|
require_relative 'buildstep/shell'
|
|
18
19
|
|
|
19
20
|
# dsl methods for job builder
|
|
@@ -111,6 +112,12 @@ module JenkinsJob
|
|
|
111
112
|
@publishers_['clover-php'] = clover
|
|
112
113
|
end
|
|
113
114
|
|
|
115
|
+
def cucumber_json_publisher(&block)
|
|
116
|
+
cucumber = CucumberJsonPublisher.new
|
|
117
|
+
cucumber.instance_eval(&block) if block
|
|
118
|
+
@publishers_['cucumber'] = cucumber
|
|
119
|
+
end
|
|
120
|
+
|
|
114
121
|
def publish_javadoc(&block)
|
|
115
122
|
doc = JavaDocPublisher.new
|
|
116
123
|
doc.instance_eval(&block) if block
|
|
@@ -42,6 +42,7 @@ module JenkinsJob
|
|
|
42
42
|
Postbuild::NUnitPublisher => lambda { |generator, model, xml_node| generator.generate_nunit_publisher(model, xml_node) },
|
|
43
43
|
Postbuild::XUnitPublisher => lambda { |generator, model, xml_node| generator.generate_xunit_publisher(model, xml_node) },
|
|
44
44
|
Postbuild::HtmlPublisher => lambda { |generator, model, xml_node| generator.generate_html_publisher(model, xml_node) },
|
|
45
|
+
Postbuild::CucumberJsonPublisher => lambda { |generator, model, xml_node| generator.generate_cucumber_publisher(model, xml_node) },
|
|
45
46
|
Postbuild::LogParser => lambda { |generator, model, xml_node| generator.generate_logparser(model, xml_node) },
|
|
46
47
|
Postbuild::PostbuildScript => lambda { |generator, model, xml_node| generator.generate_postbuild_script(model, xml_node) },
|
|
47
48
|
Postbuild::PostbuildGroovy => lambda { |generator, model, xml_node| generator.generate_postbuild_groovy(model, xml_node) },
|
|
@@ -680,6 +681,14 @@ module JenkinsJob
|
|
|
680
681
|
end
|
|
681
682
|
end
|
|
682
683
|
|
|
684
|
+
def generate_cucumber_publisher(model, publishers)
|
|
685
|
+
publishers.tag!(
|
|
686
|
+
'org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultArchiver',
|
|
687
|
+
:plugin => 'cucumber-testresult-plugin@0.8.2') do |cucumber|
|
|
688
|
+
cucumber.testResults(model.test_results_)
|
|
689
|
+
cucumber.ignoreBadSteps(model.ignore_bad_tests_)
|
|
690
|
+
end
|
|
691
|
+
end
|
|
683
692
|
def generate_logparser(model, publishers)
|
|
684
693
|
publishers.tag!('hudson.plugins.logparser.LogParserPublisher') do |logparser|
|
|
685
694
|
logparser.unstableOnWarning(model.unstable_on_warning_)
|
|
Binary file
|
data/rubyjobbuilderdsl.gemspec
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'rubyjobbuilderdsl'
|
|
3
|
-
s.version = '0.0.
|
|
4
|
-
s.date = '2015-11-
|
|
3
|
+
s.version = '0.0.2'
|
|
4
|
+
s.date = '2015-11-25'
|
|
5
5
|
s.summary = 'Ruby Internal DSL for creating Jenkins jobs'
|
|
6
6
|
s.description = 'Ruby Internal DSL for creating Jenkins jobs'
|
|
7
7
|
s.authors = ['Huy Le']
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require_relative './test_xml_generator'
|
|
2
|
+
|
|
3
|
+
class TestCucumberPublisher < Test::Unit::TestCase
|
|
4
|
+
def test_postbuild_cucumber_json_publisher
|
|
5
|
+
file_location = 'cucumber/results.json'
|
|
6
|
+
ignore_bad_results = 'false'
|
|
7
|
+
|
|
8
|
+
builder = JenkinsJob::Builder.new
|
|
9
|
+
|
|
10
|
+
builder.freestyle 'foo' do
|
|
11
|
+
postbuild do
|
|
12
|
+
cucumber_json_publisher do
|
|
13
|
+
test_results file_location
|
|
14
|
+
ignore_bad_tests ignore_bad_results
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
actual = builder.config_as_xml_node('foo')
|
|
20
|
+
|
|
21
|
+
{
|
|
22
|
+
'testResults' => file_location,
|
|
23
|
+
'ignoreBadSteps' => ignore_bad_results,
|
|
24
|
+
}.each do |k, v|
|
|
25
|
+
path = ['./project/publishers/org.jenkinsci.plugins.cucumber.',
|
|
26
|
+
"jsontestsupport.CucumberTestResultArchiver/#{k}"].join('')
|
|
27
|
+
assert_equal v, actual.xpath(path).text
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_selenium_job
|
|
32
|
+
|
|
33
|
+
builder = JenkinsJob::Builder.new
|
|
34
|
+
|
|
35
|
+
builder.freestyle 'foo' do
|
|
36
|
+
node 'master'
|
|
37
|
+
|
|
38
|
+
parameter 'TEST_ENV' do
|
|
39
|
+
description 'The environment that the cucumber tests will be run against'
|
|
40
|
+
default 'PreRelease'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
git do
|
|
44
|
+
url 'git@github.com:ServiceFrame/webtests.git'
|
|
45
|
+
basedir 'webtests'
|
|
46
|
+
branches 'master'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
pollscm 'H/30 * * * *'
|
|
50
|
+
|
|
51
|
+
xvfb do
|
|
52
|
+
install_name 'Xvfb'
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
shell 'cd webtests && cucumber'
|
|
56
|
+
|
|
57
|
+
postbuild do
|
|
58
|
+
cucumber_json_publisher do
|
|
59
|
+
test_results 'cucumber/results.json'
|
|
60
|
+
ignore_bad_tests false
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
actual = builder.config_as_xml_node('foo')
|
|
67
|
+
|
|
68
|
+
puts actual
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubyjobbuilderdsl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Huy Le
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-11-
|
|
11
|
+
date: 2015-11-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
@@ -91,6 +91,7 @@ files:
|
|
|
91
91
|
- lib/rubyjobbuilderdsl/postbuild/chucknorris_publisher.rb
|
|
92
92
|
- lib/rubyjobbuilderdsl/postbuild/claim_publisher.rb
|
|
93
93
|
- lib/rubyjobbuilderdsl/postbuild/cloverphp_publisher.rb
|
|
94
|
+
- lib/rubyjobbuilderdsl/postbuild/cucumber_json_publisher.rb
|
|
94
95
|
- lib/rubyjobbuilderdsl/postbuild/email_publisher.rb
|
|
95
96
|
- lib/rubyjobbuilderdsl/postbuild/game_publisher.rb
|
|
96
97
|
- lib/rubyjobbuilderdsl/postbuild/groovy.rb
|
|
@@ -106,6 +107,7 @@ files:
|
|
|
106
107
|
- lib/rubyjobbuilderdsl/view.rb
|
|
107
108
|
- lib/rubyjobbuilderdsl/xml_generator.rb
|
|
108
109
|
- rubyjobbuilderdsl-0.0.0.gem
|
|
110
|
+
- rubyjobbuilderdsl-0.0.1.gem
|
|
109
111
|
- rubyjobbuilderdsl.gemspec
|
|
110
112
|
- rubyjobbuilderdsl.sublime-project
|
|
111
113
|
- run_tests.sh
|
|
@@ -120,6 +122,7 @@ files:
|
|
|
120
122
|
- test/test_cloverphp.rb
|
|
121
123
|
- test/test_concurrent.rb
|
|
122
124
|
- test/test_copyartifact.rb
|
|
125
|
+
- test/test_cucumber_json_publisher.rb
|
|
123
126
|
- test/test_default_setting.rb
|
|
124
127
|
- test/test_email_publisher.rb
|
|
125
128
|
- test/test_flow.rb
|