ansible_spec 0.1.1 → 0.2
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 +4 -4
- data/CHANGELOG.md +43 -0
- data/README.md +52 -53
- data/lib/ansible_spec/load_ansible.rb +5 -1
- data/lib/ansible_spec/version.rb +1 -1
- data/spec/load_ansible_spec.rb +195 -57
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e07abc240db36cb4184a4e946f019a330bd78716
|
4
|
+
data.tar.gz: db7a9f7a615c072f922927aed321e35233e018d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe5e7d75a375f5dd0bc9aeeecf37f0f2409ee819bb496dcd5e657cd880196b6dbbc80747383ee03447cfdfcb07ab775edf14d2c5ac6ad81142b303700f41aabe
|
7
|
+
data.tar.gz: a3b2e12c8ae73ff2aeafd5bb0990def9433bda0031ce3b0b2d4e121dba13f04db119acdcd4830e0dab7190b3a7d619d4b5fc0a58d19479ee70fb984537606d97
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# v0.2
|
2
|
+
- fix #24 Support ENV
|
3
|
+
|
4
|
+
```
|
5
|
+
Example:
|
6
|
+
$ PLAYBOOK=site.yml INVENTORY=hosts rake serverspec:Ansible-Sample-TDD
|
7
|
+
```
|
8
|
+
|
9
|
+
# v0.1.1
|
10
|
+
|
11
|
+
fix #22
|
12
|
+
|
13
|
+
|
14
|
+
# v0.1
|
15
|
+
|
16
|
+
- Support Serverspec v2
|
17
|
+
- Simplification Rakefile and Modularization. Because of Improvement of testability.
|
18
|
+
- Support InventoryParameters
|
19
|
+
- ansible_ssh_port
|
20
|
+
- ansible_ssh_user
|
21
|
+
- ansible_ssh_host
|
22
|
+
- ansible_ssh_private_key_file
|
23
|
+
- Support [hostlist expressions](http://docs.ansible.com/intro_inventory.html#hosts-and-groups)
|
24
|
+
- Support DynamicInventory
|
25
|
+
|
26
|
+
This gem created template file until v0.0.1.4,
|
27
|
+
But it was modularized on v0.1. Because module is easy to unit-test and Rakefile is simple.
|
28
|
+
|
29
|
+
If you want old release that can create template, use `gem install ansible_spec -v 0.0.1.4`
|
30
|
+
But I can't support(Bug fix, Add feature) old release.
|
31
|
+
|
32
|
+
## VersionUp from v0.0.1.4 to v0.1
|
33
|
+
|
34
|
+
```
|
35
|
+
$ rm Rakefile
|
36
|
+
$ rm spec/spec_helper.md
|
37
|
+
$ ansiblespec-init
|
38
|
+
```
|
39
|
+
|
40
|
+
# v0.0.1.3
|
41
|
+
- Support `.ansiblespec`
|
42
|
+
|
43
|
+
|
data/README.md
CHANGED
@@ -6,16 +6,9 @@ This gem is Ansible Config Parser for Serverspec.
|
|
6
6
|
Serverspec RakeTask uses Ansible Config(InventoryFile and Playbook).
|
7
7
|
Support Run Multi Role and Multi Host of Ansible.
|
8
8
|
|
9
|
-
|
10
|
-
But it was modularized on v0.1. Because module is easy to unit-test and Rakefile is simple.
|
11
|
-
|
12
|
-
If you want old release that can create template, use `gem install ansible_spec -v 0.0.1.4`
|
13
|
-
But I can't support(Bug fix, Add feature) old release.
|
14
|
-
|
15
|
-
## New feature at v0.1
|
9
|
+
# feature
|
16
10
|
|
17
11
|
- Support Serverspec v2
|
18
|
-
- Simplification Rakefile and Modularization. Because of Improvement of testability.
|
19
12
|
- Support InventoryParameters
|
20
13
|
- ansible_ssh_port
|
21
14
|
- ansible_ssh_user
|
@@ -24,7 +17,7 @@ But I can't support(Bug fix, Add feature) old release.
|
|
24
17
|
- Support [hostlist expressions](http://docs.ansible.com/intro_inventory.html#hosts-and-groups)
|
25
18
|
- Support DynamicInventory
|
26
19
|
|
27
|
-
|
20
|
+
# Installation
|
28
21
|
|
29
22
|
install it yourself as:
|
30
23
|
|
@@ -32,8 +25,8 @@ install it yourself as:
|
|
32
25
|
$ gem install ansible_spec
|
33
26
|
```
|
34
27
|
|
35
|
-
|
36
|
-
|
28
|
+
# Usage
|
29
|
+
## Create Rakafile & spec/spec_helper.rb
|
37
30
|
|
38
31
|
```
|
39
32
|
$ ansiblespec-init
|
@@ -43,18 +36,10 @@ $ ansiblespec-init
|
|
43
36
|
create .ansiblespec
|
44
37
|
```
|
45
38
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
$ rm spec/spec_helper.md
|
51
|
-
$ ansiblespec-init
|
52
|
-
```
|
53
|
-
|
54
|
-
### Change .ansiblespec(v0.0.1.3)
|
55
|
-
If `.ansiblespec` is exist, use variables(playbook and inventory).
|
56
|
-
So, If you don't use `site.yml` and `hosts`, you change this file.
|
57
|
-
If `.ansiblespec` not found, use `site.yml` as playbook and `hosts` as inventory.
|
39
|
+
## [option] .ansiblespec
|
40
|
+
if `.ansiblespec` is exist, use variables(playbook and inventory).
|
41
|
+
so, if you don't use `site.yml` and `hosts`, you change this file.
|
42
|
+
if `.ansiblespec` not found, use `site.yml` as playbook and `hosts` as inventory.
|
58
43
|
|
59
44
|
```.ansiblespec
|
60
45
|
---
|
@@ -63,38 +48,21 @@ If `.ansiblespec` not found, use `site.yml` as playbook and `hosts` as inventory
|
|
63
48
|
inventory: hosts
|
64
49
|
```
|
65
50
|
|
66
|
-
|
51
|
+
## [option] Environment variable
|
52
|
+
You can use Environment variable, when RakeTask command. It listed below.
|
67
53
|
|
68
|
-
|
54
|
+
- PLAYBOOK playbook name (e.g. site.yml)
|
55
|
+
- INVENTORY inventory file name (e.g. hosts)
|
56
|
+
I prioritize ENV more than `.ansiblespec`
|
69
57
|
|
70
58
|
```
|
71
|
-
|
72
|
-
|
73
|
-
├── README.md
|
74
|
-
├── hosts #use Ansible and Serverspec if .ansiblespec is not exist.
|
75
|
-
├── site.yml #use Ansible and Serverspec if .ansiblespec is not exist.
|
76
|
-
├── nginx.yml #(comment-out) incluted by site.yml
|
77
|
-
├── roles
|
78
|
-
│ └── nginx
|
79
|
-
│ ├── handlers
|
80
|
-
│ │ └── main.yml
|
81
|
-
│ ├── spec #use Serverspec
|
82
|
-
│ │ └── nginx_spec.rb
|
83
|
-
│ ├── tasks
|
84
|
-
│ │ └── main.yml
|
85
|
-
│ ├── templates
|
86
|
-
│ │ └── nginx.repo
|
87
|
-
│ └── vars
|
88
|
-
│ └── main.yml
|
89
|
-
├── Rakefile #Create file (use Serverspec)
|
90
|
-
└── spec #Create file (use Serverspec)
|
91
|
-
└── spec_helper.rb
|
59
|
+
Example:
|
60
|
+
$ PLAYBOOK=site.yml INVENTORY=hosts rake serverspec:Ansible-Sample-TDD
|
92
61
|
```
|
93
62
|
|
94
|
-
|
95
|
-
Serverspec use Ansible
|
63
|
+
## Inventory
|
64
|
+
Serverspec use Ansible Inventory. (Rakefile understand Notation of Ansible.)
|
96
65
|
|
97
|
-
* Inventory file
|
98
66
|
Inventory file can sue this:
|
99
67
|
- InventoryParameters
|
100
68
|
- ansible_ssh_port
|
@@ -105,6 +73,8 @@ Inventory file can sue this:
|
|
105
73
|
- Group Children
|
106
74
|
- [DynamicInventory](http://docs.ansible.com/intro_dynamic_inventory.html)
|
107
75
|
|
76
|
+
### Sample
|
77
|
+
|
108
78
|
```hosts
|
109
79
|
[server]
|
110
80
|
# skip line(comment)
|
@@ -139,14 +109,43 @@ server
|
|
139
109
|
databases
|
140
110
|
```
|
141
111
|
|
142
|
-
|
112
|
+
## DynamicInventory(need execute permission)
|
143
113
|
|
144
114
|
```
|
145
115
|
#!/bin/bash
|
146
116
|
echo '{"databases": {"hosts": ["host1.example.com", "host2.example.com"],"vars":{"a": true}}}'
|
147
117
|
```
|
148
118
|
|
149
|
-
|
119
|
+
|
120
|
+
# Sample
|
121
|
+
## Directory
|
122
|
+
sample is [here](https://github.com/volanja/ansible-sample-tdd)
|
123
|
+
|
124
|
+
```
|
125
|
+
.
|
126
|
+
├── .ansiblespec #Create file (use Serverspec). read above section.
|
127
|
+
├── README.md
|
128
|
+
├── hosts #use Ansible and Serverspec if .ansiblespec is not exist.
|
129
|
+
├── site.yml #use Ansible and Serverspec if .ansiblespec is not exist.
|
130
|
+
├── nginx.yml #(comment-out) incluted by site.yml
|
131
|
+
├── roles
|
132
|
+
│ └── nginx
|
133
|
+
│ ├── handlers
|
134
|
+
│ │ └── main.yml
|
135
|
+
│ ├── spec #use Serverspec
|
136
|
+
│ │ └── nginx_spec.rb
|
137
|
+
│ ├── tasks
|
138
|
+
│ │ └── main.yml
|
139
|
+
│ ├── templates
|
140
|
+
│ │ └── nginx.repo
|
141
|
+
│ └── vars
|
142
|
+
│ └── main.yml
|
143
|
+
├── Rakefile #Create file (use Serverspec)
|
144
|
+
└── spec #Create file (use Serverspec)
|
145
|
+
└── spec_helper.rb
|
146
|
+
```
|
147
|
+
|
148
|
+
## Playbook
|
150
149
|
playbook can use `include`
|
151
150
|
|
152
151
|
```site.yml
|
@@ -162,7 +161,7 @@ playbook can use `include`
|
|
162
161
|
- nginx
|
163
162
|
```
|
164
163
|
|
165
|
-
## Run Test
|
164
|
+
## Run Test
|
166
165
|
|
167
166
|
```
|
168
167
|
$ rake -T
|
@@ -178,7 +177,7 @@ Finished in 0.34306 seconds
|
|
178
177
|
11 examples, 0 failures
|
179
178
|
```
|
180
179
|
|
181
|
-
|
180
|
+
# Contributing
|
182
181
|
|
183
182
|
1. Fork it
|
184
183
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
@@ -121,7 +121,10 @@ module AnsibleSpec
|
|
121
121
|
# return: playbook, inventoryfile
|
122
122
|
def self.load_ansiblespec()
|
123
123
|
f = '.ansiblespec'
|
124
|
-
if
|
124
|
+
if ENV["PLAYBOOK"] && ENV["INVENTORY"]
|
125
|
+
playbook = ENV["PLAYBOOK"]
|
126
|
+
inventoryfile = ENV["INVENTORY"]
|
127
|
+
elsif File.exist?(f)
|
125
128
|
y = YAML.load_file(f)
|
126
129
|
playbook = y[0]['playbook']
|
127
130
|
inventoryfile = y[0]['inventory']
|
@@ -129,6 +132,7 @@ module AnsibleSpec
|
|
129
132
|
playbook = 'site.yml'
|
130
133
|
inventoryfile = 'hosts'
|
131
134
|
end
|
135
|
+
|
132
136
|
if File.exist?(playbook) == false
|
133
137
|
puts 'Error: ' + playbook + ' is not Found. create site.yml or ./.ansiblespec See https://github.com/volanja/ansible_spec'
|
134
138
|
exit 1
|
data/lib/ansible_spec/version.rb
CHANGED
data/spec/load_ansible_spec.rb
CHANGED
@@ -530,7 +530,36 @@ EOF
|
|
530
530
|
end
|
531
531
|
|
532
532
|
describe "load_ansiblespecの実行" do
|
533
|
-
context '正常系' do
|
533
|
+
context '正常系(環境変数)' do
|
534
|
+
require 'yaml'
|
535
|
+
tmp_playbook = 'site_env.yml'
|
536
|
+
tmp_hosts = 'hosts_env'
|
537
|
+
|
538
|
+
before do
|
539
|
+
ENV['PLAYBOOK'] = tmp_playbook
|
540
|
+
ENV['INVENTORY'] = tmp_hosts
|
541
|
+
create_file(tmp_playbook,'')
|
542
|
+
create_file(tmp_hosts,'')
|
543
|
+
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
544
|
+
end
|
545
|
+
|
546
|
+
it "playbook is #{tmp_playbook}" do
|
547
|
+
expect(@playbook).to eq tmp_playbook
|
548
|
+
end
|
549
|
+
|
550
|
+
it "inventoryfile is #{tmp_hosts}" do
|
551
|
+
expect(@inventoryfile).to eq tmp_hosts
|
552
|
+
end
|
553
|
+
|
554
|
+
after do
|
555
|
+
ENV.delete('PLAYBOOK')
|
556
|
+
ENV.delete('INVENTORY')
|
557
|
+
File.delete(tmp_playbook)
|
558
|
+
File.delete(tmp_hosts)
|
559
|
+
end
|
560
|
+
end
|
561
|
+
|
562
|
+
context '正常系(.ansiblespec)' do
|
534
563
|
require 'yaml'
|
535
564
|
tmp_ansiblespec = '.ansiblespec'
|
536
565
|
tmp_playbook = 'site.yml'
|
@@ -544,94 +573,212 @@ describe "load_ansiblespecの実行" do
|
|
544
573
|
playbook: site.yml
|
545
574
|
inventory: hosts
|
546
575
|
EOF
|
576
|
+
create_file(tmp_ansiblespec,content)
|
577
|
+
create_file(tmp_playbook,'')
|
578
|
+
create_file(tmp_hosts,'')
|
579
|
+
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
580
|
+
end
|
547
581
|
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
user: root
|
552
|
-
roles:
|
553
|
-
- nginx
|
554
|
-
- mariadb
|
555
|
-
EOF
|
582
|
+
it "playbook is #{tmp_playbook}" do
|
583
|
+
expect(@playbook).to eq tmp_playbook
|
584
|
+
end
|
556
585
|
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
586
|
+
it "inventoryfile is #{tmp_hosts}" do
|
587
|
+
expect(@inventoryfile).to eq tmp_hosts
|
588
|
+
end
|
589
|
+
|
590
|
+
after do
|
591
|
+
File.delete(tmp_ansiblespec)
|
592
|
+
File.delete(tmp_playbook)
|
593
|
+
File.delete(tmp_hosts)
|
594
|
+
end
|
595
|
+
end
|
596
|
+
|
597
|
+
context '正常系(.ansiblespecと環境変数がある場合、環境変数が優先される)' do
|
598
|
+
require 'yaml'
|
599
|
+
tmp_ansiblespec = '.ansiblespec'
|
600
|
+
tmp_playbook = 'site.yml'
|
601
|
+
tmp_hosts = 'hosts'
|
602
|
+
env_playbook = 'site_env.yml'
|
603
|
+
env_hosts = 'hosts_env'
|
604
|
+
|
605
|
+
before do
|
606
|
+
ENV['PLAYBOOK'] = env_playbook
|
607
|
+
ENV['INVENTORY'] = env_hosts
|
608
|
+
create_file(tmp_ansiblespec,'')
|
609
|
+
create_file(tmp_playbook,'')
|
610
|
+
create_file(tmp_hosts,'')
|
611
|
+
create_file(env_playbook,'')
|
612
|
+
create_file(env_hosts,'')
|
565
613
|
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
566
614
|
end
|
567
615
|
|
568
|
-
it
|
569
|
-
expect(@playbook).to eq
|
616
|
+
it "playbook is #{env_playbook}" do
|
617
|
+
expect(@playbook).to eq env_playbook
|
570
618
|
end
|
571
619
|
|
572
|
-
it
|
573
|
-
expect(@inventoryfile).to eq
|
620
|
+
it "inventoryfile is #{env_hosts}" do
|
621
|
+
expect(@inventoryfile).to eq env_hosts
|
574
622
|
end
|
575
623
|
|
576
624
|
after do
|
625
|
+
ENV.delete('PLAYBOOK')
|
626
|
+
ENV.delete('INVENTORY')
|
577
627
|
File.delete(tmp_ansiblespec)
|
578
628
|
File.delete(tmp_playbook)
|
579
629
|
File.delete(tmp_hosts)
|
630
|
+
File.delete(env_playbook)
|
631
|
+
File.delete(env_hosts)
|
580
632
|
end
|
581
633
|
end
|
582
634
|
|
583
|
-
context '
|
635
|
+
context '正常系(.ansiblespecと環境変数がないが、site.ymlとhostsがある場合)' do
|
584
636
|
require 'yaml'
|
585
637
|
tmp_playbook = 'site.yml'
|
586
638
|
tmp_hosts = 'hosts'
|
587
639
|
|
588
640
|
before do
|
641
|
+
create_file(tmp_playbook,'')
|
642
|
+
create_file(tmp_hosts,'')
|
643
|
+
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
644
|
+
end
|
589
645
|
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
user: root
|
594
|
-
roles:
|
595
|
-
- nginx
|
596
|
-
- mariadb
|
597
|
-
EOF
|
646
|
+
it "playbook is #{tmp_playbook}" do
|
647
|
+
expect(@playbook).to eq tmp_playbook
|
648
|
+
end
|
598
649
|
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
650
|
+
it "inventoryfile is #{tmp_hosts}" do
|
651
|
+
expect(@inventoryfile).to eq tmp_hosts
|
652
|
+
end
|
653
|
+
|
654
|
+
after do
|
655
|
+
File.delete(tmp_playbook)
|
656
|
+
File.delete(tmp_hosts)
|
657
|
+
end
|
658
|
+
end
|
659
|
+
|
660
|
+
context '異常系(環境変数PLAYBOOKがないので初期値を使う)' do
|
661
|
+
require 'yaml'
|
662
|
+
tmp_playbook = 'site.yml'
|
663
|
+
tmp_hosts = 'hosts'
|
664
|
+
env_hosts = 'hosts_env'
|
665
|
+
|
666
|
+
before do
|
667
|
+
ENV['INVENTORY'] = tmp_hosts
|
668
|
+
create_file(tmp_playbook,'')
|
669
|
+
create_file(tmp_hosts,'')
|
606
670
|
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
607
671
|
end
|
608
672
|
|
609
|
-
it
|
610
|
-
expect(@playbook).to eq
|
673
|
+
it "playbook is #{tmp_playbook}" do
|
674
|
+
expect(@playbook).to eq tmp_playbook
|
611
675
|
end
|
612
676
|
|
613
|
-
it
|
614
|
-
expect(@inventoryfile).to eq
|
677
|
+
it "inventoryfile is #{tmp_hosts}" do
|
678
|
+
expect(@inventoryfile).to eq tmp_hosts
|
615
679
|
end
|
616
680
|
|
617
681
|
after do
|
682
|
+
ENV.delete('INVENTORY')
|
618
683
|
File.delete(tmp_playbook)
|
619
684
|
File.delete(tmp_hosts)
|
620
685
|
end
|
621
686
|
end
|
622
687
|
|
623
|
-
context '異常系(
|
688
|
+
context '異常系(環境変数INVENTORYがないので初期値を使う)' do
|
624
689
|
require 'yaml'
|
690
|
+
tmp_playbook = 'site.yml'
|
625
691
|
tmp_hosts = 'hosts'
|
692
|
+
env_playbook = 'site_env.yml'
|
626
693
|
|
627
694
|
before do
|
695
|
+
ENV['PLAYBOOK'] = tmp_playbook
|
696
|
+
create_file(tmp_playbook,'')
|
697
|
+
create_file(tmp_hosts,'')
|
698
|
+
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
699
|
+
end
|
628
700
|
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
701
|
+
it "playbook is #{tmp_playbook}" do
|
702
|
+
expect(@playbook).to eq tmp_playbook
|
703
|
+
end
|
704
|
+
|
705
|
+
it "inventoryfile is #{tmp_hosts}" do
|
706
|
+
expect(@inventoryfile).to eq tmp_hosts
|
707
|
+
end
|
708
|
+
|
709
|
+
after do
|
710
|
+
ENV.delete('PLAYBOOK')
|
711
|
+
File.delete(tmp_playbook)
|
712
|
+
File.delete(tmp_hosts)
|
713
|
+
end
|
714
|
+
end
|
715
|
+
|
716
|
+
context '異常系(環境変数INVENTORYがないので.ansiblespecを使う)' do
|
717
|
+
require 'yaml'
|
718
|
+
tmp_ansiblespec = '.ansiblespec'
|
719
|
+
tmp_playbook = 'site_spec.yml'
|
720
|
+
tmp_hosts = 'hosts_spec'
|
721
|
+
env_playbook = 'site_env.yml'
|
722
|
+
env_hosts = 'hosts_env'
|
723
|
+
|
724
|
+
before do
|
725
|
+
ENV['PLAYBOOK'] = env_playbook
|
726
|
+
content = <<'EOF'
|
727
|
+
---
|
728
|
+
-
|
729
|
+
playbook: site_spec.yml
|
730
|
+
inventory: hosts_spec
|
633
731
|
EOF
|
634
|
-
create_file(
|
732
|
+
create_file(tmp_ansiblespec,content)
|
733
|
+
create_file(tmp_playbook,'')
|
734
|
+
create_file(tmp_hosts,'')
|
735
|
+
create_file(env_playbook,'')
|
736
|
+
create_file(env_hosts,'')
|
737
|
+
@playbook, @inventoryfile = AnsibleSpec.load_ansiblespec()
|
738
|
+
end
|
739
|
+
|
740
|
+
it "playbook is #{tmp_playbook}" do
|
741
|
+
expect(@playbook).to eq tmp_playbook
|
742
|
+
end
|
743
|
+
|
744
|
+
it "inventoryfile is #{tmp_hosts}" do
|
745
|
+
expect(@inventoryfile).to eq tmp_hosts
|
746
|
+
end
|
747
|
+
|
748
|
+
after do
|
749
|
+
ENV.delete('PLAYBOOK')
|
750
|
+
File.delete(tmp_ansiblespec)
|
751
|
+
File.delete(tmp_playbook)
|
752
|
+
File.delete(tmp_hosts)
|
753
|
+
File.delete(env_playbook)
|
754
|
+
File.delete(env_hosts)
|
755
|
+
end
|
756
|
+
end
|
757
|
+
|
758
|
+
context '異常系(環境変数で指定したファイルがない場合)' do
|
759
|
+
require 'yaml'
|
760
|
+
|
761
|
+
before do
|
762
|
+
ENV['PLAYBOOK'] = 'site_env.yml'
|
763
|
+
ENV['INVENTORY'] = 'hosts_env'
|
764
|
+
end
|
765
|
+
|
766
|
+
it 'exitする' do
|
767
|
+
expect{ AnsibleSpec.load_ansiblespec }.to raise_error(SystemExit)
|
768
|
+
end
|
769
|
+
|
770
|
+
after do
|
771
|
+
ENV.delete('PLAYBOOK')
|
772
|
+
ENV.delete('INVENTORY')
|
773
|
+
end
|
774
|
+
end
|
775
|
+
|
776
|
+
context '異常系(.ansiblespecとsite.ymlがないが、hostsがある場合)' do
|
777
|
+
require 'yaml'
|
778
|
+
tmp_hosts = 'hosts'
|
779
|
+
|
780
|
+
before do
|
781
|
+
create_file(tmp_hosts,'')
|
635
782
|
end
|
636
783
|
|
637
784
|
it 'exitする' do
|
@@ -648,16 +795,7 @@ EOF
|
|
648
795
|
tmp_playbook = 'site.yml'
|
649
796
|
|
650
797
|
before do
|
651
|
-
|
652
|
-
content_p = <<'EOF'
|
653
|
-
- name: Ansible-Sample-TDD
|
654
|
-
hosts: server
|
655
|
-
user: root
|
656
|
-
roles:
|
657
|
-
- nginx
|
658
|
-
- mariadb
|
659
|
-
EOF
|
660
|
-
create_file(tmp_playbook,content_p)
|
798
|
+
create_file(tmp_playbook,'')
|
661
799
|
end
|
662
800
|
|
663
801
|
it 'exitする' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansible_spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- volanja
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -120,6 +120,7 @@ files:
|
|
120
120
|
- .gitignore
|
121
121
|
- .rspec
|
122
122
|
- .travis.yml
|
123
|
+
- CHANGELOG.md
|
123
124
|
- Gemfile
|
124
125
|
- LICENSE.txt
|
125
126
|
- README.md
|