travis-async-listener 1.8.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 +7 -0
- data/LICENSE +22 -0
- data/README.md +2486 -0
- data/Rakefile +63 -0
- data/assets/cacert.pem +69 -0
- data/assets/init/c.yml +4 -0
- data/assets/init/clojure.yml +1 -0
- data/assets/init/cpp.yml +4 -0
- data/assets/init/erlang.yml +3 -0
- data/assets/init/go.yml +4 -0
- data/assets/init/groovy.yml +1 -0
- data/assets/init/haskell.yml +1 -0
- data/assets/init/java.yml +4 -0
- data/assets/init/node_js.yml +4 -0
- data/assets/init/objective-c.yml +1 -0
- data/assets/init/perl.yml +4 -0
- data/assets/init/php.yml +4 -0
- data/assets/init/python.yml +5 -0
- data/assets/init/ruby.yml +6 -0
- data/assets/init/scala.yml +4 -0
- data/assets/notifications/Travis CI.app/Contents/Info.plist +52 -0
- data/assets/notifications/Travis CI.app/Contents/MacOS/Travis CI +0 -0
- data/assets/notifications/Travis CI.app/Contents/PkgInfo +1 -0
- data/assets/notifications/Travis CI.app/Contents/Resources/Travis CI.icns +0 -0
- data/assets/notifications/Travis CI.app/Contents/Resources/en.lproj/Credits.rtf +29 -0
- data/assets/notifications/Travis CI.app/Contents/Resources/en.lproj/InfoPlist.strings +0 -0
- data/assets/notifications/Travis CI.app/Contents/Resources/en.lproj/MainMenu.nib +0 -0
- data/assets/notifications/Travis CI.app/Contents/_CodeSignature/CodeResources +173 -0
- data/assets/notifications/Travis CI.app/Contents/embedded.provisionprofile +0 -0
- data/assets/notifications/icon.png +0 -0
- data/assets/travis.sh +163 -0
- data/assets/travis.sh.erb +64 -0
- data/bin/travis +18 -0
- data/examples/org_overview.rb +3 -0
- data/examples/pro_auth.rb +23 -0
- data/examples/stream.rb +6 -0
- data/lib/travis.rb +8 -0
- data/lib/travis/auto_login.rb +3 -0
- data/lib/travis/cli.rb +126 -0
- data/lib/travis/cli/accounts.rb +31 -0
- data/lib/travis/cli/api_command.rb +180 -0
- data/lib/travis/cli/branches.rb +25 -0
- data/lib/travis/cli/cache.rb +76 -0
- data/lib/travis/cli/cancel.rb +18 -0
- data/lib/travis/cli/command.rb +422 -0
- data/lib/travis/cli/console.rb +31 -0
- data/lib/travis/cli/disable.rb +15 -0
- data/lib/travis/cli/enable.rb +31 -0
- data/lib/travis/cli/encrypt.rb +108 -0
- data/lib/travis/cli/encrypt_file.rb +140 -0
- data/lib/travis/cli/endpoint.rb +35 -0
- data/lib/travis/cli/env.rb +66 -0
- data/lib/travis/cli/help.rb +23 -0
- data/lib/travis/cli/history.rb +49 -0
- data/lib/travis/cli/init.rb +82 -0
- data/lib/travis/cli/lint.rb +49 -0
- data/lib/travis/cli/login.rb +76 -0
- data/lib/travis/cli/logout.rb +14 -0
- data/lib/travis/cli/logs.rb +65 -0
- data/lib/travis/cli/monitor.rb +110 -0
- data/lib/travis/cli/open.rb +39 -0
- data/lib/travis/cli/parser.rb +43 -0
- data/lib/travis/cli/pubkey.rb +30 -0
- data/lib/travis/cli/raw.rb +20 -0
- data/lib/travis/cli/repo_command.rb +154 -0
- data/lib/travis/cli/report.rb +101 -0
- data/lib/travis/cli/repos.rb +53 -0
- data/lib/travis/cli/requests.rb +47 -0
- data/lib/travis/cli/restart.rb +18 -0
- data/lib/travis/cli/settings.rb +77 -0
- data/lib/travis/cli/setup.rb +66 -0
- data/lib/travis/cli/setup/anynines.rb +21 -0
- data/lib/travis/cli/setup/appfog.rb +19 -0
- data/lib/travis/cli/setup/artifacts.rb +23 -0
- data/lib/travis/cli/setup/biicode.rb +19 -0
- data/lib/travis/cli/setup/cloud_66.rb +20 -0
- data/lib/travis/cli/setup/cloud_control.rb +21 -0
- data/lib/travis/cli/setup/cloud_files.rb +20 -0
- data/lib/travis/cli/setup/cloud_foundry.rb +23 -0
- data/lib/travis/cli/setup/code_deploy.rb +55 -0
- data/lib/travis/cli/setup/deis.rb +20 -0
- data/lib/travis/cli/setup/divshot.rb +18 -0
- data/lib/travis/cli/setup/elastic_beanstalk.rb +23 -0
- data/lib/travis/cli/setup/engine_yard.rb +24 -0
- data/lib/travis/cli/setup/gcs.rb +22 -0
- data/lib/travis/cli/setup/hackage.rb +18 -0
- data/lib/travis/cli/setup/heroku.rb +20 -0
- data/lib/travis/cli/setup/modulus.rb +18 -0
- data/lib/travis/cli/setup/ninefold.rb +20 -0
- data/lib/travis/cli/setup/nodejitsu.rb +27 -0
- data/lib/travis/cli/setup/npm.rb +20 -0
- data/lib/travis/cli/setup/open_shift.rb +20 -0
- data/lib/travis/cli/setup/opsworks.rb +22 -0
- data/lib/travis/cli/setup/pypi.rb +22 -0
- data/lib/travis/cli/setup/releases.rb +35 -0
- data/lib/travis/cli/setup/ruby_gems.rb +25 -0
- data/lib/travis/cli/setup/s3.rb +25 -0
- data/lib/travis/cli/setup/sauce_connect.rb +21 -0
- data/lib/travis/cli/setup/service.rb +73 -0
- data/lib/travis/cli/show.rb +69 -0
- data/lib/travis/cli/sshkey.rb +118 -0
- data/lib/travis/cli/status.rb +19 -0
- data/lib/travis/cli/sync.rb +30 -0
- data/lib/travis/cli/token.rb +14 -0
- data/lib/travis/cli/version.rb +17 -0
- data/lib/travis/cli/whatsup.rb +30 -0
- data/lib/travis/cli/whoami.rb +15 -0
- data/lib/travis/client.rb +39 -0
- data/lib/travis/client/account.rb +56 -0
- data/lib/travis/client/annotation.rb +21 -0
- data/lib/travis/client/artifact.rb +88 -0
- data/lib/travis/client/auto_login.rb +45 -0
- data/lib/travis/client/broadcast.rb +14 -0
- data/lib/travis/client/build.rb +47 -0
- data/lib/travis/client/cache.rb +25 -0
- data/lib/travis/client/commit.rb +28 -0
- data/lib/travis/client/entity.rb +238 -0
- data/lib/travis/client/env_var.rb +102 -0
- data/lib/travis/client/error.rb +38 -0
- data/lib/travis/client/has_uuid.rb +13 -0
- data/lib/travis/client/job.rb +61 -0
- data/lib/travis/client/lint_result.rb +25 -0
- data/lib/travis/client/listener.rb +184 -0
- data/lib/travis/client/methods.rb +104 -0
- data/lib/travis/client/namespace.rb +85 -0
- data/lib/travis/client/not_loadable.rb +13 -0
- data/lib/travis/client/repository.rb +224 -0
- data/lib/travis/client/request.rb +36 -0
- data/lib/travis/client/restartable.rb +23 -0
- data/lib/travis/client/session.rb +339 -0
- data/lib/travis/client/settings.rb +25 -0
- data/lib/travis/client/singleton_setting.rb +36 -0
- data/lib/travis/client/ssh_key.rb +11 -0
- data/lib/travis/client/states.rb +98 -0
- data/lib/travis/client/user.rb +67 -0
- data/lib/travis/client/weak_entity.rb +26 -0
- data/lib/travis/pro.rb +5 -0
- data/lib/travis/pro/auto_login.rb +3 -0
- data/lib/travis/tools/assets.rb +21 -0
- data/lib/travis/tools/completion.rb +54 -0
- data/lib/travis/tools/formatter.rb +50 -0
- data/lib/travis/tools/github.rb +279 -0
- data/lib/travis/tools/notification.rb +69 -0
- data/lib/travis/tools/safe_string.rb +22 -0
- data/lib/travis/tools/ssl_key.rb +48 -0
- data/lib/travis/tools/system.rb +88 -0
- data/lib/travis/version.rb +3 -0
- data/spec/cli/cancel_spec.rb +15 -0
- data/spec/cli/encrypt_spec.rb +43 -0
- data/spec/cli/endpoint_spec.rb +34 -0
- data/spec/cli/help_spec.rb +33 -0
- data/spec/cli/history_spec.rb +38 -0
- data/spec/cli/init_spec.rb +226 -0
- data/spec/cli/login_spec.rb +13 -0
- data/spec/cli/logs_spec.rb +8 -0
- data/spec/cli/open_spec.rb +33 -0
- data/spec/cli/repo_command_spec.rb +25 -0
- data/spec/cli/restart_spec.rb +15 -0
- data/spec/cli/setup_spec.rb +5 -0
- data/spec/cli/show_spec.rb +9 -0
- data/spec/cli/status_spec.rb +28 -0
- data/spec/cli/token_spec.rb +22 -0
- data/spec/cli/version_spec.rb +18 -0
- data/spec/cli/whoami_spec.rb +34 -0
- data/spec/client/account_spec.rb +32 -0
- data/spec/client/annotation_spec.rb +14 -0
- data/spec/client/broadcast_spec.rb +10 -0
- data/spec/client/build_spec.rb +31 -0
- data/spec/client/commit_spec.rb +22 -0
- data/spec/client/job_spec.rb +30 -0
- data/spec/client/methods_spec.rb +15 -0
- data/spec/client/namespace_spec.rb +19 -0
- data/spec/client/repository_spec.rb +39 -0
- data/spec/client/session_spec.rb +165 -0
- data/spec/client/user_spec.rb +16 -0
- data/spec/client_spec.rb +17 -0
- data/spec/pro_spec.rb +10 -0
- data/spec/spec_helper.rb +29 -0
- data/spec/support/fake_api.rb +738 -0
- data/spec/support/fake_github.rb +24 -0
- data/spec/support/helpers.rb +45 -0
- data/spec/travis_spec.rb +10 -0
- data/travis.gemspec +323 -0
- metadata +489 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Login do
|
|
4
|
+
example "travis login", :unless => Travis::Tools::System.windows? do
|
|
5
|
+
run_cli('login', '-E', '--skip-token-check') { |i| i.puts('rkh', 'password') }.should be_success
|
|
6
|
+
run_cli('whoami').out.should be == "rkh\n"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
example "travis login (with bad credentials)", :unless => Travis::Tools::System.windows? do
|
|
10
|
+
run_cli('login') { |i| i.puts('rkh', 'wrong password') }.should_not be_success
|
|
11
|
+
run_cli('whoami').should_not be_success
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Open do
|
|
4
|
+
example 'travis open -p' do
|
|
5
|
+
run_cli('open', '-p').should be_success
|
|
6
|
+
stdout.should match(/https:\/\/travis-ci.org\/[\w\W]*\/travis\.rb/)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
example 'travis open 6180 -p' do
|
|
10
|
+
run_cli('open', '6180', '-p').should be_success
|
|
11
|
+
stdout.should match(/https:\/\/travis-ci.org\/[\w\W]*\/travis\.rb\/builds\/4125095/)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
example 'travis open 6180.1 -p' do
|
|
15
|
+
run_cli('open', '6180.1', '-p').should be_success
|
|
16
|
+
stdout.should match(/https:\/\/travis-ci.org\/[\w\W]*\/travis\.rb\/jobs\/4125096/)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
example 'travis open -pg' do
|
|
20
|
+
run_cli('open', '-pg').should be_success
|
|
21
|
+
stdout.should match(/https:\/\/github.com\/[\w\W]*\/travis\.rb/)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
example 'travis open 6180 -pg' do
|
|
25
|
+
run_cli('open', '6180', '-pg').should be_success
|
|
26
|
+
stdout.should be == "https://github.com/rails/rails/compare/6581d798e830...a0265b98f16c\n"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
example 'travis open 6180.1 -pg' do
|
|
30
|
+
run_cli('open', '6180.1', '-pg').should be_success
|
|
31
|
+
stdout.should be == "https://github.com/rails/rails/compare/6581d798e830...a0265b98f16c\n"
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'uri'
|
|
3
|
+
|
|
4
|
+
describe Travis::CLI::RepoCommand do
|
|
5
|
+
describe '#parse_remote' do
|
|
6
|
+
it 'handles git@github.com URIs' do
|
|
7
|
+
path = subject.send(:parse_remote, 'git@github.com:travis-ci/travis.rb.git')
|
|
8
|
+
path.should be == '/travis-ci/travis.rb.git'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'handles GitHub Enterprise URIS' do
|
|
12
|
+
path = subject.send(:parse_remote, 'git@example.com:travis-ci/travis.rb.git')
|
|
13
|
+
path.should be == '/travis-ci/travis.rb.git'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it 'handles HTTPS URIs' do
|
|
17
|
+
path = subject.send(:parse_remote, 'https://github.com/travis-ci/travis.rb.git')
|
|
18
|
+
path.should be == '/travis-ci/travis.rb.git'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
it 'raises URI::InvalidURIError for invalid URIs' do
|
|
22
|
+
expect { subject.send(:parse_remote, "foo@example.com:baz/bar.git") }.to raise_error(URI::InvalidURIError)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Restart do
|
|
4
|
+
example 'travis restart' do
|
|
5
|
+
run_cli('restart', '-t', 'token').should be_success
|
|
6
|
+
$params['build_id'].should be == "4125095"
|
|
7
|
+
$params['job_id'].should be_nil
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
example 'travis restart 6180.1' do
|
|
11
|
+
run_cli('restart', '6180.1', '-t', 'token').should be_success
|
|
12
|
+
$params['build_id'].should be_nil
|
|
13
|
+
$params['job_id'].should be == "4125096"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Status do
|
|
4
|
+
example "travis status" do
|
|
5
|
+
run_cli('status').should be_success
|
|
6
|
+
stdout.should be == "failed\n"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
example "travis status -x" do
|
|
10
|
+
run_cli('status', '-x').should_not be_success
|
|
11
|
+
stdout.should be == "failed\n"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
example "travis status -q" do
|
|
15
|
+
run_cli('status', '-q').should be_success
|
|
16
|
+
stdout.should be_empty
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
example "travis status -pqx" do
|
|
20
|
+
run_cli('endpoint', '-pqx').should_not be_success
|
|
21
|
+
stdout.should be_empty
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
example "travis status -i" do
|
|
25
|
+
run_cli('status', '-i', '--skip-completion-check', '-r', 'travis-ci/travis.rb').should be_success
|
|
26
|
+
stdout.should be == "build #6180 failed\n"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Token do
|
|
4
|
+
example "travis token (access token set)" do
|
|
5
|
+
run_cli('token', '-t', 'super-secret').should be_success
|
|
6
|
+
stdout.should == "super-secret\n"
|
|
7
|
+
stderr.should be_empty
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
example "travis token -i (access token set)" do
|
|
11
|
+
run_cli('token', '-it', 'super-secret').should be_success
|
|
12
|
+
stdout.should == "Your access token is super-secret\n"
|
|
13
|
+
stderr.should be_empty
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
example 'travis token (no access token set)' do
|
|
17
|
+
run_cli('token').should_not be_success
|
|
18
|
+
|
|
19
|
+
stdout.should be_empty
|
|
20
|
+
stderr.should == "not logged in, please run #{File.basename($0)} login\n"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Version do
|
|
4
|
+
example do
|
|
5
|
+
run_cli('-v').should be_success
|
|
6
|
+
stdout.should be == "#{Travis::VERSION}\n"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
example do
|
|
10
|
+
run_cli('--version').should be_success
|
|
11
|
+
stdout.should be == "#{Travis::VERSION}\n"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
example do
|
|
15
|
+
run_cli('version').should be_success
|
|
16
|
+
stdout.should be == "#{Travis::VERSION}\n"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::CLI::Whoami do
|
|
4
|
+
example "travis whoami" do
|
|
5
|
+
run_cli('whoami').should_not be_success
|
|
6
|
+
stdout.should be_empty
|
|
7
|
+
stderr.should be == "not logged in, please run #{File.basename $0} login\n"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
example "travis whoami --pro" do
|
|
11
|
+
run_cli('whoami', '--pro').should_not be_success
|
|
12
|
+
stdout.should be_empty
|
|
13
|
+
stderr.should be == "not logged in, please run #{File.basename $0} login --pro\n"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
example "travis whoami -t token" do
|
|
17
|
+
run_cli('whoami', '-t', 'token').should be_success
|
|
18
|
+
stdout.should be == "rkh\n"
|
|
19
|
+
stderr.should be_empty
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
example "TRAVIS_TOKEN=token travis whoami" do
|
|
23
|
+
ENV['TRAVIS_TOKEN'] = 'token'
|
|
24
|
+
run_cli('whoami').should be_success
|
|
25
|
+
stdout.should be == "rkh\n"
|
|
26
|
+
stderr.should be_empty
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
example "travis whoami -t token -i" do
|
|
30
|
+
run_cli('whoami', '-t', 'token', '-i').should be_success
|
|
31
|
+
stdout.should be == "You are rkh (Konstantin Haase)\n"
|
|
32
|
+
stderr.should be_empty
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Account do
|
|
4
|
+
context "from all accounts" do
|
|
5
|
+
let(:session) { Travis::Client.new }
|
|
6
|
+
subject { session.accounts.first }
|
|
7
|
+
its(:name) { should be == 'Konstantin Haase' }
|
|
8
|
+
its(:login) { should be == 'rkh' }
|
|
9
|
+
its(:type) { should be == 'user' }
|
|
10
|
+
its(:repos_count) { should be == 200 }
|
|
11
|
+
its(:inspect) { should be == "#<Travis::Client::Account: rkh>" }
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
context "known account" do
|
|
15
|
+
let(:session) { Travis::Client.new }
|
|
16
|
+
subject { session.account('rkh') }
|
|
17
|
+
its(:name) { should be == 'Konstantin Haase' }
|
|
18
|
+
its(:login) { should be == 'rkh' }
|
|
19
|
+
its(:type) { should be == 'user' }
|
|
20
|
+
its(:repos_count) { should be == 200 }
|
|
21
|
+
its(:inspect) { should be == "#<Travis::Client::Account: rkh>" }
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
context "known account" do
|
|
25
|
+
let(:session) { Travis::Client.new }
|
|
26
|
+
subject { session.account('foo') }
|
|
27
|
+
its(:name) { should be_nil }
|
|
28
|
+
its(:login) { should be == 'foo' }
|
|
29
|
+
its(:type) { should be_nil }
|
|
30
|
+
its(:inspect) { should be == "#<Travis::Client::Account: foo>" }
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Annotation do
|
|
4
|
+
let(:session) { Travis::Client.new }
|
|
5
|
+
let(:job) { session.job(4125097) }
|
|
6
|
+
subject { job.annotations.first }
|
|
7
|
+
its(:id) { should be == 1 }
|
|
8
|
+
its(:description) { should be == "The job passed." }
|
|
9
|
+
its(:provider_name) { should be == "Travis CI" }
|
|
10
|
+
its(:url) { should be == "https://travis-ci.org/rails/rails/jobs/4125097" }
|
|
11
|
+
its(:status) { should be == '' }
|
|
12
|
+
|
|
13
|
+
it { should be == subject.job.annotations.first }
|
|
14
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Build do
|
|
4
|
+
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
|
+
|
|
17
|
+
it { should be == subject.repository.last_build }
|
|
18
|
+
|
|
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 }
|
|
31
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Build do
|
|
4
|
+
let(:session) { Travis::Client.new }
|
|
5
|
+
subject { session.build(4125095).commit }
|
|
6
|
+
|
|
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' }
|
|
18
|
+
|
|
19
|
+
specify "with missing data" do
|
|
20
|
+
session.load("commit" => { "id" => 12 })['commit'].subject.should be_empty
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Job do
|
|
4
|
+
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
|
+
|
|
16
|
+
it { should be == subject.build.jobs[1] }
|
|
17
|
+
|
|
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 }
|
|
30
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Methods do
|
|
4
|
+
let(:session) { Travis::Client.new }
|
|
5
|
+
subject { OpenStruct.new(:session => session).extend(Travis::Client::Methods) }
|
|
6
|
+
before { subject.access_token = 'token' }
|
|
7
|
+
|
|
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) }
|
|
11
|
+
|
|
12
|
+
it 'fetches a single repo' do
|
|
13
|
+
subject.repo(891).slug.should be == 'rails/rails'
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Namespace do
|
|
4
|
+
it { should be_a(Travis::Client::Methods) }
|
|
5
|
+
|
|
6
|
+
it 'creates a dummy for repos' do
|
|
7
|
+
repo = subject::Repository
|
|
8
|
+
repo.find_one('rails/rails').should be_a(Travis::Client::Repository)
|
|
9
|
+
repo.find_many.should be_an(Array)
|
|
10
|
+
repo.current.should be == repo.find_many
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it 'creates a dummy for user' do
|
|
14
|
+
subject.access_token = 'token'
|
|
15
|
+
user = subject::User
|
|
16
|
+
user.find_one.should be_a(Travis::Client::User)
|
|
17
|
+
user.current.should be == user.find_one
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Travis::Client::Repository do
|
|
4
|
+
let(:session) { Travis::Client.new }
|
|
5
|
+
subject { session.repo('rails/rails') }
|
|
6
|
+
|
|
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") }
|
|
22
|
+
|
|
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 }
|
|
35
|
+
|
|
36
|
+
it 'should expose the pubkey fingerprint' do
|
|
37
|
+
subject.public_key.fingerprint.should be == 'foobar'
|
|
38
|
+
end
|
|
39
|
+
end
|