Sha256: 8d13c5447778c11282409164b754bc12ea2f6c1b0b3ad783f21b734d090c87ac

Contents?: true

Size: 1.64 KB

Versions: 2

Compression:

Stored size: 1.64 KB

Contents

# coding: utf-8
require 'ansible_spec'


describe "load_dependencies" do
  tmp_hosts = 'hosts'
  tmp_ansiblespec = '.ansiblespec'
  tmp_playbook = 'site.yml'
  tmp_webapp_meta = 'roles/webapp/meta/main.yml'
  tmp_dep1_meta = 'roles/dep1/meta/main.yml'

  spec_content = <<'EOF'
---
-
playbook: site.yml
inventory: hosts
EOF

  hosts_content = <<'EOF'
[normal]
192.168.0.1
192.168.0.2
192.168.0.3
EOF

  playbook_content = <<'EOF'
- name: Ansible-Sample-TDD
hosts: normal
user: root
roles:
  - webapp
EOF

  webapp_meta_content = <<'EOF'
---
dependencies:
- { role: dep1 }
- dep2
EOF

  dep1_meta_content = <<'EOF'
---
dependencies:
- { role: dep3 }
EOF

  before do
    create_file(tmp_hosts, hosts_content)
    create_file(tmp_ansiblespec, spec_content)
    create_file(tmp_playbook, playbook_content)
    create_file(tmp_webapp_meta, webapp_meta_content)
    create_file(tmp_dep1_meta, dep1_meta_content)
    @deps = AnsibleSpec.load_dependencies("webapp")
  end

  it 'should correctly resolve nested dependencies' do
    expect(@deps).to eq ["dep1", "dep2", "dep3"]
  end

  after do
    File.delete(tmp_hosts)
    File.delete(tmp_ansiblespec)
    File.delete(tmp_playbook)
    File.delete(tmp_webapp_meta)
    File.delete(tmp_dep1_meta)
  end
end

describe "load_dependencies (nil dependencies)" do
  tmp_webapp_meta = 'roles/webapp/meta/main.yml'

  webapp_meta_content = <<'EOF'
---
dependencies:
EOF

  before do
    create_file(tmp_webapp_meta, webapp_meta_content)
    @deps = AnsibleSpec.load_dependencies("webapp")
  end

  it 'should correctly resolve nested dependencies' do
    expect(@deps).to eq []
  end

  after do
    File.delete(tmp_webapp_meta)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ansible_spec-0.2.17 spec/dependency_spec.rb
ansible_spec-0.2.16 spec/dependency_spec.rb