test-drive 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 644429aeb996aee47001f1482d69bd2d2525e8c4
4
- data.tar.gz: ed6e9ef412dab30fa02b29a27c5f8cfc5855e9d5
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ YmM4YjM0ZmQyMDFmNzk2MDUyNzcwNzllYjdiZjAzODc4OTEyMWFiMg==
5
+ data.tar.gz: !binary |-
6
+ ZmI0M2QyZWIwOWUzNmU4MDU1ODBkNDIyODI5Y2I3OTNkNzM5OTczOA==
5
7
  SHA512:
6
- metadata.gz: 85b2a6435307578cbad6f17ec584e2b5db253dfa226350c90af3864c9d98ff6dda5993194fba3684c989dc130945f1400984bdb3ebd0692b0de402f87b8b5544
7
- data.tar.gz: 7efea286c1fad821d73e207547aa835b762a93f9c413de0b957abef71990d6ef4c792e79ca880181dfe6142a6211d163ab985fcbf1decccf4405c1cbde37581f
8
+ metadata.gz: !binary |-
9
+ MzQwNGFhNjAzMzY3NTI5MWU3MzkxOTY4NjkxMzU4NjdlZGYxNjVkOGM4Y2Rl
10
+ MzQ3Mjc4MWI5ZDRiMGYyNWVlYTkyNDM3OWFlM2VhOGMzYzJlNGE4ZWVlNTc2
11
+ N2U1ZWMyMGJiYmMzMTJiNWM2ZTgyODNjODE3NmIwNTllMTU1NGU=
12
+ data.tar.gz: !binary |-
13
+ YTExZTAzOGVjZjNkYWMyZTliMTY4ZmY5ZTE4NzgzYjk5ZDNkMjQ2MTM2MWU0
14
+ Nzc4NmYwNTRhOGRjZTRhNDVjNzBjMzZhZWFhYzQwYTM5ZmQxNzdkNTVkMzM4
15
+ NWNlMjY2MmZlMGU3ODg4Y2RjYTIzYzkxZjg2YjAzZTM4MDliNGY=
data/.gitignore CHANGED
@@ -14,4 +14,6 @@
14
14
  mkmf.log
15
15
  .idea/
16
16
  *.iml
17
- .DS_Store
17
+ .DS_Store
18
+ *.html
19
+
@@ -1,5 +1,4 @@
1
1
  language: ruby
2
2
  cache: bundler
3
-
4
3
  rvm:
5
- - 2.0.0
4
+ - 2.1.1
data/Gemfile CHANGED
@@ -1,6 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem "codeclimate-test-reporter", group: :test, require: nil
4
-
5
3
  # Specify your gem's dependencies in test.gemspec
6
4
  gemspec
data/README.md CHANGED
@@ -4,15 +4,15 @@
4
4
  [![Build Status](http://img.shields.io/travis/amplify-education/test-drive.svg)][travis]
5
5
  [![Dependency Status](http://img.shields.io/gemnasium/amplify-education/test-drive.svg)][gemnasium]
6
6
  [![Code Climate](http://img.shields.io/codeclimate/github/amplify-education/test-drive/badges/gpa.svg)][codeclimate]
7
- [![Test Coverage](https://codeclimate.com/github/amplify-education/test-drive/badges/coverage.svg)][testcoverage]
7
+ [![Coverage Status](https://coveralls.io/repos/amplify-education/test-drive/badge.svg)][testcoverage]
8
8
 
9
9
  [gem]: https://rubygems.org/gems/test-drive
10
10
  [travis]: http://travis-ci.org/amplify-education/test-drive
11
11
  [gemnasium]: https://gemnasium.com/amplify-education/test-drive
12
12
  [codeclimate]: https://codeclimate.com/github/amplify-education/test-drive
13
- [testcoverage]: https://codeclimate.com/github/amplify-education/test-drive
13
+ [testcoverage]: https://coveralls.io/r/amplify-education/test-drive
14
14
 
15
- A simple command-line tool for running a Jenkins test job before pushing code to the remote repo
15
+ A simple command-line tool for running a Jenkins test job before pushing code to a remote repo
16
16
 
17
17
  ## Installation
18
18
 
@@ -20,32 +20,58 @@ A simple command-line tool for running a Jenkins test job before pushing code to
20
20
 
21
21
  ## Usage
22
22
 
23
- $ test-drive --help
24
- Usage: test-drive [options] jenkins_url user api_key
23
+ $ test-drive -h
25
24
 
26
- A simple command-line tool for running a Jenkins test job before pushing code to the remote repo
25
+ Usage: test-drive [options]
27
26
 
28
- v0.0.1
27
+ A simple command-line tool for running a Jenkins test job before pushing code to a remote repo
28
+
29
+ v0.0.3
29
30
 
30
31
  Options:
31
32
  -h, --help Show command line help
32
- -f, --file PATCH_FILE Path to patch file
33
- (default: patch)
34
- -j, --target-job TARGET_JOB Jenkins job to be triggered
35
- (default: TestDrive)
33
+ -s, --server JENKINS_URL URL for the Jenkins server
34
+ -u, --user USER Jenkins user ID
35
+ -p, --password API_KEY Jenkins password or API token
36
+ -j, --job TARGET_JOB Jenkins job to be triggered
37
+ -n, --[no-]push Option to enable (or suppress) pushing to the remote repo
36
38
  --version Show help/version info
37
39
  --log-level LEVEL Set the logging level
38
40
  (debug|info|warn|error|fatal)
39
41
  (Default: info)
40
42
 
41
- Arguments:
42
-
43
- jenkins_url
44
- URL for the Jenkins server
45
- user
46
- Jenkins user ID
47
- api_key
48
- Jenkins API token
43
+ Default values can be placed in ~/.test-drive.yml
44
+
45
+ ## Jenkins Config
46
+
47
+ This app assumes that you have a Jenkins job already configured as follows:
48
+
49
+ * It takes a file parameter called 'patch'
50
+ * It pulls or your source code from origin/master and executes a shell command that runs
51
+
52
+
53
+ echo "" >> ${WORKSPACE}/patch
54
+ git apply ${WORKSPACE}/patch
55
+
56
+ * It then executes your desired test suite and runs
57
+
58
+
59
+ git apply --reverse ${WORKSPACE}/patch
60
+
61
+ to teardown (optional but recommended)
62
+
63
+ ## Local Config
64
+
65
+ On first run, you will have the option of saving your Jenkins credentials to a config
66
+ file at `~/.test-drive.yml`. This file may be edited to include any of the allowed
67
+ options as defaults.
68
+
69
+ ---
70
+ server: https://jenkins.your_org.com/
71
+ user: user@your_org.com
72
+ password: xxxxxxxxxxxxxxxxxxxxxxxxx
73
+ job: YourDefaultJob
74
+ push: false
49
75
 
50
76
  ## Contributing
51
77
 
data/Rakefile CHANGED
@@ -35,6 +35,7 @@ end
35
35
 
36
36
  require 'cucumber'
37
37
  require 'cucumber/rake/task'
38
+ require 'coveralls/rake/task'
38
39
  gem 'rdoc' # we need the installed RDoc gem, not the system one
39
40
  require 'rdoc/task'
40
41
 
@@ -42,6 +43,7 @@ include Rake::DSL
42
43
 
43
44
  Bundler::GemHelper.install_tasks
44
45
 
46
+ Coveralls::RakeTask.new
45
47
 
46
48
  RSpec::Core::RakeTask.new do |t|
47
49
  # Put spec opts in a file named .rspec in root
@@ -51,15 +53,14 @@ CUKE_RESULTS = 'results.html'
51
53
  CLEAN << CUKE_RESULTS
52
54
  Cucumber::Rake::Task.new(:features) do |t|
53
55
  t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty --no-source -x"
54
- t.fork = false
55
56
  end
56
57
 
57
58
  Rake::RDocTask.new do |rd|
58
-
59
+
59
60
  rd.main = "README.rdoc"
60
-
61
+
61
62
  rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
62
63
  end
63
64
 
64
- task :default => [:spec,:features]
65
+ task :default => [:spec, :features, 'coveralls:push']
65
66
 
@@ -4,6 +4,8 @@ require 'optparse'
4
4
  require 'methadone'
5
5
  require 'uuidtools'
6
6
  require 'test/drive'
7
+ require 'highline/import'
8
+ require 'yaml'
7
9
 
8
10
  class App
9
11
  include Methadone::Main
@@ -13,22 +15,27 @@ class App
13
15
  extend Test::Drive::GitHelper
14
16
 
15
17
 
16
- main do |jenkins_url, user, api_key|
18
+ main do
19
+ @server_url = options[:server] ||= ask('Jenkins URL: ')
20
+ @user = options[:user] ||= ask('Jenkins User ID: ')
21
+ @api_key = options[:password] ||= ask('Jenkins Password/API Token: ')
22
+ @target_job = options[:job] ||= ask('Jenkins job to trigger: ')
17
23
 
18
24
 
19
- @jenkins_url = jenkins_url
20
- @user = user
21
- @api_key = api_key
22
- @target_job = options['target-job']
25
+ config_file = File.expand_path('.test-drive.yml', ENV['HOME'])
26
+ if !File.exists?(config_file) && agree('Save these credentials as default values? ', true)
27
+ File.open(config_file, 'w') { |file| YAML.dump(options, file) }
28
+ end
23
29
 
24
- @client = JenkinsClient.new @jenkins_url, @user, @api_key
30
+ @client = JenkinsClient.new @server_url, @user, @api_key
31
+ @patch_file = 'patch'
25
32
 
26
- create_patch options['file']
27
- debug File.readlines File.open options['file']
33
+ create_patch @patch_file
34
+ debug File.readlines File.open @patch_file
28
35
 
29
36
  tracking_id = UUIDTools::UUID.random_create.to_s
30
37
  id_param = {'name' => 'TRACKING_ID', 'value' => tracking_id}
31
- @client.upload_file_to_job(@target_job, tracking_id, options[:file])
38
+ @client.upload_file_to_job(@target_job, tracking_id, @patch_file)
32
39
 
33
40
  build_number = @client.get_build_number(@target_job, id_param, 120)
34
41
 
@@ -36,24 +43,21 @@ class App
36
43
  result = @client.wait_for_job_status(@target_job, build_number)
37
44
 
38
45
  print_result(result)
39
- git_push if result == 'SUCCESS' || result == 'UNSTABLE'
46
+ git_push if ['SUCCESS', 'UNSTABLE'].include? result && options[:push]
40
47
 
41
- delete_patch options['file']
48
+ delete_patch @patch_file
42
49
  end
43
50
 
51
+ defaults_from_config_file '.test-drive.yml'
44
52
 
45
- arg :jenkins_url, 'URL for the Jenkins server'
46
- arg :user, 'Jenkins user ID'
47
- arg :api_key, 'Jenkins API token'
53
+ on '-s JENKINS_URL', '--server', 'URL for the Jenkins server'
54
+ on '-u USER', '--user', 'Jenkins user ID'
55
+ on '-p API_KEY', '--password', 'Jenkins password or API token'
56
+ on '-j TARGET_JOB', '--job', 'Jenkins job to be triggered'
57
+ on '-n', '--[no-]push', 'Option to enable (or suppress) pushing to the remote repo'
48
58
 
49
- options['file'] = 'patch'
50
- on '-f PATCH_FILE', '--file', 'Path to patch file'
51
59
 
52
- options['target-job'] = 'TestDrive'
53
- on '-j TARGET_JOB', '--target-job', 'Jenkins job to be triggered'
54
-
55
-
56
- description 'A simple command-line tool for running a Jenkins test job before pushing code to the remote repo'
60
+ description 'A simple command-line tool for running a Jenkins test job before pushing code to a remote repo'
57
61
 
58
62
  version Test::Drive::VERSION
59
63
 
@@ -1,8 +1,10 @@
1
1
  require 'aruba/cucumber'
2
2
  require 'methadone/cucumber'
3
+ require 'coveralls'
3
4
 
4
5
  ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
5
6
  LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
7
+ Coveralls.wear_merged!
6
8
 
7
9
  Before do
8
10
  # Using "announce" causes massive warnings on 1.9.2
@@ -11,11 +11,9 @@ Feature: My bootstrapped app kinda works
11
11
  And the banner should document that this app takes options
12
12
  And the following options should be documented:
13
13
  |--version |
14
- |--target-job |
15
- |--file |
14
+ |--job |
16
15
  |--log-level |
17
-
18
- And the banner should document that this app's arguments are:
19
- |jenkins_url|which_is_required|
20
- |user |which_is_required|
21
- |api_key |which_is_required|
16
+ |--server |
17
+ |--user |
18
+ |--password |
19
+ |--[no-]push |
@@ -9,7 +9,7 @@ module Test
9
9
  def create_patch filename
10
10
  sh 'git pull --rebase'
11
11
 
12
- res = sh 'git diff --binary origin' do |stdout|
12
+ res = sh 'git diff --binary origin/master' do |stdout|
13
13
  File.open(filename, 'w') { |f| f.write stdout }
14
14
  end
15
15
 
@@ -19,11 +19,11 @@ module Test
19
19
  end
20
20
 
21
21
  def delete_patch filename
22
- sh "rm #{filename}"
22
+ File.delete filename
23
23
  end
24
24
 
25
25
  def git_push
26
- sh 'git push origin master'
26
+ sh 'git push origin'
27
27
  end
28
28
  end
29
29
  end
@@ -6,7 +6,7 @@ module Test
6
6
  attr_accessor :client
7
7
 
8
8
  def initialize jenkins_url, user, api_key
9
- @jenkins_url = jenkins_url
9
+ @server_url = jenkins_url
10
10
  @user = user
11
11
  @api_key = api_key
12
12
 
@@ -27,7 +27,7 @@ module Test
27
27
  raise 'Build number not found within the time specified!'
28
28
  end
29
29
 
30
- def print_output(build_number, target_job)
30
+ def print_output(build_number, target_job, sleep_interval=5)
31
31
  offset = 0
32
32
  loop do
33
33
  job_output = @client.job.get_console_output(target_job, build_number, offset)
@@ -36,6 +36,7 @@ module Test
36
36
  break unless job_output['more']
37
37
 
38
38
  offset = job_output['size']
39
+ sleep sleep_interval
39
40
  end
40
41
  end
41
42
 
@@ -48,7 +49,7 @@ module Test
48
49
  end
49
50
 
50
51
  def upload_file_to_job(target_job, tracking_id, path_to_file)
51
- res = `curl -i #{@jenkins_url}/job/#{target_job}/build -F file0=@#{path_to_file} -F json='{"parameter": [{"name":"#{path_to_file}", "file":"file0"}, {"name":"TRACKING_ID", "value":"#{tracking_id}"}]}' --user '#{@user}':'#{@api_key}'`
52
+ res = `curl -i #{@server_url}/job/#{target_job}/build -F file0=@#{path_to_file} -F json='{"parameter": [{"name":"#{path_to_file}", "file":"file0"}, {"name":"TRACKING_ID", "value":"#{tracking_id}"}]}' --user '#{@user}':'#{@api_key}'`
52
53
  raise "Failed to send patch to Jenkins: \n#{res}" unless $? == 0
53
54
  end
54
55
  end
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Drive
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
@@ -0,0 +1,5 @@
1
+ {
2
+ "output" : "Test Console Output\r\nStarted by user Test User\r\n",
3
+ "size" : "1000",
4
+ "more" : true
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "output" : "Finished: SUCCESS\r\n",
3
+ "size" : "2000",
4
+ "more" : null
5
+ }
@@ -1,4 +1,4 @@
1
- require 'test/drive'
1
+ require 'spec_helper'
2
2
  include Test::Drive::GitHelper
3
3
 
4
4
  describe 'GitHelper' do
@@ -8,4 +8,15 @@ describe 'GitHelper' do
8
8
  expect { create_patch "temp-patch" }.to raise_error IOError
9
9
  end
10
10
  end
11
- end
11
+
12
+ describe '#delete_patch' do
13
+ it 'deletes the patch file' do
14
+ filename = 'tmpfile'
15
+ File.new filename, 'w'
16
+ expect(File).to exist filename
17
+
18
+ delete_patch filename
19
+ expect(File).not_to exist filename
20
+ end
21
+ end
22
+ end
@@ -1,12 +1,18 @@
1
- require 'test/drive'
1
+ require 'spec_helper'
2
2
  require 'json'
3
3
  include Test::Drive
4
4
 
5
5
  describe 'JenkinsClient' do
6
+
7
+ build_details = JSON.parse(File.read 'spec/fixtures/build_details.json')
8
+ output1 = JSON.parse(File.read 'spec/fixtures/console_output1.json')
9
+ output2 = JSON.parse(File.read 'spec/fixtures/console_output2.json')
10
+
6
11
  let(:test_client) {
7
12
  test_client = JenkinsClient.new '0.0.0.0', 'user', 'api_key'
8
13
  test_client.client = instance_double JenkinsApi::Client, job: double(JenkinsApi::Client::Job)
9
- allow(test_client.client.job).to receive(:get_build_details).and_return(JSON.parse(File.read 'spec/fixtures/build_details.json'))
14
+ allow(test_client.client.job).to receive(:get_build_details).and_return(build_details)
15
+ allow(test_client.client.job).to receive(:get_console_output).and_return(output1, output2)
10
16
  test_client
11
17
  }
12
18
 
@@ -28,4 +34,18 @@ describe 'JenkinsClient' do
28
34
  expect { test_client.get_build_number 'TestDrive', id_hash, 10, 0 }.to raise_error
29
35
  end
30
36
  end
37
+
38
+ describe '#print_output' do
39
+ it 'prints Jenkins progressive console output to the terminal' do
40
+ expected_output = "Test Console Output\r\nStarted by user Test User\r\nFinished: SUCCESS\r\n"
41
+ expect { test_client.print_output 'TestDrive', 1, 0 }.to output(expected_output).to_stdout
42
+ end
43
+ end
44
+
45
+ describe '#wait_for_job_status' do
46
+ it 'returns the build result' do
47
+ build_result = test_client.wait_for_job_status 'TestDrive', 10
48
+ expect(build_result).to eq 'SUCCESS'
49
+ end
50
+ end
31
51
  end
@@ -1,3 +1,4 @@
1
- require 'codeclimate-test-reporter'
1
+ require 'coveralls'
2
+ Coveralls.wear_merged!
2
3
 
3
- CodeClimate::TestReporter.start
4
+ require 'test/drive'
@@ -1,4 +1,4 @@
1
- require 'test/drive'
1
+ require 'spec_helper'
2
2
 
3
3
  describe 'TestDrive' do
4
4
  end
@@ -4,29 +4,31 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'test/drive/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "test-drive"
7
+ spec.name = 'test-drive'
8
8
  spec.version = Test::Drive::VERSION
9
- spec.authors = ["Natasha Badillo"]
10
- spec.email = ["nbadillo@amplify.com"]
11
- spec.summary = "Test-Drive for Jenkins"
12
- spec.description = "A simple command-line tool for running a Jenkins test job before pushing code to the remote repo"
13
- spec.homepage = "https://github.com/amplify-education/test-drive"
14
- spec.license = "mit"
9
+ spec.authors = ['Natasha Badillo']
10
+ spec.email = ['nbadillo@amplify.com']
11
+ spec.summary = 'Test-Drive for Jenkins'
12
+ spec.description = 'A simple command-line tool for running a Jenkins test job before pushing code to the remote repo'
13
+ spec.homepage = 'https://github.com/amplify-education/test-drive'
14
+ spec.license = 'mit'
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
17
  spec.executables = ['test-drive']
18
18
  spec.test_files = spec.files.grep(%r{^(spec|features)/})
19
- spec.require_paths = ["lib"]
19
+ spec.require_paths = ['lib']
20
20
 
21
- spec.add_runtime_dependency('methadone', '~> 1.8.0')
22
- spec.add_runtime_dependency "jenkins_api_client"
23
- spec.add_runtime_dependency "uuidtools"
24
- spec.add_runtime_dependency "artii"
25
- spec.add_runtime_dependency "rainbow"
21
+ spec.add_runtime_dependency 'methadone', '~> 1.9'
22
+ spec.add_runtime_dependency 'jenkins_api_client', '~> 1.3'
23
+ spec.add_runtime_dependency 'uuidtools', '~> 2.1'
24
+ spec.add_runtime_dependency 'artii', '~> 2.1'
25
+ spec.add_runtime_dependency 'rainbow', '~> 2.0'
26
+ spec.add_runtime_dependency 'highline', '~> 1.7'
26
27
 
27
- spec.add_development_dependency "bundler", "~> 1.7"
28
- spec.add_development_dependency "rake", "~> 10.0"
29
- spec.add_development_dependency('rdoc')
30
- spec.add_development_dependency('aruba')
31
- spec.add_development_dependency('rspec')
28
+ spec.add_development_dependency 'bundler', '~> 1.7'
29
+ spec.add_development_dependency 'rake', '~> 10.0'
30
+ spec.add_development_dependency 'rdoc', '~> 4.2'
31
+ spec.add_development_dependency 'aruba', '~> 0.6'
32
+ spec.add_development_dependency 'rspec', '~> 3.2'
33
+ spec.add_development_dependency 'coveralls'
32
34
  end
metadata CHANGED
@@ -1,156 +1,185 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-drive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natasha Badillo
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-10 00:00:00.000000000 Z
11
+ date: 2015-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: methadone
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
20
+ type: :runtime
21
+ prerelease: false
15
22
  version_requirements: !ruby/object:Gem::Requirement
16
23
  requirements:
17
24
  - - ~>
18
25
  - !ruby/object:Gem::Version
19
- version: 1.8.0
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jenkins_api_client
20
29
  requirement: !ruby/object:Gem::Requirement
21
30
  requirements:
22
31
  - - ~>
23
32
  - !ruby/object:Gem::Version
24
- version: 1.8.0
25
- prerelease: false
33
+ version: '1.3'
26
34
  type: :runtime
27
- - !ruby/object:Gem::Dependency
28
- name: jenkins_api_client
35
+ prerelease: false
29
36
  version_requirements: !ruby/object:Gem::Requirement
30
37
  requirements:
31
- - - '>='
38
+ - - ~>
32
39
  - !ruby/object:Gem::Version
33
- version: '0'
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: uuidtools
34
43
  requirement: !ruby/object:Gem::Requirement
35
44
  requirements:
36
- - - '>='
45
+ - - ~>
37
46
  - !ruby/object:Gem::Version
38
- version: '0'
39
- prerelease: false
47
+ version: '2.1'
40
48
  type: :runtime
41
- - !ruby/object:Gem::Dependency
42
- name: uuidtools
49
+ prerelease: false
43
50
  version_requirements: !ruby/object:Gem::Requirement
44
51
  requirements:
45
- - - '>='
52
+ - - ~>
46
53
  - !ruby/object:Gem::Version
47
- version: '0'
54
+ version: '2.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: artii
48
57
  requirement: !ruby/object:Gem::Requirement
49
58
  requirements:
50
- - - '>='
59
+ - - ~>
51
60
  - !ruby/object:Gem::Version
52
- version: '0'
53
- prerelease: false
61
+ version: '2.1'
54
62
  type: :runtime
55
- - !ruby/object:Gem::Dependency
56
- name: artii
63
+ prerelease: false
57
64
  version_requirements: !ruby/object:Gem::Requirement
58
65
  requirements:
59
- - - '>='
66
+ - - ~>
60
67
  - !ruby/object:Gem::Version
61
- version: '0'
68
+ version: '2.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rainbow
62
71
  requirement: !ruby/object:Gem::Requirement
63
72
  requirements:
64
- - - '>='
73
+ - - ~>
65
74
  - !ruby/object:Gem::Version
66
- version: '0'
67
- prerelease: false
75
+ version: '2.0'
68
76
  type: :runtime
69
- - !ruby/object:Gem::Dependency
70
- name: rainbow
77
+ prerelease: false
71
78
  version_requirements: !ruby/object:Gem::Requirement
72
79
  requirements:
73
- - - '>='
80
+ - - ~>
74
81
  - !ruby/object:Gem::Version
75
- version: '0'
82
+ version: '2.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: highline
76
85
  requirement: !ruby/object:Gem::Requirement
77
86
  requirements:
78
- - - '>='
87
+ - - ~>
79
88
  - !ruby/object:Gem::Version
80
- version: '0'
81
- prerelease: false
89
+ version: '1.7'
82
90
  type: :runtime
83
- - !ruby/object:Gem::Dependency
84
- name: bundler
91
+ prerelease: false
85
92
  version_requirements: !ruby/object:Gem::Requirement
86
93
  requirements:
87
94
  - - ~>
88
95
  - !ruby/object:Gem::Version
89
96
  version: '1.7'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
90
99
  requirement: !ruby/object:Gem::Requirement
91
100
  requirements:
92
101
  - - ~>
93
102
  - !ruby/object:Gem::Version
94
103
  version: '1.7'
95
- prerelease: false
96
104
  type: :development
97
- - !ruby/object:Gem::Dependency
98
- name: rake
105
+ prerelease: false
99
106
  version_requirements: !ruby/object:Gem::Requirement
100
107
  requirements:
101
108
  - - ~>
102
109
  - !ruby/object:Gem::Version
103
- version: '10.0'
110
+ version: '1.7'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
104
113
  requirement: !ruby/object:Gem::Requirement
105
114
  requirements:
106
115
  - - ~>
107
116
  - !ruby/object:Gem::Version
108
117
  version: '10.0'
109
- prerelease: false
110
118
  type: :development
111
- - !ruby/object:Gem::Dependency
112
- name: rdoc
119
+ prerelease: false
113
120
  version_requirements: !ruby/object:Gem::Requirement
114
121
  requirements:
115
- - - '>='
122
+ - - ~>
116
123
  - !ruby/object:Gem::Version
117
- version: '0'
124
+ version: '10.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rdoc
118
127
  requirement: !ruby/object:Gem::Requirement
119
128
  requirements:
120
- - - '>='
129
+ - - ~>
121
130
  - !ruby/object:Gem::Version
122
- version: '0'
123
- prerelease: false
131
+ version: '4.2'
124
132
  type: :development
125
- - !ruby/object:Gem::Dependency
126
- name: aruba
133
+ prerelease: false
127
134
  version_requirements: !ruby/object:Gem::Requirement
128
135
  requirements:
129
- - - '>='
136
+ - - ~>
130
137
  - !ruby/object:Gem::Version
131
- version: '0'
138
+ version: '4.2'
139
+ - !ruby/object:Gem::Dependency
140
+ name: aruba
132
141
  requirement: !ruby/object:Gem::Requirement
133
142
  requirements:
134
- - - '>='
143
+ - - ~>
135
144
  - !ruby/object:Gem::Version
136
- version: '0'
137
- prerelease: false
145
+ version: '0.6'
138
146
  type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '0.6'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: '3.2'
160
+ type: :development
161
+ prerelease: false
141
162
  version_requirements: !ruby/object:Gem::Requirement
142
163
  requirements:
143
- - - '>='
164
+ - - ~>
144
165
  - !ruby/object:Gem::Version
145
- version: '0'
166
+ version: '3.2'
167
+ - !ruby/object:Gem::Dependency
168
+ name: coveralls
146
169
  requirement: !ruby/object:Gem::Requirement
147
170
  requirements:
148
- - - '>='
171
+ - - ! '>='
149
172
  - !ruby/object:Gem::Version
150
173
  version: '0'
151
- prerelease: false
152
174
  type: :development
153
- description: A simple command-line tool for running a Jenkins test job before pushing code to the remote repo
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ description: A simple command-line tool for running a Jenkins test job before pushing
182
+ code to the remote repo
154
183
  email:
155
184
  - nbadillo@amplify.com
156
185
  executables:
@@ -178,6 +207,8 @@ files:
178
207
  - lib/test/drive/jenkins_client.rb
179
208
  - lib/test/drive/version.rb
180
209
  - spec/fixtures/build_details.json
210
+ - spec/fixtures/console_output1.json
211
+ - spec/fixtures/console_output2.json
181
212
  - spec/git_helper_spec.rb
182
213
  - spec/jenkins_client_spec.rb
183
214
  - spec/spec_helper.rb
@@ -187,24 +218,24 @@ homepage: https://github.com/amplify-education/test-drive
187
218
  licenses:
188
219
  - mit
189
220
  metadata: {}
190
- post_install_message:
221
+ post_install_message:
191
222
  rdoc_options: []
192
223
  require_paths:
193
224
  - lib
194
225
  required_ruby_version: !ruby/object:Gem::Requirement
195
226
  requirements:
196
- - - '>='
227
+ - - ! '>='
197
228
  - !ruby/object:Gem::Version
198
229
  version: '0'
199
230
  required_rubygems_version: !ruby/object:Gem::Requirement
200
231
  requirements:
201
- - - '>='
232
+ - - ! '>='
202
233
  - !ruby/object:Gem::Version
203
234
  version: '0'
204
235
  requirements: []
205
- rubyforge_project:
206
- rubygems_version: 2.1.9
207
- signing_key:
236
+ rubyforge_project:
237
+ rubygems_version: 2.4.6
238
+ signing_key:
208
239
  specification_version: 4
209
240
  summary: Test-Drive for Jenkins
210
241
  test_files:
@@ -212,6 +243,8 @@ test_files:
212
243
  - features/support/env.rb
213
244
  - features/test-drive.feature
214
245
  - spec/fixtures/build_details.json
246
+ - spec/fixtures/console_output1.json
247
+ - spec/fixtures/console_output2.json
215
248
  - spec/git_helper_spec.rb
216
249
  - spec/jenkins_client_spec.rb
217
250
  - spec/spec_helper.rb