test-drive 0.0.2 → 0.0.3

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 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