jenkins-maestrodev 0.6.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +7 -0
  2. data/Changelog.md +58 -0
  3. data/Gemfile +3 -0
  4. data/README.md +162 -0
  5. data/Rakefile +110 -0
  6. data/bin/jenkins +9 -0
  7. data/cucumber.yml +8 -0
  8. data/features/build_details.feature +44 -0
  9. data/features/configure.feature +36 -0
  10. data/features/default_host.feature +26 -0
  11. data/features/development.feature +14 -0
  12. data/features/listing_jobs.feature +34 -0
  13. data/features/manage_jobs.feature +263 -0
  14. data/features/manage_slave_nodes.feature +83 -0
  15. data/features/step_definitions/common_steps.rb +192 -0
  16. data/features/step_definitions/fixture_project_steps.rb +8 -0
  17. data/features/step_definitions/jenkins_steps.rb +116 -0
  18. data/features/step_definitions/scm_steps.rb +12 -0
  19. data/features/support/common.rb +37 -0
  20. data/features/support/env.rb +19 -0
  21. data/features/support/hooks.rb +16 -0
  22. data/features/support/jenkins_helpers.rb +6 -0
  23. data/features/support/matchers.rb +10 -0
  24. data/fixtures/jenkins/envfile.hpi +0 -0
  25. data/fixtures/jenkins/git.hpi +0 -0
  26. data/fixtures/jenkins/github.hpi +0 -0
  27. data/fixtures/jenkins/greenballs.hpi +0 -0
  28. data/fixtures/jenkins/rake.hpi +0 -0
  29. data/fixtures/jenkins/ruby.hpi +0 -0
  30. data/fixtures/projects/erlang/rebar.config +1 -0
  31. data/fixtures/projects/non-bundler/Rakefile +4 -0
  32. data/fixtures/projects/rails-3/.gitignore +4 -0
  33. data/fixtures/projects/rails-3/Gemfile +30 -0
  34. data/fixtures/projects/rails-3/Gemfile.lock +74 -0
  35. data/fixtures/projects/rails-3/README +256 -0
  36. data/fixtures/projects/rails-3/Rakefile +7 -0
  37. data/fixtures/projects/rails-3/app/controllers/application_controller.rb +3 -0
  38. data/fixtures/projects/rails-3/app/helpers/application_helper.rb +2 -0
  39. data/fixtures/projects/rails-3/app/views/layouts/application.html.erb +14 -0
  40. data/fixtures/projects/rails-3/config.ru +4 -0
  41. data/fixtures/projects/rails-3/config/application.rb +42 -0
  42. data/fixtures/projects/rails-3/config/boot.rb +13 -0
  43. data/fixtures/projects/rails-3/config/database.yml +22 -0
  44. data/fixtures/projects/rails-3/config/environment.rb +5 -0
  45. data/fixtures/projects/rails-3/config/environments/development.rb +26 -0
  46. data/fixtures/projects/rails-3/config/environments/production.rb +49 -0
  47. data/fixtures/projects/rails-3/config/environments/test.rb +35 -0
  48. data/fixtures/projects/rails-3/config/initializers/backtrace_silencers.rb +7 -0
  49. data/fixtures/projects/rails-3/config/initializers/inflections.rb +10 -0
  50. data/fixtures/projects/rails-3/config/initializers/mime_types.rb +5 -0
  51. data/fixtures/projects/rails-3/config/initializers/secret_token.rb +7 -0
  52. data/fixtures/projects/rails-3/config/initializers/session_store.rb +8 -0
  53. data/fixtures/projects/rails-3/config/locales/en.yml +5 -0
  54. data/fixtures/projects/rails-3/config/routes.rb +58 -0
  55. data/fixtures/projects/rails-3/db/seeds.rb +7 -0
  56. data/fixtures/projects/rails-3/doc/README_FOR_APP +2 -0
  57. data/fixtures/projects/rails-3/lib/tasks/.gitkeep +0 -0
  58. data/fixtures/projects/rails-3/public/404.html +26 -0
  59. data/fixtures/projects/rails-3/public/422.html +26 -0
  60. data/fixtures/projects/rails-3/public/500.html +26 -0
  61. data/fixtures/projects/rails-3/public/favicon.ico +0 -0
  62. data/fixtures/projects/rails-3/public/images/rails.png +0 -0
  63. data/fixtures/projects/rails-3/public/index.html +239 -0
  64. data/fixtures/projects/rails-3/public/javascripts/application.js +2 -0
  65. data/fixtures/projects/rails-3/public/javascripts/controls.js +965 -0
  66. data/fixtures/projects/rails-3/public/javascripts/dragdrop.js +974 -0
  67. data/fixtures/projects/rails-3/public/javascripts/effects.js +1123 -0
  68. data/fixtures/projects/rails-3/public/javascripts/prototype.js +6001 -0
  69. data/fixtures/projects/rails-3/public/javascripts/rails.js +175 -0
  70. data/fixtures/projects/rails-3/public/robots.txt +5 -0
  71. data/fixtures/projects/rails-3/public/stylesheets/.gitkeep +0 -0
  72. data/fixtures/projects/rails-3/script/rails +6 -0
  73. data/fixtures/projects/rails-3/test/performance/browsing_test.rb +9 -0
  74. data/fixtures/projects/rails-3/test/test_helper.rb +13 -0
  75. data/fixtures/projects/rails-3/vendor/plugins/.gitkeep +0 -0
  76. data/fixtures/projects/ruby/Gemfile +3 -0
  77. data/fixtures/projects/ruby/Gemfile.lock +10 -0
  78. data/fixtures/projects/ruby/Rakefile +4 -0
  79. data/jenkins.gemspec +34 -0
  80. data/lib/jenkins.rb +6 -0
  81. data/lib/jenkins/api.rb +312 -0
  82. data/lib/jenkins/cli.rb +361 -0
  83. data/lib/jenkins/cli/formatting.rb +53 -0
  84. data/lib/jenkins/config.rb +27 -0
  85. data/lib/jenkins/core_ext/hash.rb +9 -0
  86. data/lib/jenkins/core_ext/object/blank.rb +77 -0
  87. data/lib/jenkins/hudson-cli.jar +0 -0
  88. data/lib/jenkins/job_config_builder.rb +417 -0
  89. data/lib/jenkins/project_scm.rb +22 -0
  90. data/lib/jenkins/remote.rb +11 -0
  91. data/lib/jenkins/version.rb +3 -0
  92. data/spec/api_spec.rb +67 -0
  93. data/spec/fixtures/ec2_global.config.xml +103 -0
  94. data/spec/fixtures/erlang.single.config.xml +59 -0
  95. data/spec/fixtures/rails.multi.config.xml +82 -0
  96. data/spec/fixtures/rails.single.config.triggers.xml +84 -0
  97. data/spec/fixtures/rails.single.config.xml +80 -0
  98. data/spec/fixtures/ruby.multi-ruby-multi-labels.config.xml +84 -0
  99. data/spec/fixtures/ruby.multi.config.xml +77 -0
  100. data/spec/fixtures/ruby.single.config.xml +58 -0
  101. data/spec/fixtures/ruby.user-defined-axis.config.xml +69 -0
  102. data/spec/fixtures/therubyracer.config.xml +77 -0
  103. data/spec/hash_key_cleaner_spec.rb +25 -0
  104. data/spec/job_config_builder_spec.rb +233 -0
  105. data/spec/spec_helper.rb +15 -0
  106. metadata +291 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8395a89a3f1c2fcf68c4442932198f0df2a3fa92
4
+ data.tar.gz: 07d3c91e1524440ff50f1916a8198ccf713ad8b0
5
+ SHA512:
6
+ metadata.gz: dfa09e1ae6668649a66aa264524a90b497fdc58e91fba174c5de6a016b42d0fc80369b5361966a3f6f4a2443918e0d1f368f3478a599fe8c33f9e304a94427bb
7
+ data.tar.gz: f3af54d792b44ffde391b713d6c9ce7da9146df1f8c70a2b2579484484572b48476fc8e19cee627ee8484b76e1fe5be55e6f662284587b5717bbf44314e0e46f
@@ -0,0 +1,58 @@
1
+ # Changelog
2
+
3
+ ## 0.6.8 - 2011/12/30
4
+
5
+ * re-releasing 0.6.7 which failed to register in RubyGems.org
6
+
7
+ ## 0.6.4 - 2011/04/13
8
+
9
+ * change from json to json_pure
10
+
11
+ ## 0.6.3 - 2011/04/12
12
+
13
+ * fixes for ruby 1.9
14
+
15
+ ## 0.6.2 - 2011/03/17
16
+
17
+ * add `build_details` command for fetching the result of a particular build.
18
+ * add instructions for running with non-english locale
19
+ * remove, fix obsolete gem dependencies
20
+
21
+ ## 0.5.0 - 2010/12/1
22
+
23
+ * hudson warfile no longer bundled with hudson gem
24
+ * rubygem is now 235K instead of 31M!
25
+ * upgrade hudson server and related plugins without requiring a new gem release
26
+ * hudson gem now fully drinks the bundler koolaid.
27
+ * hudson create
28
+ * --node-labels 'ubuntu,gentoo' - run tests against multiple slave nodes by their label
29
+ * --no-template - do not generate any default steps (well, a silly one)
30
+ * hudson add_node
31
+ * --vagrant - provide alternate default values when adding nodes if the node is a Vagrant VM
32
+ * hudson default_host
33
+ * NEW - displays the current default host:port URI
34
+
35
+ ## 0.4.0 - 2010/11/11
36
+
37
+ * hudson create
38
+ * --rubies '1.8.7,1.9.2,rbx-head,jruby' - uses RVM and Hudson's Axes support to run tests within different Ruby environments
39
+ * --scm git://some-alternate.com/repo.git - can override the "origin" URI
40
+ * --scm-branches 'master,other,branches' - specify which branches can be pulled from to trigger tests
41
+
42
+ * hudson job
43
+ * Can dump information/status about a job
44
+
45
+ ## 0.3.1 - 2010/11/8
46
+
47
+ * fixed error in the rails3 template's test for schema.rb
48
+
49
+ ## 0.3.0 - 2010/11/8
50
+
51
+ MAJOR RELEASE!
52
+
53
+ * All new commands for CLI: build, remove, nodes, add_node
54
+ * Updated to Hudson CI 1.381
55
+
56
+ ## 0.2.7 2010/8/25
57
+
58
+ * Updated to Hudson CI 1.373
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
@@ -0,0 +1,162 @@
1
+ Jenkins
2
+ ======
3
+
4
+ [Jenkins CI](http://jenkins-ci.org/) is a sweet continuous integration
5
+ platform. Jenkins.rb makes it easy to get started, add/remove Ruby
6
+ jobs and slave nodes; either from a CLI or an API.
7
+
8
+
9
+ * Email: [http://groups.google.com/group/jenkinsrb](http://groups.google.com/group/jenkinsrb)
10
+ * IRC: [irc://irc.freenode.net/jenkins.rb](irc://irc.freenode.net/jenkins.rb)
11
+ * CI: [http://travis-ci.org/cowboyd/jenkins.rb](http://travis-ci.org/cowboyd/jenkins.rb)
12
+
13
+ Install
14
+ =======
15
+
16
+ gem install jenkins
17
+
18
+ You do not need to download Jenkins CI. It is bundled in the RubyGem.
19
+
20
+ Example
21
+ =======
22
+
23
+ Jenkins.rb is continuously tested using Jenkins at [http://jenkins.thefrontside.net/job/jenkins.rb/](http://jenkins.thefrontside.net/job/jenkins.rb/).
24
+
25
+ The `jenkins` application allows you to see the projects/jobs and their statuses:
26
+
27
+ $ jenkins list --host jenkins.thefrontside.net --port 80
28
+ jenkins.rb - http://jenkins.thefrontside.net/job/jenkins.rb/
29
+ TheRubyRacer - http://jenkins.thefrontside.net/job/TheRubyRacer/
30
+
31
+ Alternately use environment variables:
32
+
33
+ $ JENKINS_HOST=jenkins.thefrontside.net JENKINS_PORT=80 jenkins list
34
+
35
+ Alternately, it will remember the last Jenkins CI master used.
36
+
37
+ $ jenkins list
38
+
39
+ Usage
40
+ =====
41
+
42
+ To run your own Jenkins server (by default opens at http://localhost:3001):
43
+
44
+ Usage: jenkins server [options]
45
+ -p, --port [3001] run jenkins server on this port
46
+ -c, --control [3002] set the shutdown/control port
47
+ --daemon fork into background and run as a daemon
48
+ --logfile [PATH] redirect log messages to this file
49
+ -k, --kill send shutdown signal to control port
50
+ --home [/Users/drnic/.jenkins/server] use this directory to store server data
51
+
52
+ The remaining CLI tasks are for communicating with a running Jenkins server; either the one created above or hosted remotely.
53
+
54
+ ### Jobs
55
+
56
+ To list Jobs/Projects on a Jenkins server:
57
+
58
+ Usage: jenkins list [options]
59
+
60
+ To add Jobs/Projects (create a Job) on a Jenkins server:
61
+
62
+ Usage: jenkins create PROJECT_PATH [options]
63
+ --public-scm use public scm URL
64
+ --template [ruby] template of job steps (available: rails,rails3,ruby,rubygem,erlang)
65
+ --assigned-node [ASSIGNED-NODE] only use slave nodes with this label
66
+ --override override if job exists
67
+ --no-build create job without initial build
68
+
69
+ To trigger a Job to build:
70
+
71
+ Usage: jenkins build
72
+
73
+ To remove a Job from a Jenkins server:
74
+
75
+ Usage: jenkins remove PROJECT_PATH
76
+
77
+ ### Slave nodes
78
+
79
+ To list slaves on a Jenkins server (including itself):
80
+
81
+ Usage: jenkins nodes
82
+
83
+ To add a remote machine/remote VM to a Jenkins server as a slave:
84
+
85
+ Usage: jenkins add_node SLAVE_HOST
86
+ --slave-port [22] SSH port for Jenkins to connect to slave node
87
+ --label [LABEL] Labels for a job --assigned_node to match against to select a slave. --master-key [MASTER-KEY] Location of master public key or identity file
88
+ --slave-fs [SLAVE-FS] Location of file system on slave for Jenkins to use
89
+ --name [NAME] Name of slave node (default SLAVE_HOST)
90
+ --slave-user [deploy] SSH user for Jenkins to connect to slave node
91
+
92
+ ### Selecting a Jenkins CI server
93
+
94
+ **For all client-side commands, there are `--host` and `--port` options flags.** These are cached after first used, so are only required for the first request to a Jenkins CI server. For example:
95
+
96
+ jenkins create . --host localhost --port 3001
97
+ jenkins list
98
+ jenkins create . --override
99
+
100
+ Alternately, `$JENKINS_HOST` and `$JENKINS_PORT` can be provided in lieu of the cached target Jenkins CI server
101
+
102
+ JENKINS_HOST=localhost JENKINS_PORT=3001 jenkins list
103
+
104
+
105
+ Developer Instructions
106
+ ======================
107
+
108
+ The dependencies for the gem and for developing the gem are managed by Bundler.
109
+
110
+ gem install bundler
111
+ git clone http://github.com/cowboyd/jenkins.rb.git
112
+ bundle install
113
+
114
+ The test suites expects Jenkins to speak English. If you are not using an
115
+ English locale prepare the terminal session running the test suite with:
116
+
117
+ export LC_ALL=en_US.UTF-8
118
+
119
+ The test suite is run with:
120
+
121
+ rake
122
+
123
+ This launches a Jenkins server, runs cucumber features, and kills the Jenkins server.
124
+
125
+ Alternately, manually launch the Jenkins server, run features and close the Jenkins server:
126
+
127
+ rake jenkins:server:test
128
+ rake cucumber:ok
129
+ rake jenkins:server:killtest
130
+
131
+ Contributors
132
+ ============
133
+
134
+ * Charles Lowell
135
+ * Dr Nic Williams
136
+ * Bo Jeanes
137
+
138
+ License
139
+ =======
140
+
141
+ (The MIT License)
142
+
143
+ Copyright (c) 2010 Charles Lowell, cowboyd@thefrontside.net
144
+
145
+ Permission is hereby granted, free of charge, to any person obtaining
146
+ a copy of this software and associated documentation files (the
147
+ 'Software'), to deal in the Software without restriction, including
148
+ without limitation the rights to use, copy, modify, merge, publish,
149
+ distribute, sublicense, and/or sell copies of the Software, and to
150
+ permit persons to whom the Software is furnished to do so, subject to
151
+ the following conditions:
152
+
153
+ The above copyright notice and this permission notice shall be
154
+ included in all copies or substantial portions of the Software.
155
+
156
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
157
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
158
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
159
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
160
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
161
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
162
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,110 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require "rspec/core/rake_task"
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ namespace :cucumber do
8
+ require 'cucumber/rake/task'
9
+ Cucumber::Rake::Task.new(:wip, 'Run features that are being worked on') do |t|
10
+ t.cucumber_opts = "--tags @wip"
11
+ end
12
+ Cucumber::Rake::Task.new(:ok, 'Run features that should be working') do |t|
13
+ t.cucumber_opts = "--tags ~@wip --tags ~@jenkins-server"
14
+ end
15
+ Cucumber::Rake::Task.new(:server, 'Run features that require a running server') do |t|
16
+ t.cucumber_opts = "--tags ~@wip --tags @jenkins-server"
17
+ end
18
+ task :all => [:ok, :wip]
19
+ end
20
+
21
+ desc 'Alias for cucumber:ok'
22
+ task :cucumber => 'cucumber:ok'
23
+
24
+ desc "Start test server; Run cucumber:ok; Kill Test Server;"
25
+ task :default => [:spec, "jenkins:server:killtest", "jenkins:server:test"] do
26
+ begin
27
+ result = Rake::Task["cucumber:ok"].invoke
28
+ ensure
29
+ Rake::Task["jenkins:server:killtest"].execute
30
+ end
31
+ raise unless result
32
+ end
33
+
34
+ # This verifies that Jenkins is started
35
+ # and that it is ready to accept requests.
36
+ def wait_for_server_start
37
+ require 'socket'
38
+ require 'net/http'
39
+ tries = 1
40
+ max_tries = 30
41
+ successes = 0
42
+ max_successes = 2
43
+ wait = 5
44
+ print "Waiting for the server to start (max tries: #{max_tries} with a #{wait} second pause between tries): "
45
+ begin
46
+ while tries <= max_tries
47
+ tries += 1
48
+ begin
49
+ Net::HTTP.start("localhost", "3010") do |http|
50
+ response = http.get('/')
51
+ if response.code == "200"
52
+ print "O"
53
+ successes += 1
54
+ return true if successes >= max_successes
55
+ else
56
+ print "o"
57
+ end
58
+ end
59
+ rescue SystemCallError => e
60
+ successes = 0
61
+ if tries == max_tries
62
+ print "!"
63
+ raise
64
+ end
65
+ print "."
66
+ end
67
+ $stdout.flush
68
+ sleep(wait)
69
+ end
70
+ ensure
71
+ puts # Ensure a newline gets added
72
+ $stdout.flush
73
+ end
74
+ return false
75
+ end
76
+
77
+ namespace :jenkins do
78
+ namespace :server do
79
+ require 'fileutils'
80
+
81
+ port = 3010
82
+ control = 3011
83
+ directory plugin_dir = File.expand_path("../var/jenkins/plugins", __FILE__)
84
+
85
+ desc "Run a server for tests"
86
+ task :test => plugin_dir do
87
+ FileUtils.chdir(File.dirname(__FILE__)) do
88
+ Dir["fixtures/jenkins/*.hpi"].each do |plugin|
89
+ FileUtils.cp plugin, plugin_dir
90
+ end
91
+ logfile = File.expand_path("../var/jenkins/test.log", __FILE__)
92
+ puts "Launching jenkins test server at http://localhost:#{port}..."
93
+ puts " output will be logged to #{logfile}"
94
+ `bundle exec bin/jenkins server --home #{File.dirname(plugin_dir)} --port #{port} --control #{control} --daemon --logfile #{logfile}`
95
+ end
96
+ wait_for_server_start
97
+ end
98
+
99
+ desc "Kill jenkins test server if it is running."
100
+ task :killtest do
101
+ FileUtils.chdir(File.dirname(__FILE__)) do
102
+ puts "Killing any running server processes..."
103
+ `ruby bin/jenkins server --control #{control} --kill 2>/dev/null`
104
+ end
105
+ end
106
+
107
+ end
108
+ end
109
+
110
+ Dir['tasks/**/*.rake'].each {|f| load f}
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ require 'jenkins'
3
+ require 'jenkins/cli'
4
+
5
+ begin
6
+ Jenkins::CLI.start
7
+ rescue Errno::ECONNREFUSED, Errno::EAFNOSUPPORT
8
+ Jenkins::CLI.new.shell.say "No connection available to the server.", :red
9
+ end
@@ -0,0 +1,8 @@
1
+ <%
2
+ rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
5
+ %>
6
+ default: --drb <%= std_opts %> features
7
+ wip: --drb --tags @wip:3 --wip features
8
+ rerun: --drb <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
@@ -0,0 +1,44 @@
1
+ Feature: Show build details
2
+ I want to see details about a particular build for a job I'm interested in
3
+
4
+ Scenario: Show build details for a job on a non-existent server (jenkins build_details)
5
+ When I run local executable "jenkins" with arguments "build_details ruby 1 --host localhost --port 9999"
6
+ Then I should see exactly
7
+ """
8
+ No connection available to the server.
9
+ """
10
+
11
+ @jenkins-server
12
+ Scenario: Show build details for a non-existent job (jenkins build_details)
13
+ Given I have a Jenkins server running
14
+ And the Jenkins server has no current jobs
15
+ When I run local executable "jenkins" with arguments "build_details ruby 1 --host localhost --port 3010"
16
+ Then I should see exactly
17
+ """
18
+ ERROR: Cannot find project 'ruby'.
19
+ """
20
+
21
+ @jenkins-server
22
+ Scenario: Show build details for a job (jenkins build_details)
23
+ Given I have a Jenkins server running
24
+ And the Jenkins server has no current jobs
25
+ And I am in the "ruby" project folder
26
+ And the project uses "git" scm
27
+ When I run local executable "jenkins" with arguments "create . --host localhost --port 3010"
28
+ When I run local executable "jenkins" with arguments "build"
29
+ When I wait for ruby build 1 to start
30
+ When I run local executable "jenkins" with arguments "build_details ruby 1 --host localhost --port 3010 --json"
31
+ Then I should see
32
+ """
33
+ "number":1
34
+ """
35
+ And I should see
36
+ """
37
+ "actions":[
38
+ """
39
+ And I should see
40
+ """
41
+ "changeSet":{
42
+ """
43
+
44
+
@@ -0,0 +1,36 @@
1
+ Feature: Configure host connection information
2
+
3
+ Scenario: Configure host connection information and check default host and reconfigure
4
+ Given I run local executable "jenkins" with arguments "configure --host localhost --port 3010"
5
+ When I run local executable "jenkins" with arguments "default_host"
6
+ Then I should see exactly
7
+ """
8
+ http://localhost:3010
9
+ """
10
+ Given I run local executable "jenkins" with arguments "configure --host localhost --port 3010 --ssl"
11
+ When I run local executable "jenkins" with arguments "default_host"
12
+ Then I should see exactly
13
+ """
14
+ https://localhost:3010
15
+ """
16
+
17
+ Scenario: Configure host connection authentication information and check auth_info and reconfigure
18
+ Given I run local executable "jenkins" with arguments "auth_info"
19
+ Then I should see exactly
20
+ """
21
+ """
22
+ When I run local executable "jenkins" with arguments "configure --username jenkins --password sniknej"
23
+ And I run local executable "jenkins" with arguments "auth_info"
24
+ Then I should see exactly
25
+ """
26
+ username: jenkins
27
+ password: sniknej
28
+ """
29
+ When I run local executable "jenkins" with arguments "configure --username jenkins1 --password 1sniknej"
30
+ And I run local executable "jenkins" with arguments "auth_info"
31
+ Then I should see exactly
32
+ """
33
+ username: jenkins1
34
+ password: 1sniknej
35
+ """
36
+