Skip to content

Instantly share code, notes, and snippets.

@solarce
Created June 18, 2015 19:07
Show Gist options
  • Save solarce/f46d6de99501a659d255 to your computer and use it in GitHub Desktop.
Save solarce/f46d6de99501a659d255 to your computer and use it in GitHub Desktop.
describe Travis::Yaml::Nodes::Addons do
context 'from Ruby' do
def addons(input)
Travis::Yaml.parse!(language: 'ruby', addons: input).addons
end
context 'artifacts' do
let :config do
addons(artifacts: {
bucket: 'whatever',
branch: 'borken',
concurrency: 40,
debug: 1,
key: 'foo',
max_size: 1024 * 1024 * 10,
paths: '$(git ls-files -o | tr "\n" ":")',
secret: 'bar',
target_paths: 'somewhere/in/teh/clood',
log_format: 'special',
})
end
example { expect(config.artifacts.key).to be == 'foo' }
example { expect(config.artifacts.secret).to be == 'bar' }
example { expect(config.artifacts.bucket).to be == 'whatever' }
end
context 'code_climate' do
example { expect(addons(code_climate: true).code_climate).to be == {} }
example { expect(addons(code_climate: { repo_token: "foo" }).code_climate.repo_token).to be == "foo" }
end
context 'coverity_scan' do
example do
config = addons(coverity_scan: { project: { name: :foo } })
expect(config.coverity_scan.project.name).to be == "foo"
end
end
context 'firefox' do
example { expect(addons(firefox: '15').firefox).to be == '15' }
end
context 'hosts' do
example { expect(addons(hosts: 'foo.dev').hosts).to be == ['foo.dev'] }
example { expect(addons(hosts: ['foo.dev', 'bar.dev']).hosts).to be == ['foo.dev', 'bar.dev'] }
end
context 'postgresql' do
example { expect(addons(postgresql: '9.1').postgresql).to be == '9.1' }
end
context 'sauce_connect' do
example { expect(addons(sauce_connect: true).sauce_connect).to be == {} }
example { expect(addons(sauce_connect: { username: "foo" }).sauce_connect.username).to be == "foo" }
end
context 'ssh_known_hosts' do
example { expect(addons(ssh_known_hosts: 'git.example.org').ssh_known_hosts).to be == ['git.example.org'] }
example { expect(addons(ssh_known_hosts: ['git.example.org', 'git.example.com']).ssh_known_hosts).to be == ['git.example.org', 'git.example.com'] }
end
context 'apt' do
example { expect(addons(apt: true).apt).to be == {} }
example { expect(addons(apt: { 'sources' == ['deadsnakes', 'ubuntu-toolchain-r-test']}).apt.sources).to be == ['deadsnakes', 'ubuntu-toolchain-r-test'] }
example { expect(addons(apt: { 'packages' == ['curl', 'git']}).apt.packages).to be == ['curl', 'git'] }
end
end
end
/usr/bin/ruby -S rspec
/usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `load': /home/solarce/code/travisci/travis-yaml/spec/nodes/addons_spec.rb:65: syntax error, unexpected '}', expecting => (SyntaxError)
...s', 'ubuntu-toolchain-r-test']}).apt.sources).to be == ['dea...
... ^
/home/solarce/code/travisci/travis-yaml/spec/nodes/addons_spec.rb:65: syntax error, unexpected ')', expecting '}'
...olchain-r-test']}).apt.sources).to be == ['deadsnakes', 'ubu...
... ^
/home/solarce/code/travisci/travis-yaml/spec/nodes/addons_spec.rb:66: syntax error, unexpected '}', expecting =>
... 'packages' == ['curl', 'git']}).apt.packages).to be == ['cu...
... ^
/home/solarce/code/travisci/travis-yaml/spec/nodes/addons_spec.rb:66: syntax error, unexpected ')', expecting '}'
...['curl', 'git']}).apt.packages).to be == ['curl', 'git'] }
... ^
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `block in load_spec_files'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `each'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/configuration.rb:1057:in `load_spec_files'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:97:in `setup'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:85:in `run'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:70:in `run'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/lib/rspec/core/runner.rb:38:in `invoke'
from /usr/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.3/exe/rspec:4:in `<top (required)>'
from /usr/bin/rspec:23:in `load'
from /usr/bin/rspec:23:in `<main>'
Coverage report generated for RSpec to /home/solarce/code/travisci/travis-yaml/.coverage. 710 / 1270 LOC (55.91%) covered.
rake aborted!
Command failed with status (1): [/usr/bin/ruby -S rspec...]
/home/solarce/code/travisci/travis-yaml/Rakefile:1:in `block in <top (required)>'
Tasks: TOP => default => spec
(See full trace by running task with --trace)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment