travis 1.11.1 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -3
  3. data/Rakefile +22 -20
  4. data/bin/travis +5 -3
  5. data/examples/org_overview.rb +2 -0
  6. data/examples/pro_auth.rb +3 -1
  7. data/examples/stream.rb +5 -3
  8. data/lib/travis/auto_login.rb +2 -0
  9. data/lib/travis/cli/accounts.rb +12 -9
  10. data/lib/travis/cli/api_command.rb +85 -81
  11. data/lib/travis/cli/branches.rb +8 -6
  12. data/lib/travis/cli/cache.rb +48 -44
  13. data/lib/travis/cli/cancel.rb +4 -2
  14. data/lib/travis/cli/command.rb +170 -142
  15. data/lib/travis/cli/console.rb +5 -5
  16. data/lib/travis/cli/disable.rb +4 -2
  17. data/lib/travis/cli/enable.rb +14 -12
  18. data/lib/travis/cli/encrypt.rb +57 -57
  19. data/lib/travis/cli/encrypt_file.rb +29 -18
  20. data/lib/travis/cli/endpoint.rb +9 -7
  21. data/lib/travis/cli/env.rb +13 -8
  22. data/lib/travis/cli/help.rb +10 -8
  23. data/lib/travis/cli/history.rb +19 -15
  24. data/lib/travis/cli/init.rb +27 -24
  25. data/lib/travis/cli/lint.rb +10 -8
  26. data/lib/travis/cli/login.rb +17 -11
  27. data/lib/travis/cli/logout.rb +4 -2
  28. data/lib/travis/cli/logs.rb +28 -19
  29. data/lib/travis/cli/monitor.rb +11 -8
  30. data/lib/travis/cli/open.rb +17 -14
  31. data/lib/travis/cli/parser.rb +2 -0
  32. data/lib/travis/cli/pubkey.rb +13 -11
  33. data/lib/travis/cli/raw.rb +4 -3
  34. data/lib/travis/cli/repo_command.rb +123 -112
  35. data/lib/travis/cli/report.rb +40 -33
  36. data/lib/travis/cli/repos.rb +14 -9
  37. data/lib/travis/cli/requests.rb +13 -12
  38. data/lib/travis/cli/restart.rb +4 -2
  39. data/lib/travis/cli/settings.rb +41 -35
  40. data/lib/travis/cli/setup/anynines.rb +7 -6
  41. data/lib/travis/cli/setup/appfog.rb +6 -4
  42. data/lib/travis/cli/setup/artifacts.rb +7 -5
  43. data/lib/travis/cli/setup/biicode.rb +6 -4
  44. data/lib/travis/cli/setup/cloud_66.rb +6 -4
  45. data/lib/travis/cli/setup/cloud_control.rb +8 -6
  46. data/lib/travis/cli/setup/cloud_files.rb +7 -5
  47. data/lib/travis/cli/setup/cloud_foundry.rb +9 -7
  48. data/lib/travis/cli/setup/code_deploy.rb +33 -29
  49. data/lib/travis/cli/setup/deis.rb +8 -6
  50. data/lib/travis/cli/setup/divshot.rb +20 -18
  51. data/lib/travis/cli/setup/elastic_beanstalk.rb +10 -8
  52. data/lib/travis/cli/setup/engine_yard.rb +9 -7
  53. data/lib/travis/cli/setup/gcs.rb +9 -7
  54. data/lib/travis/cli/setup/hackage.rb +6 -4
  55. data/lib/travis/cli/setup/heroku.rb +10 -4
  56. data/lib/travis/cli/setup/modulus.rb +5 -3
  57. data/lib/travis/cli/setup/ninefold.rb +7 -5
  58. data/lib/travis/cli/setup/nodejitsu.rb +6 -4
  59. data/lib/travis/cli/setup/npm.rb +6 -4
  60. data/lib/travis/cli/setup/open_shift.rb +8 -6
  61. data/lib/travis/cli/setup/opsworks.rb +24 -22
  62. data/lib/travis/cli/setup/pypi.rb +7 -5
  63. data/lib/travis/cli/setup/releases.rb +6 -6
  64. data/lib/travis/cli/setup/ruby_gems.rb +7 -5
  65. data/lib/travis/cli/setup/s3.rb +12 -8
  66. data/lib/travis/cli/setup/sauce_connect.rb +7 -5
  67. data/lib/travis/cli/setup/service.rb +36 -25
  68. data/lib/travis/cli/setup.rb +7 -3
  69. data/lib/travis/cli/show.rb +10 -8
  70. data/lib/travis/cli/sshkey.rb +31 -27
  71. data/lib/travis/cli/status.rb +5 -3
  72. data/lib/travis/cli/sync.rb +9 -7
  73. data/lib/travis/cli/token.rb +4 -2
  74. data/lib/travis/cli/version.rb +4 -3
  75. data/lib/travis/cli/whatsup.rb +10 -8
  76. data/lib/travis/cli/whoami.rb +2 -2
  77. data/lib/travis/cli.rb +39 -36
  78. data/lib/travis/client/account.rb +8 -6
  79. data/lib/travis/client/artifact.rb +16 -12
  80. data/lib/travis/client/auto_login.rb +7 -4
  81. data/lib/travis/client/broadcast.rb +2 -0
  82. data/lib/travis/client/build.rb +7 -3
  83. data/lib/travis/client/cache.rb +4 -2
  84. data/lib/travis/client/commit.rb +5 -2
  85. data/lib/travis/client/entity.rb +50 -46
  86. data/lib/travis/client/env_var.rb +13 -8
  87. data/lib/travis/client/error.rb +5 -3
  88. data/lib/travis/client/has_uuid.rb +3 -1
  89. data/lib/travis/client/job.rb +8 -3
  90. data/lib/travis/client/lint_result.rb +2 -0
  91. data/lib/travis/client/listener.rb +70 -55
  92. data/lib/travis/client/methods.rb +10 -5
  93. data/lib/travis/client/namespace.rb +20 -16
  94. data/lib/travis/client/not_loadable.rb +3 -1
  95. data/lib/travis/client/repository.rb +34 -22
  96. data/lib/travis/client/request.rb +5 -2
  97. data/lib/travis/client/restartable.rb +2 -0
  98. data/lib/travis/client/session.rb +118 -88
  99. data/lib/travis/client/settings.rb +8 -3
  100. data/lib/travis/client/singleton_setting.rb +2 -0
  101. data/lib/travis/client/ssh_key.rb +2 -0
  102. data/lib/travis/client/states.rb +8 -6
  103. data/lib/travis/client/user.rb +2 -0
  104. data/lib/travis/client/weak_entity.rb +6 -3
  105. data/lib/travis/client.rb +4 -1
  106. data/lib/travis/pro/auto_login.rb +2 -0
  107. data/lib/travis/pro.rb +2 -0
  108. data/lib/travis/tools/assets.rb +6 -3
  109. data/lib/travis/tools/completion.rb +10 -6
  110. data/lib/travis/tools/formatter.rb +20 -14
  111. data/lib/travis/tools/github.rb +59 -49
  112. data/lib/travis/tools/notification.rb +18 -13
  113. data/lib/travis/tools/safe_string.rb +4 -1
  114. data/lib/travis/tools/ssl_key.rb +5 -2
  115. data/lib/travis/tools/system.rb +11 -6
  116. data/lib/travis/version.rb +3 -1
  117. data/lib/travis.rb +3 -1
  118. data/spec/cli/api_command_spec.rb +11 -8
  119. data/spec/cli/cancel_spec.rb +2 -4
  120. data/spec/cli/encrypt_file_spec.rb +9 -7
  121. data/spec/cli/encrypt_spec.rb +19 -17
  122. data/spec/cli/endpoint_spec.rb +12 -10
  123. data/spec/cli/help_spec.rb +14 -12
  124. data/spec/cli/history_spec.rb +2 -0
  125. data/spec/cli/init_spec.rb +35 -33
  126. data/spec/cli/logs_spec.rb +2 -0
  127. data/spec/cli/open_spec.rb +6 -4
  128. data/spec/cli/repo_command_spec.rb +8 -4
  129. data/spec/cli/restart_spec.rb +2 -4
  130. data/spec/cli/setup/service_spec.rb +17 -18
  131. data/spec/cli/setup_spec.rb +2 -4
  132. data/spec/cli/show_spec.rb +4 -2
  133. data/spec/cli/status_spec.rb +7 -5
  134. data/spec/cli/token_spec.rb +7 -5
  135. data/spec/cli/version_spec.rb +2 -0
  136. data/spec/cli/whoami_spec.rb +9 -7
  137. data/spec/client/account_spec.rb +28 -20
  138. data/spec/client/auto_login_spec.rb +12 -9
  139. data/spec/client/broadcast_spec.rb +5 -3
  140. data/spec/client/build_spec.rb +28 -24
  141. data/spec/client/commit_spec.rb +17 -14
  142. data/spec/client/job_spec.rb +27 -23
  143. data/spec/client/methods_spec.rb +8 -4
  144. data/spec/client/namespace_spec.rb +8 -4
  145. data/spec/client/repository_spec.rb +33 -30
  146. data/spec/client/session_spec.rb +71 -67
  147. data/spec/client/user_spec.rb +13 -10
  148. data/spec/client_spec.rb +6 -4
  149. data/spec/pro_spec.rb +5 -3
  150. data/spec/spec_helper.rb +3 -1
  151. data/spec/support/fake_api.rb +662 -662
  152. data/spec/support/fake_github.rb +6 -3
  153. data/spec/support/helpers.rb +13 -8
  154. data/spec/travis_spec.rb +5 -3
  155. data/travis.gemspec +400 -399
  156. metadata +30 -50
@@ -1,22 +1,25 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/client/auto_login'
2
4
  require 'spec_helper'
3
5
 
4
6
  describe Travis::Client::AutoLogin do
5
- let(:auto_login_with_token) { Travis::Client::AutoLogin.new(Travis::Client.new, { config_file: travis_config }) }
6
- let(:auto_login_without_token) { Travis::Client::AutoLogin.new(Travis::Client.new) }
7
- let(:travis_config) { File.expand_path("../support/fake_travis_config.yml", File.dirname(__FILE__)) }
7
+ let(:auto_login_with_token) { described_class.new(Travis::Client.new, { config_file: travis_config }) }
8
+ let(:auto_login_without_token) { described_class.new(Travis::Client.new) }
9
+ let(:travis_config) { File.expand_path('../support/fake_travis_config.yml', File.dirname(__FILE__)) }
8
10
 
9
- context "authenticate" do
10
- context "when user has a token in cli config" do
11
- it "does not call Tools::Github#with_token" do
12
- expect_any_instance_of(Travis::Tools::Github).to_not receive(:with_token)
11
+ context 'when user authenticates' do
12
+ context 'when user has a token in cli config' do
13
+ it 'does not call Tools::Github#with_token' do
14
+ expect_any_instance_of(Travis::Tools::Github).not_to receive(:with_token)
13
15
  auto_login_with_token.authenticate
14
16
  end
15
17
  end
16
18
 
17
- context "when user does not have a token in cli config" do
19
+ context 'when user does not have a token in cli config' do
18
20
  before { auto_login_without_token.github.stub(:with_token).and_return(true) }
19
- it "calls Tools::Github#with_token" do
21
+
22
+ it 'calls Tools::Github#with_token' do
20
23
  expect(auto_login_without_token.github).to receive(:with_token)
21
24
  auto_login_without_token.authenticate
22
25
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Broadcast do
4
- let(:session) { Travis::Client.new }
5
6
  subject { session.broadcasts.first }
6
7
 
7
- its(:id) { should be == 1 }
8
- its(:message) { should be == "Hello!" }
8
+ let(:session) { Travis::Client.new }
9
9
 
10
+ its(:id) { is_expected.to be == 1 }
11
+ its(:message) { is_expected.to be == 'Hello!' }
10
12
  end
@@ -1,31 +1,35 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Build do
6
+ subject { session.build(4_125_095) }
7
+
4
8
  let(:session) { Travis::Client.new }
5
- subject { session.build(4125095) }
6
- its(:number) { should be == '6180' }
7
- its(:state) { should be == 'failed' }
8
- its(:duration) { should be == 5019 }
9
- its(:started_at) { should be_a(Time) }
10
- its(:finished_at) { should be_nil }
11
- its(:inspect) { should be == "#<Travis::Client::Build: rails/rails#6180>" }
12
- its(:color) { should be == 'red' }
13
- its(:commit) { should be_a(Travis::Client::Commit) }
14
- its(:jobs) { should be_an(Array) }
15
- its(:repository) { should be == session.repo('rails/rails') }
16
9
 
17
- it { should be == subject.repository.last_build }
10
+ its(:number) { is_expected.to be == '6180' }
11
+ its(:state) { is_expected.to be == 'failed' }
12
+ its(:duration) { is_expected.to be == 5019 }
13
+ its(:started_at) { is_expected.to be_a(Time) }
14
+ its(:finished_at) { is_expected.to be_nil }
15
+ its(:inspect) { is_expected.to be == '#<Travis::Client::Build: rails/rails#6180>' }
16
+ its(:color) { is_expected.to be == 'red' }
17
+ its(:commit) { is_expected.to be_a(Travis::Client::Commit) }
18
+ its(:jobs) { is_expected.to be_an(Array) }
19
+ its(:repository) { is_expected.to be == session.repo('rails/rails') }
20
+
21
+ it { is_expected.to be == subject.repository.last_build }
18
22
 
19
- it { should_not be_pending }
20
- it { should be_started }
21
- it { should be_finished }
22
- it { should_not be_passed }
23
- it { should_not be_errored }
24
- it { should be_failed }
25
- it { should_not be_canceled }
26
- it { should be_created }
27
- it { should be_red }
28
- it { should_not be_green }
29
- it { should_not be_yellow }
30
- it { should be_unsuccessful }
23
+ it { is_expected.not_to be_pending }
24
+ it { is_expected.to be_started }
25
+ it { is_expected.to be_finished }
26
+ it { is_expected.not_to be_passed }
27
+ it { is_expected.not_to be_errored }
28
+ it { is_expected.to be_failed }
29
+ it { is_expected.not_to be_canceled }
30
+ it { is_expected.to be_created }
31
+ it { is_expected.to be_red }
32
+ it { is_expected.not_to be_green }
33
+ it { is_expected.not_to be_yellow }
34
+ it { is_expected.to be_unsuccessful }
31
35
  end
@@ -1,22 +1,25 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Build do
6
+ subject { session.build(4_125_095).commit }
7
+
4
8
  let(:session) { Travis::Client.new }
5
- subject { session.build(4125095).commit }
6
9
 
7
- its(:sha) { should be == 'a0265b98f16c6e33be32aa3f57231d1189302400' }
8
- its(:short_sha) { should be == 'a0265b9' }
9
- its(:branch) { should be == 'master' }
10
- its(:message) { should be == 'Associaton -> Association' }
11
- its(:committed_at) { should be_a(Time) }
12
- its(:author_name) { should be == 'Steve Klabnik' }
13
- its(:author_email) { should be == 'steve@steveklabnik.com' }
14
- its(:committer_name) { should be == 'Steve Klabnik' }
15
- its(:committer_email) { should be == 'steve@steveklabnik.com' }
16
- its(:compare_url) { should be == 'https://github.com/rails/rails/compare/6581d798e830...a0265b98f16c' }
17
- its(:subject) { should be == 'Associaton -> Association' }
10
+ its(:sha) { is_expected.to be == 'a0265b98f16c6e33be32aa3f57231d1189302400' }
11
+ its(:short_sha) { is_expected.to be == 'a0265b9' }
12
+ its(:branch) { is_expected.to be == 'master' }
13
+ its(:message) { is_expected.to be == 'Associaton -> Association' }
14
+ its(:committed_at) { is_expected.to be_a(Time) }
15
+ its(:author_name) { is_expected.to be == 'Steve Klabnik' }
16
+ its(:author_email) { is_expected.to be == 'steve@steveklabnik.com' }
17
+ its(:committer_name) { is_expected.to be == 'Steve Klabnik' }
18
+ its(:committer_email) { is_expected.to be == 'steve@steveklabnik.com' }
19
+ its(:compare_url) { is_expected.to be == 'https://github.com/rails/rails/compare/6581d798e830...a0265b98f16c' }
20
+ its(:subject) { is_expected.to be == 'Associaton -> Association' }
18
21
 
19
- specify "with missing data" do
20
- session.load("commit" => { "id" => 12 })['commit'].subject.should be_empty
22
+ specify 'with missing data' do
23
+ session.load('commit' => { 'id' => 12 })['commit'].subject.should be_empty
21
24
  end
22
25
  end
@@ -1,30 +1,34 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Job do
6
+ subject { session.job(4_125_097) }
7
+
4
8
  let(:session) { Travis::Client.new }
5
- subject { session.job(4125097) }
6
- its(:number) { should be == '6180.2' }
7
- its(:state) { should be == 'passed' }
8
- its(:started_at) { should be_a(Time) }
9
- its(:finished_at) { should be_a(Time) }
10
- its(:inspect) { should be == "#<Travis::Client::Job: rails/rails#6180.2>" }
11
- its(:color) { should be == 'green' }
12
- its(:commit) { should be_a(Travis::Client::Commit) }
13
- its(:repository) { should be == session.repo('rails/rails') }
14
- its(:duration) { should be == 905 }
15
9
 
16
- it { should be == subject.build.jobs[1] }
10
+ its(:number) { is_expected.to be == '6180.2' }
11
+ its(:state) { is_expected.to be == 'passed' }
12
+ its(:started_at) { is_expected.to be_a(Time) }
13
+ its(:finished_at) { is_expected.to be_a(Time) }
14
+ its(:inspect) { is_expected.to be == '#<Travis::Client::Job: rails/rails#6180.2>' }
15
+ its(:color) { is_expected.to be == 'green' }
16
+ its(:commit) { is_expected.to be_a(Travis::Client::Commit) }
17
+ its(:repository) { is_expected.to be == session.repo('rails/rails') }
18
+ its(:duration) { is_expected.to be == 905 }
19
+
20
+ it { is_expected.to be == subject.build.jobs[1] }
17
21
 
18
- it { should_not be_pending }
19
- it { should be_started }
20
- it { should be_finished }
21
- it { should be_passed }
22
- it { should_not be_errored }
23
- it { should_not be_failed }
24
- it { should_not be_canceled }
25
- it { should be_created }
26
- it { should_not be_red }
27
- it { should be_green }
28
- it { should_not be_yellow }
29
- it { should_not be_unsuccessful }
22
+ it { is_expected.not_to be_pending }
23
+ it { is_expected.to be_started }
24
+ it { is_expected.to be_finished }
25
+ it { is_expected.to be_passed }
26
+ it { is_expected.not_to be_errored }
27
+ it { is_expected.not_to be_failed }
28
+ it { is_expected.not_to be_canceled }
29
+ it { is_expected.to be_created }
30
+ it { is_expected.not_to be_red }
31
+ it { is_expected.to be_green }
32
+ it { is_expected.not_to be_yellow }
33
+ it { is_expected.not_to be_unsuccessful }
30
34
  end
@@ -1,13 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Methods do
6
+ subject { OpenStruct.new(session:).extend(described_class) }
7
+
4
8
  let(:session) { Travis::Client.new }
5
- subject { OpenStruct.new(:session => session).extend(Travis::Client::Methods) }
9
+
6
10
  before { subject.access_token = 'token' }
7
11
 
8
- its(:api_endpoint) { should be == 'https://api.travis-ci.org/' }
9
- its(:repos) { should be == session.find_many(Travis::Client::Repository) }
10
- its(:user) { should be == session.find_one(Travis::Client::User) }
12
+ its(:api_endpoint) { is_expected.to be == 'https://api.travis-ci.com/' }
13
+ its(:repos) { is_expected.to be == session.find_many(Travis::Client::Repository) }
14
+ its(:user) { is_expected.to be == session.find_one(Travis::Client::User) }
11
15
 
12
16
  it 'fetches a single repo' do
13
17
  subject.repo(891).slug.should be == 'rails/rails'
@@ -1,18 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Namespace do
4
- it { should be_a(Travis::Client::Methods) }
6
+ subject(:namespace) { described_class.new }
7
+
8
+ it { is_expected.to be_a(Travis::Client::Methods) }
5
9
 
6
10
  it 'creates a dummy for repos' do
7
- repo = subject::Repository
11
+ repo = namespace::Repository
8
12
  repo.find_one('rails/rails').should be_a(Travis::Client::Repository)
9
13
  repo.find_many.should be_an(Array)
10
14
  repo.current.should be == repo.find_many
11
15
  end
12
16
 
13
17
  it 'creates a dummy for user' do
14
- subject.access_token = 'token'
15
- user = subject::User
18
+ namespace.access_token = 'token'
19
+ user = namespace::User
16
20
  user.find_one.should be_a(Travis::Client::User)
17
21
  user.current.should be == user.find_one
18
22
  end
@@ -1,39 +1,42 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Repository do
6
+ subject(:repository) { session.repo('rails/rails') }
7
+
4
8
  let(:session) { Travis::Client.new }
5
- subject { session.repo('rails/rails') }
6
9
 
7
- its(:slug) { should be == 'rails/rails' }
8
- its(:description) { should_not be_empty }
9
- its(:last_build_id) { should be == 4125095 }
10
- its(:last_build_number) { should be == '6180' }
11
- its(:last_build_state) { should be == 'failed' }
12
- its(:last_build_duration) { should be == 5019 }
13
- its(:last_build_started_at) { should be_a(Time) }
14
- its(:last_build_finished_at) { should be_nil }
15
- its(:inspect) { should be == "#<Travis::Client::Repository: rails/rails>" }
16
- its(:key) { should be_a(Travis::Client::Repository::Key) }
17
- its(:last_build) { should be_a(Travis::Client::Build) }
18
- its(:color) { should be == 'red' }
19
- its(:github_language) { should be == 'Ruby' }
20
- its(:owner_name) { should be == 'rails' }
21
- its(:owner) { should be == session.account("rails") }
10
+ its(:slug) { is_expected.to be == 'rails/rails' }
11
+ its(:description) { is_expected.not_to be_empty }
12
+ its(:last_build_id) { is_expected.to be == 4_125_095 }
13
+ its(:last_build_number) { is_expected.to be == '6180' }
14
+ its(:last_build_state) { is_expected.to be == 'failed' }
15
+ its(:last_build_duration) { is_expected.to be == 5019 }
16
+ its(:last_build_started_at) { is_expected.to be_a(Time) }
17
+ its(:last_build_finished_at) { is_expected.to be_nil }
18
+ its(:inspect) { is_expected.to be == '#<Travis::Client::Repository: rails/rails>' }
19
+ its(:key) { is_expected.to be_a(Travis::Client::Repository::Key) }
20
+ its(:last_build) { is_expected.to be_a(Travis::Client::Build) }
21
+ its(:color) { is_expected.to be == 'red' }
22
+ its(:github_language) { is_expected.to be == 'Ruby' }
23
+ its(:owner_name) { is_expected.to be == 'rails' }
24
+ its(:owner) { is_expected.to be == session.account('rails') }
22
25
 
23
- it { should_not be_pending }
24
- it { should be_started }
25
- it { should be_finished }
26
- it { should_not be_passed }
27
- it { should_not be_errored }
28
- it { should be_failed }
29
- it { should_not be_canceled }
30
- it { should be_created }
31
- it { should be_red }
32
- it { should_not be_green }
33
- it { should_not be_yellow }
34
- it { should be_unsuccessful }
26
+ it { is_expected.not_to be_pending }
27
+ it { is_expected.to be_started }
28
+ it { is_expected.to be_finished }
29
+ it { is_expected.not_to be_passed }
30
+ it { is_expected.not_to be_errored }
31
+ it { is_expected.to be_failed }
32
+ it { is_expected.not_to be_canceled }
33
+ it { is_expected.to be_created }
34
+ it { is_expected.to be_red }
35
+ it { is_expected.not_to be_green }
36
+ it { is_expected.not_to be_yellow }
37
+ it { is_expected.to be_unsuccessful }
35
38
 
36
- it 'should expose the pubkey fingerprint' do
37
- subject.public_key.fingerprint.should be == 'foobar'
39
+ it 'exposes the pubkey fingerprint' do
40
+ repository.public_key.fingerprint.should be == 'foobar'
38
41
  end
39
42
  end
@@ -1,165 +1,169 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::Session do
4
- it { should be_a(Travis::Client::Methods) }
6
+ subject(:session) { described_class.new }
7
+
8
+ it { is_expected.to be_a(Travis::Client::Methods) }
5
9
 
6
- describe "uri" do
7
- its(:uri) { should be == "https://api.travis-ci.org/" }
10
+ describe 'uri' do
11
+ its(:uri) { is_expected.to be == 'https://api.travis-ci.com/' }
8
12
 
9
13
  it 'can be set as argument' do
10
- Travis::Client::Session.new('http://foo/').uri.should be == 'http://foo/'
14
+ described_class.new('http://foo/').uri.should be == 'http://foo/'
11
15
  end
12
16
 
13
17
  it 'can be set as hash argument' do
14
- Travis::Client::Session.new(:uri => 'http://foo/').uri.should be == 'http://foo/'
18
+ described_class.new(uri: 'http://foo/').uri.should be == 'http://foo/'
15
19
  end
16
20
  end
17
21
 
18
- describe "access_token" do
19
- its(:access_token) { should be_nil }
22
+ describe 'access_token' do
23
+ its(:access_token) { is_expected.to be_nil }
20
24
 
21
25
  it 'gives authenticated access if set' do
22
- subject.access_token = 'token'
23
- subject.user.login.should be == 'rkh'
26
+ session.access_token = 'token'
27
+ session.user.login.should be == 'rkh'
24
28
  end
25
29
 
26
30
  it 'raises if token is not set' do
27
- expect { subject.user.login }.to raise_error(Travis::Client::Error)
31
+ expect { session.user.login }.to raise_error(Travis::Client::Error)
28
32
  end
29
33
  end
30
34
 
31
- describe "connection" do
32
- its(:connection) { should be_a(Faraday::Connection) }
35
+ describe 'connection' do
36
+ its(:connection) { is_expected.to be_a(Faraday::Connection) }
33
37
 
34
38
  it 'creates a new connection when changing the uri' do
35
- old_connection = subject.connection
36
- subject.uri = 'http://localhost:3000'
37
- subject.connection.should_not be == old_connection
39
+ old_connection = session.connection
40
+ session.uri = 'http://localhost:3000'
41
+ session.connection.should_not be == old_connection
38
42
  end
39
43
  end
40
44
 
41
- describe "headers" do
45
+ describe 'headers' do
42
46
  it 'propagates headers to connection headers' do
43
- subject.headers['foo'] = 'bar'
44
- subject.connection.headers.should include('foo')
47
+ session.headers['foo'] = 'bar'
48
+ session.connection.headers.should include('foo')
45
49
  end
46
50
 
47
51
  it 'propagates headers to new connections' do
48
- subject.headers['foo'] = 'bar'
49
- subject.connection = Faraday::Connection.new
50
- subject.connection.headers.should include('foo')
52
+ session.headers['foo'] = 'bar'
53
+ session.connection = Faraday::Connection.new
54
+ session.connection.headers.should include('foo')
51
55
  end
52
56
 
53
57
  it 'is possible to set headers as constructor option' do
54
- Travis::Client::Session.new(:headers => {'foo' => 'bar'}, :uri => 'http://localhost:3000/').
55
- connection.headers['foo'].should be == 'bar'
58
+ described_class.new(headers: { 'foo' => 'bar' }, uri: 'http://localhost:3000/')
59
+ .connection.headers['foo'].should be == 'bar'
56
60
  end
57
61
 
58
62
  it 'sets a User-Agent' do
59
- subject.headers['User-Agent'].should include("Travis/#{Travis::VERSION}")
60
- subject.headers['User-Agent'].should include("Faraday/#{Faraday::VERSION}")
61
- subject.headers['User-Agent'].should include("Rack/#{Rack.version}")
62
- subject.headers['User-Agent'].should include("Ruby #{RUBY_VERSION}")
63
+ session.headers['User-Agent'].should include("Travis/#{Travis::VERSION}")
64
+ session.headers['User-Agent'].should include("Faraday/#{Faraday::VERSION}")
65
+ session.headers['User-Agent'].should include("Rack/#{Rack.version}")
66
+ session.headers['User-Agent'].should include("Ruby #{RUBY_VERSION}")
63
67
  end
64
68
 
65
69
  it 'allows adding custom info to the User-Agent' do
66
- subject.agent_info = "foo"
67
- subject.headers['User-Agent'].should include("foo")
68
- subject.headers['User-Agent'].should include("Travis/#{Travis::VERSION}")
69
- subject.headers['User-Agent'].should include("Faraday/#{Faraday::VERSION}")
70
- subject.headers['User-Agent'].should include("Rack/#{Rack.version}")
71
- subject.headers['User-Agent'].should include("Ruby #{RUBY_VERSION}")
70
+ session.agent_info = 'foo'
71
+ session.headers['User-Agent'].should include('foo')
72
+ session.headers['User-Agent'].should include("Travis/#{Travis::VERSION}")
73
+ session.headers['User-Agent'].should include("Faraday/#{Faraday::VERSION}")
74
+ session.headers['User-Agent'].should include("Rack/#{Rack.version}")
75
+ session.headers['User-Agent'].should include("Ruby #{RUBY_VERSION}")
72
76
  end
73
77
  end
74
78
 
75
- describe "find_one" do
79
+ describe 'find_one' do
76
80
  it 'finds one instance' do
77
- repo = subject.find_one(Travis::Client::Repository, 'rails/rails')
81
+ repo = session.find_one(Travis::Client::Repository, 'rails/rails')
78
82
  repo.should be_a(Travis::Client::Repository)
79
83
  repo.slug.should be == 'rails/rails'
80
84
  end
81
85
  end
82
86
 
83
- describe "find_many" do
87
+ describe 'find_many' do
84
88
  it 'finds many instances' do
85
- repos = subject.find_many(Travis::Client::Repository)
89
+ repos = session.find_many(Travis::Client::Repository)
86
90
  repos.should be_an(Array)
87
91
  repos.each { |repo| repo.should be_a(Travis::Client::Repository) }
88
- repos.first.slug.should be == "pypug/django-mango"
92
+ repos.first.slug.should be == 'pypug/django-mango'
89
93
  end
90
94
  end
91
95
 
92
- describe "find_one_or_many" do
96
+ describe 'find_one_or_many' do
93
97
  it 'finds one instance' do
94
- subject.access_token = 'token'
95
- subject.find_one_or_many(Travis::Client::User).should be_a(Travis::Client::User)
98
+ session.access_token = 'token'
99
+ session.find_one_or_many(Travis::Client::User).should be_a(Travis::Client::User)
96
100
  end
97
101
 
98
102
  it 'finds many instances' do
99
- subject.find_one_or_many(Travis::Client::Repository).should be_an(Array)
103
+ session.find_one_or_many(Travis::Client::Repository).should be_an(Array)
100
104
  end
101
105
  end
102
106
 
103
- describe "reload" do
107
+ describe 'reload' do
104
108
  it 'reloads an instance' do
105
- Travis::Client::Session::FakeAPI.rails_description = "Ruby on Rails"
106
- rails = subject.find_one(Travis::Client::Repository, 'rails/rails')
109
+ Travis::Client::Session::FakeAPI.rails_description = 'Ruby on Rails'
110
+ rails = session.find_one(Travis::Client::Repository, 'rails/rails')
107
111
  rails.description.should be == 'Ruby on Rails'
108
112
  Travis::Client::Session::FakeAPI.rails_description = 'Rails on the Rubies'
109
113
  rails.description.should be == 'Ruby on Rails'
110
- subject.reload(rails)
114
+ session.reload(rails)
111
115
  rails.description.should be == 'Rails on the Rubies'
112
116
  end
113
117
  end
114
118
 
115
- describe "get" do
119
+ describe 'get' do
116
120
  it 'fetches a payload and substitutes values with entities' do
117
- result = subject.get('/repos/')
118
- result['repos'].first.slug.should be == "pypug/django-mango"
121
+ result = session.get('/repos/')
122
+ result['repos'].first.slug.should be == 'pypug/django-mango'
119
123
  end
120
124
  end
121
125
 
122
- describe "clear_cache" do
126
+ describe 'clear_cache' do
123
127
  it 'resets all the entities' do
124
- Travis::Client::Session::FakeAPI.rails_description = "Ruby on Rails"
125
- rails = subject.find_one(Travis::Client::Repository, 'rails/rails')
128
+ Travis::Client::Session::FakeAPI.rails_description = 'Ruby on Rails'
129
+ rails = session.find_one(Travis::Client::Repository, 'rails/rails')
126
130
  rails.description.should be == 'Ruby on Rails'
127
131
  Travis::Client::Session::FakeAPI.rails_description = 'Rails on the Rubies'
128
132
  rails.description.should be == 'Ruby on Rails'
129
- subject.clear_cache
133
+ session.clear_cache
130
134
  rails.description.should be == 'Rails on the Rubies'
131
135
  end
132
136
 
133
137
  it 'keeps entries in the identity map' do
134
- rails = subject.repo('rails/rails')
135
- subject.clear_cache
136
- subject.repo('rails/rails').should be_equal(rails)
138
+ rails = session.repo('rails/rails')
139
+ session.clear_cache
140
+ session.repo('rails/rails').should be_equal(rails)
137
141
  end
138
142
  end
139
143
 
140
- describe "clear_cache!" do
144
+ describe 'clear_cache!' do
141
145
  it 'resets all the entities' do
142
- Travis::Client::Session::FakeAPI.rails_description = "Ruby on Rails"
143
- rails = subject.find_one(Travis::Client::Repository, 'rails/rails')
146
+ Travis::Client::Session::FakeAPI.rails_description = 'Ruby on Rails'
147
+ rails = session.find_one(Travis::Client::Repository, 'rails/rails')
144
148
  rails.description.should be == 'Ruby on Rails'
145
149
  Travis::Client::Session::FakeAPI.rails_description = 'Rails on the Rubies'
146
150
  rails.description.should be == 'Ruby on Rails'
147
- subject.clear_cache!
151
+ session.clear_cache!
148
152
  rails.description.should be == 'Rails on the Rubies'
149
153
  end
150
154
 
151
155
  it 'does not keep entries in the identity map' do
152
- rails = subject.repo('rails/rails')
153
- subject.clear_cache!
154
- subject.repo('rails/rails').should_not be_equal(rails)
156
+ rails = session.repo('rails/rails')
157
+ session.clear_cache!
158
+ session.repo('rails/rails').should_not be_equal(rails)
155
159
  end
156
160
  end
157
161
 
158
- describe "session" do
159
- its(:session) { should eq(subject) }
162
+ describe 'session' do
163
+ its(:session) { is_expected.to eq(session) }
160
164
  end
161
165
 
162
- describe "config" do
163
- its(:config) { should be == {"host" => "travis-ci.org"}}
166
+ describe 'config' do
167
+ its(:config) { is_expected.to be == { 'host' => 'travis-ci.org' } }
164
168
  end
165
169
  end
@@ -1,16 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client::User do
4
6
  # attributes :login, :name, :email, :gravatar_id, :locale, :is_syncing, :synced_at, :correct_scopes
5
- subject { Travis::Client.new(:access_token => 'token').user }
6
- its(:login) { should be == 'rkh' }
7
- its(:name) { should be == 'Konstantin Haase' }
8
- its(:email) { should be == 'konstantin.haase@gmail.com' }
9
- its(:gravatar_id) { should be == '5c2b452f6eea4a6d84c105ebd971d2a4' }
10
- its(:locale) { should be == 'en' }
11
- its(:is_syncing) { should be false }
12
- its(:synced_at) { should be_a(Time) }
7
+ subject { Travis::Client.new(access_token: 'token').user }
8
+
9
+ its(:login) { is_expected.to be == 'rkh' }
10
+ its(:name) { is_expected.to be == 'Konstantin Haase' }
11
+ its(:email) { is_expected.to be == 'konstantin.haase@gmail.com' }
12
+ its(:gravatar_id) { is_expected.to be == '5c2b452f6eea4a6d84c105ebd971d2a4' }
13
+ its(:locale) { is_expected.to be == 'en' }
14
+ its(:is_syncing) { is_expected.to be false }
15
+ its(:synced_at) { is_expected.to be_a(Time) }
13
16
 
14
- it { should_not be_syncing }
15
- it { should be_correct_scopes }
17
+ it { is_expected.not_to be_syncing }
18
+ it { is_expected.to be_correct_scopes }
16
19
  end
data/spec/client_spec.rb CHANGED
@@ -1,17 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Client do
4
- its(:new) { should be_a(Travis::Client::Session) }
6
+ its(:new) { is_expected.to be_a(Travis::Client::Session) }
5
7
 
6
8
  it 'accepts string argument' do
7
- Travis::Client.new('http://foo/').uri.should be == 'http://foo/'
9
+ described_class.new('http://foo/').uri.should be == 'http://foo/'
8
10
  end
9
11
 
10
12
  it 'accepts options hash with string keys' do
11
- Travis::Client.new('uri' => 'http://foo/').uri.should be == 'http://foo/'
13
+ described_class.new('uri' => 'http://foo/').uri.should be == 'http://foo/'
12
14
  end
13
15
 
14
16
  it 'accepts options hash with symbol keys' do
15
- Travis::Client.new(:uri => 'http://foo/').uri.should be == 'http://foo/'
17
+ described_class.new(uri: 'http://foo/').uri.should be == 'http://foo/'
16
18
  end
17
19
  end
data/spec/pro_spec.rb CHANGED
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Travis::Pro do
4
- it { should be_a(Travis::Client::Namespace) }
5
- its(:api_endpoint) { should be == 'https://api.travis-ci.com/' }
6
+ it { is_expected.to be_a(Travis::Client::Namespace) }
7
+ its(:api_endpoint) { is_expected.to be == 'https://api.travis-ci.com/' }
6
8
 
7
9
  it 'has a nice inspect on entities' do
8
- Travis::Pro::Repository.find('rails/rails').inspect.should be == "#<Travis::Pro::Repository: rails/rails>"
10
+ Travis::Pro::Repository.find('rails/rails').inspect.should be == '#<Travis::Pro::Repository: rails/rails>'
9
11
  end
10
12
  end