dockerspec 0.2.0 → 0.3.0

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/LICENSE +1 -1
  4. data/README.md +190 -24
  5. data/Rakefile +60 -6
  6. data/TODO.md +3 -2
  7. data/lib/dockerspec.rb +1 -2
  8. data/lib/dockerspec/builder.rb +13 -6
  9. data/lib/dockerspec/builder/config_helpers.rb +8 -3
  10. data/lib/dockerspec/builder/logger/ci.rb +2 -2
  11. data/lib/dockerspec/builder/matchers.rb +32 -51
  12. data/lib/dockerspec/configuration.rb +188 -0
  13. data/lib/dockerspec/docker_exception_parser.rb +2 -2
  14. data/lib/dockerspec/engine/base.rb +156 -0
  15. data/lib/dockerspec/engine/infrataster.rb +87 -0
  16. data/lib/dockerspec/engine/specinfra.rb +130 -0
  17. data/lib/dockerspec/engine/specinfra/backend.rb +163 -0
  18. data/lib/dockerspec/{serverspec/specinfra_hack.rb → engine/specinfra/backend_hack.rb} +17 -3
  19. data/lib/dockerspec/engine_list.rb +150 -0
  20. data/lib/dockerspec/exceptions.rb +13 -0
  21. data/lib/dockerspec/helper/multiple_sources_description.rb +3 -3
  22. data/lib/dockerspec/helper/rspec_example_helpers.rb +86 -6
  23. data/lib/dockerspec/infrataster.rb +26 -0
  24. data/lib/dockerspec/rspec.rb +21 -0
  25. data/lib/dockerspec/{rspec_configuration.rb → rspec/configuration.rb} +1 -1
  26. data/lib/dockerspec/rspec/resources.rb +602 -0
  27. data/lib/dockerspec/rspec/resources/its_container.rb +110 -0
  28. data/lib/dockerspec/{rspec_settings.rb → rspec/settings.rb} +5 -1
  29. data/lib/dockerspec/runner.rb +2 -357
  30. data/lib/dockerspec/runner/base.rb +367 -0
  31. data/lib/dockerspec/runner/compose.rb +322 -0
  32. data/lib/dockerspec/runner/docker.rb +302 -0
  33. data/lib/dockerspec/runner/serverspec.rb +21 -0
  34. data/lib/dockerspec/runner/serverspec/base.rb +185 -0
  35. data/lib/dockerspec/runner/serverspec/compose.rb +106 -0
  36. data/lib/dockerspec/runner/serverspec/docker.rb +116 -0
  37. data/lib/dockerspec/runner/serverspec/rspec.rb +20 -0
  38. data/lib/dockerspec/{serverspec/rspec_settings.rb → runner/serverspec/rspec/settings.rb} +1 -1
  39. data/lib/dockerspec/serverspec.rb +12 -2
  40. data/lib/dockerspec/version.rb +1 -1
  41. data/spec/spec_helper.rb +6 -2
  42. metadata +84 -15
  43. data/lib/dockerspec/rspec_assertions.rb +0 -54
  44. data/lib/dockerspec/rspec_resources.rb +0 -203
  45. data/lib/dockerspec/serverspec/rspec_resources.rb +0 -179
  46. data/lib/dockerspec/serverspec/runner.rb +0 -305
  47. data/lib/dockerspec/serverspec/specinfra_backend.rb +0 -128
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7694cecd69e554a6954f6b9db00f3fe2b768f15c
4
- data.tar.gz: 1a2a4415286128639366c18f8ab4f6d303d416c0
3
+ metadata.gz: 00c000093e65be525764d4adb1a19c986747a1f2
4
+ data.tar.gz: 31ffe0b3521f66c09dffb9994e0d5de0a7895ef9
5
5
  SHA512:
6
- metadata.gz: 524a40d59079d2532db4817df108b08e78d964a1a4ec24f046a2f20c398d9121952fa1f9fd43211a02dfa2211e9bd45fb49b10c6c3dad3f693c5432e78cabe77
7
- data.tar.gz: 1e60d573d88980f9c018dbed60012ee51e4fdfba50a181ec3a7389d1aa655038f67556ea95421089b4f1d2a1e1b933d75720c20d12f51654edca4afa2c42d982
6
+ metadata.gz: cf7da409ef3be6b88a6720bab01736e9badb61fc12b6ed494fee7efc47df18ca51aa09ad11a1703230aee29912e0dd62788d2653463048f8bfcea457a3fb4297
7
+ data.tar.gz: 769fd611bd5c3e1bb8b97e8d37f65adb9572a2fe810e26af03e85d41ec7dac8af7fc543ba8575c7afef6fccc2cace7455404f8a0e20d9c0caa14deb5fca248b5
@@ -2,6 +2,40 @@
2
2
 
3
3
  This file is used to list changes made in each version of `dockerspec` Ruby Gem.
4
4
 
5
+ ## 0.3.0 (2016-02-28)
6
+
7
+ ### Breaking Changes on 0.3.0
8
+
9
+ * Enable `options[:rm]` by default.
10
+
11
+ ### New Features on 0.3.0
12
+
13
+ * Add Docker Compose support.
14
+ * Add Infrataster and Capybara support.
15
+ * Add `:wait` option to `docker_run` and `docker_compose`.
16
+ * Add `described_image` helper for `docker_run`.
17
+ * Support integer values with `have_expose` matcher.
18
+ * Make `require 'dockerspec'` optional.
19
+
20
+ ### Fixes on 0.3.0
21
+
22
+ * Fix `:env` in `docker_run` with Serverspec.
23
+ * Fix *Must have id* error when building images from IDs with tags.
24
+
25
+ ### Improvements on 0.3.0
26
+
27
+ * Update RuboCop to `0.37`, fix new offenses.
28
+ * `Runner` classes split into `Engine::Base` and `Runner::Base`.
29
+ * Add support for multiple testing engines.
30
+ * Add a `Configuration` class to setup the internal modularization.
31
+ * Rename many classes.
32
+
33
+ ### Documentation Changes on 0.3.0
34
+
35
+ * README:
36
+ * Move the documentation below examples.
37
+ * Add many examples.
38
+
5
39
  ## 0.2.0 (2015-12-11)
6
40
 
7
41
  ### New Features on 0.2.0
data/LICENSE CHANGED
@@ -175,7 +175,7 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
175
175
 
176
176
  END OF TERMS AND CONDITIONS
177
177
 
178
- Copyright 2015 Xabier de Zuazo
178
+ Copyright 2015-2016 Xabier de Zuazo
179
179
 
180
180
  Licensed under the Apache License, Version 2.0 (the "License");
181
181
  you may not use this file except in compliance with the License.
data/README.md CHANGED
@@ -6,14 +6,14 @@
6
6
  [![Gem Version](https://badge.fury.io/rb/dockerspec.svg)](https://rubygems.org/gems/dockerspec)
7
7
  [![Dependency Status](http://img.shields.io/gemnasium/zuazo/dockerspec.svg?style=flat)](https://gemnasium.com/zuazo/dockerspec)
8
8
  [![Code Climate](http://img.shields.io/codeclimate/github/zuazo/dockerspec.svg?style=flat)](https://codeclimate.com/github/zuazo/dockerspec)
9
- [![Travis CI Build Status](http://img.shields.io/travis/zuazo/dockerspec/0.2.0.svg?style=flat)](https://travis-ci.org/zuazo/dockerspec)
9
+ [![Travis CI Build Status](http://img.shields.io/travis/zuazo/dockerspec/0.3.0.svg?style=flat)](https://travis-ci.org/zuazo/dockerspec)
10
10
  [![Circle CI Build Status](https://circleci.com/gh/zuazo/dockerspec/tree/master.svg?style=shield)](https://circleci.com/gh/zuazo/dockerspec/tree/master)
11
- [![Coverage Status](http://img.shields.io/coveralls/zuazo/dockerspec/0.2.0.svg?style=flat)](https://coveralls.io/r/zuazo/dockerspec?branch=0.2.0)
11
+ [![Coverage Status](http://img.shields.io/coveralls/zuazo/dockerspec/0.3.0.svg?style=flat)](https://coveralls.io/r/zuazo/dockerspec?branch=0.3.0)
12
12
  [![Inline docs](http://inch-ci.org/github/zuazo/dockerspec.svg?branch=master&style=flat)](http://inch-ci.org/github/zuazo/dockerspec)
13
13
 
14
14
  ## Description
15
15
 
16
- A small Ruby Gem to run RSpec and [Serverspec](http://serverspec.org/) tests against Dockerfiles or Docker images easily.
16
+ A small Ruby Gem to run RSpec, [Serverspec](http://serverspec.org/), [Infrataster](https://github.com/ryotarai/infrataster) and [Capybara](http://jnicklas.github.io/capybara/) tests against Dockerfiles or Docker images easily.
17
17
 
18
18
  This gem is designed to work out of the box on [Travis CI](https://travis-ci.org/), [CircleCI](https://circleci.com/) and other similar CI environments.
19
19
 
@@ -33,7 +33,7 @@ $ gem install dockerspec
33
33
  Or you can add this line to the *Gemfile* of your application:
34
34
 
35
35
  ```ruby
36
- gem 'dockerspec', '~> 0.2.0'
36
+ gem 'dockerspec', '~> 0.3.0'
37
37
  ```
38
38
 
39
39
  And then execute:
@@ -44,30 +44,22 @@ $ bundle
44
44
 
45
45
  **Warning:** As the gem is in its early development stages, [the API is very likely to break between minor versions](http://semver.org/).
46
46
 
47
- ## Documentation
48
-
49
- - [`docker_build`](http://www.rubydoc.info/gems/dockerspec/Dockerspec/RSpecResources#docker_build-instance_method)
50
- - [*Docker Build* helpers](http://www.rubydoc.info/gems/dockerspec/Dockerspec/Builder/ConfigHelpers)
51
- - [`docker_run`](http://www.rubydoc.info/gems/dockerspec/Dockerspec/Serverspec/RSpecResources#docker_run-instance_method)
52
- - [*Docker Run* Serverspec resource types](http://serverspec.org/resource_types.html)
53
-
54
47
  ## Usage Examples
55
48
 
56
49
  ### Run Tests Against a Dockerfile in the Current Directory
57
50
 
58
51
  ```ruby
59
- require 'dockerspec'
60
52
  require 'dockerspec/serverspec'
61
53
 
62
54
  describe 'My Dockerfile' do
63
- describe docker_build('.', tag: 'myapp') do
55
+ describe docker_build('.') do
64
56
 
65
57
  it { should have_maintainer /John Doe/ }
66
58
  it { should have_cmd ['/bin/dash'] }
67
59
  it { should have_expose '80' }
68
60
  it { should have_user 'nobody' }
69
61
 
70
- describe docker_run('myapp') do
62
+ describe docker_run(described_image) do
71
63
  describe file('/etc/httpd.conf') do
72
64
  it { should be_file }
73
65
  it { should contain 'ServerName www.example.jp' }
@@ -78,15 +70,195 @@ describe 'My Dockerfile' do
78
70
  it { should be_running }
79
71
  end
80
72
  end
73
+
81
74
  end
82
75
  end
83
76
  ```
84
77
 
85
78
  See the documentation above for more examples.
86
79
 
80
+ ### Run Tests Against Docker Compose
81
+
82
+ ```ruby
83
+ require 'dockerspec/serverspec'
84
+
85
+ describe docker_compose('.', wait: 30) do
86
+
87
+ its_container(:myapp) do
88
+ describe process('apache2') do
89
+ it { should be_running }
90
+ its(:args) { should match(/-DFOREGROUND/) }
91
+ end
92
+ # [...]
93
+ end
94
+
95
+ its_container(:db) do
96
+ describe process('mysqld') do
97
+ it { should be_running }
98
+ end
99
+ # [...]
100
+ end
101
+
102
+ end
103
+ ```
104
+
105
+ **Important Warning:** The `docker_compose` resource uses the [`docker-compose-api`](https://rubygems.org/gems/docker-compose-api) Ruby gem to emulate Docker Compose. So, some *docker-compose.yml* configuration options may not be supported yet or may not work exactly the same. Let us know if you find any bug or you need a missing feature. And thanks to [Mauricio Klein](https://github.com/mauricioklein) for all his work by the way!
106
+
107
+ ### Run HTTP Tests Using Infrataster
108
+
109
+ ```ruby
110
+ # require 'dockerspec/serverspec' # Only if you want to run both types of tests
111
+ require 'dockerspec/infrataster'
112
+
113
+ describe docker_run('nginx') do
114
+ describe server(described_container) do # Infrataster
115
+
116
+ describe http('/') do
117
+ it 'responds content including "Welcome to nginx!"' do
118
+ expect(response.body).to include 'Welcome to nginx!'
119
+ end
120
+
121
+ it 'responds as "nginx" server' do
122
+ expect(response.headers['server']).to match(/nginx/i)
123
+ end
124
+ end
125
+
126
+ end
127
+ end
128
+ ```
129
+ See the [Infrataster Resources documentation](http://www.rubydoc.info/gems/infrataster#Resources) for more information.
130
+
131
+ ### Run HTTP Tests Using Capybara
132
+
133
+ In the following example we set the *admin* password and log in in a hypothetical web application:
134
+
135
+ ```ruby
136
+ require 'dockerspec/infrataster'
137
+
138
+ describe docker_build('.', tag: 'mywebapp') do
139
+ describe docker_run('mywebapp') do
140
+
141
+ describe server(described_container) do
142
+ describe capybara('/') do
143
+ let(:password) { '4dm1nP4ssw0rd' }
144
+
145
+ describe 'on /setup' do
146
+ before { visit '/setup' }
147
+
148
+ it 'contains "Configure the password"' do
149
+ expect(page).to have_content 'Configure the password'
150
+ end
151
+
152
+ it 'sets the admin password' do
153
+ fill_in 'Password', with: password
154
+ fill_in 'Confirm Password', with: password
155
+ click_button 'Set password'
156
+ end
157
+ end
158
+
159
+ describe 'on /login' do
160
+ before { visit '/login' }
161
+
162
+ it 'logs in as admin' do
163
+ expect(page).to have_content 'sign in'
164
+ fill_in 'User name', with: 'admin'
165
+ fill_in 'Password', with: password
166
+ click_button 'Sig in'
167
+ end
168
+ end
169
+
170
+ describe 'on /' do
171
+ before { visit '/' }
172
+
173
+ it 'is logged id' do
174
+ expect(page).to have_content 'Welcome admin!'
175
+ end
176
+ end
177
+
178
+ end
179
+ end
180
+
181
+ end
182
+ end
183
+ ```
184
+
185
+ See the [Capybara DSL documentation](http://www.rubydoc.info/gems/capybara#The_DSL) for more information.
186
+
187
+ ### Run Database Tests Using `infrataster-plugin-mysql` Gem with Docker Compose
188
+
189
+ You need to include the `infrataster-plugin-mysql` gem in your *Gemfile*:
190
+
191
+ ```ruby
192
+ # Gemfile
193
+
194
+ # gem [...]
195
+ gem 'infrataster-plugin-mysql', '~> 0.2.0'
196
+ ```
197
+
198
+ A *docker-compose.yml* file example with a database:
199
+
200
+ ```yaml
201
+ myapp:
202
+ image: myapp
203
+ links:
204
+ - db:mysql
205
+ ports:
206
+ - 8080:80
207
+
208
+ db:
209
+ image: mariadb
210
+ environment:
211
+ - MYSQL_ROOT_PASSWORD=example
212
+ ```
213
+
214
+ The file with the tests:
215
+
216
+ ```ruby
217
+ require 'dockerspec/infrataster'
218
+ require 'infrataster-plugin-mysql'
219
+
220
+ describe docker_compose('docker-compose.yml', wait: 60) do
221
+
222
+ its_container(:db, mysql: { user: 'root', password: 'example' }) do
223
+ describe server(described_container) do # Infrataster
224
+
225
+ describe mysql_query('SHOW STATUS') do
226
+ it 'returns positive uptime' do
227
+ row = results.find { |r| r['Variable_name'] == 'Uptime' }
228
+ expect(row['Value'].to_i).to be > 0
229
+ end
230
+ end
231
+
232
+ describe mysql_query('SHOW DATABASES') do
233
+ it 'includes `myapp` database' do
234
+ databases = results.map { |r| r['Database'] }
235
+ expect(databases).to include('myapp')
236
+ end
237
+ end
238
+
239
+ end
240
+ end
241
+ end
242
+ ```
243
+
244
+ ## Documentation
245
+
246
+ - [`docker_build`](http://www.rubydoc.info/gems/dockerspec/Dockerspec/RSpec/Resources#docker_build-instance_method)
247
+ - [*Docker Build* helpers](http://www.rubydoc.info/gems/dockerspec/Dockerspec/Builder/ConfigHelpers)
248
+ - [`docker_run`](http://www.rubydoc.info/gems/dockerspec/Dockerspec/RSpec/Resources#docker_run-instance_method)
249
+ - [*Docker Run* Serverspec resource types](http://serverspec.org/resource_types.html)
250
+ - [Infrataster Resources](http://www.rubydoc.info/gems/infrataster#Resources)
251
+ - [Capybara DSL](http://www.rubydoc.info/gems/capybara#The_DSL)
252
+ - [`docker_compose`](http://www.rubydoc.info/gems/dockerspec/Dockerspec/RSpec/Resources#docker_compose-instance_method)
253
+ - [`its_container`](http://www.rubydoc.info/gems/dockerspec/Dockerspec/RSpec/Resources#its_container-instance_method)
254
+
87
255
  ### Real-world Examples
88
256
 
89
257
  * [`alpine-tor`](https://github.com/zuazo/alpine-tor-docker) image ([*spec/*](https://github.com/zuazo/alpine-tor-docker/tree/master/spec), [*Gemfile*](https://github.com/zuazo/alpine-tor-docker/tree/master/Gemfile), [*.travis.yml*](https://github.com/zuazo/alpine-tor-docker/tree/master/.travis.yml)).
258
+ * [`chef-local`](https://github.com/zuazo/chef-local-docker) image ([*spec/*](https://github.com/zuazo/chef-local-docker/tree/master/spec), [*Gemfile*](https://github.com/zuazo/chef-local-docker/tree/master/Gemfile), [*.travis.yml*](https://github.com/zuazo/chef-local-docker/tree/master/.travis.yml)): Runs the same tests against multiple tags.
259
+ * [`keywhiz`](https://github.com/zuazo/keywhiz-docker) image ([*spec/*](https://github.com/zuazo/keywhiz-docker/tree/master/spec), [*Gemfile*](https://github.com/zuazo/keywhiz-docker/tree/master/Gemfile), [*.travis.yml*](https://github.com/zuazo/keywhiz-docker/tree/master/.travis.yml)).
260
+ * [`irssi-tor`](https://github.com/zuazo/irssi-tor-docker) image ([*spec/*](https://github.com/zuazo/irssi-tor-docker/tree/master/spec), [*Gemfile*](https://github.com/zuazo/irssi-tor-docker/tree/master/Gemfile), [*.travis.yml*](https://github.com/zuazo/irssi-tor-docker/tree/master/.travis.yml)).
261
+ * [`dradis`](https://github.com/zuazo/dradis-docker) image ([*spec/*](https://github.com/zuazo/dradis-docker/tree/master/spec), [*Gemfile*](https://github.com/zuazo/dradis-docker/tree/master/Gemfile), [*.travis.yml*](https://github.com/zuazo/dradis-docker/tree/master/.travis.yml)): Runs some Capybara HTTP tests.
90
262
 
91
263
  ### Prepare Your Ruby Environment
92
264
 
@@ -99,7 +271,7 @@ If you are new to Ruby, you can follow these steps:
99
271
 
100
272
  source 'https://rubygems.org'
101
273
 
102
- gem 'dockerspec', '~> 0.2.0'
274
+ gem 'dockerspec', '~> 0.3.0'
103
275
  ```
104
276
 
105
277
  #### 2. Create the *spec/* directory:
@@ -113,13 +285,12 @@ $ mkdir spec
113
285
  ```ruby
114
286
  # spec/myapp_spec.rb
115
287
 
116
- require 'dockerspec'
117
288
  require 'dockerspec/serverspec'
118
289
 
119
290
  describe 'My Dockerfile' do
120
- describe docker_build('.', tag: 'myapp') do
291
+ describe docker_build('.') do
121
292
  # [...]
122
- describe docker_run('myapp') do
293
+ describe docker_run(described_image) do
123
294
  # [...]
124
295
  end
125
296
  end
@@ -145,11 +316,6 @@ $ bundle exec rspec
145
316
  ```yaml
146
317
  language: ruby
147
318
 
148
- rvm:
149
- - 2.0.0
150
- - 2.1
151
- - 2.2
152
-
153
319
  sudo: required
154
320
 
155
321
  services: docker
@@ -192,7 +358,7 @@ See [TODO.md](https://github.com/zuazo/dockerspec/blob/master/TODO.md).
192
358
  | | |
193
359
  |:---------------------|:-----------------------------------------|
194
360
  | **Author:** | [Xabier de Zuazo](https://github.com/zuazo) (<xabier@zuazo.org>)
195
- | **Copyright:** | Copyright (c) 2015 Xabier de Zuazo
361
+ | **Copyright:** | Copyright (c) 2015-2016 Xabier de Zuazo
196
362
  | **License:** | Apache License, Version 2.0
197
363
 
198
364
  Licensed under the Apache License, Version 2.0 (the "License");
data/Rakefile CHANGED
@@ -2,7 +2,22 @@
2
2
  # -*- mode: ruby -*-
3
3
  # vi: set ft=ruby :
4
4
 
5
+ #
6
+ # Available Rake tasks:
7
+ #
8
+ # $ rake -T
9
+ # rake clean # Clean some generated files
10
+ # rake integration # Run the integration tests
11
+ # rake integration:infrataster # Infrataster engine integration tests
12
+ # rake integration:serverspec # Serverspec engine integration tests
13
+ # rake rubocop # Run RuboCop style checks
14
+ # rake style # Run all style checks
15
+ # rake test # Run all the tests
16
+ # rake unit # Run the unit tests
17
+ # rake yard # Generate Ruby documentation
18
+ #
5
19
  # More info at https://github.com/ruby/rake/blob/master/doc/rakefile.rdoc
20
+ #
6
21
 
7
22
  require 'bundler'
8
23
  Bundler::GemHelper.install_tasks
@@ -43,15 +58,54 @@ task style: %w(rubocop)
43
58
 
44
59
  require 'rspec/core/rake_task'
45
60
 
46
- {
47
- test: '{unit,integration}',
48
- unit: 'unit',
49
- integration: 'integration'
50
- }.each do |test, dir|
51
- RSpec::Core::RakeTask.new(test) do |t|
61
+ #
62
+ # Gest the tests directory name to use.
63
+ #
64
+ # @param name [String] The task name.
65
+ #
66
+ # @return [String] Subdirectory name inside *spec/*.
67
+ #
68
+ def rake_dir_from_name(name)
69
+ if %w(serverspec infrataster).include?(name.to_s)
70
+ 'integration'
71
+ else
72
+ name.to_s == 'test' ? '{unit,integration}' : name
73
+ end
74
+ end
75
+
76
+ #
77
+ # Generates RakeTask to run the tests.
78
+ #
79
+ # @param name [String] The task name.
80
+ #
81
+ # @param env [Hash] The environment variables to set.
82
+ #
83
+ # @return [RSpec::Core::RakeTask] The Generated RakeTask.
84
+ #
85
+ def rake_task(name, env = {})
86
+ dir = rake_dir_from_name(name)
87
+ RSpec::Core::RakeTask.new(name) do |t|
88
+ env.each { |k, v| ENV[k.to_s.upcase] = v.to_s }
52
89
  t.pattern = "spec/#{dir}/**{,/*/**}/*_spec.rb"
53
90
  t.verbose = true
54
91
  end
55
92
  end
56
93
 
94
+ desc 'Run the unit tests'
95
+ rake_task(:unit)
96
+
97
+ namespace :integration do
98
+ desc 'Serverspec engine integration tests'
99
+ rake_task(:serverspec, serverspec: true)
100
+
101
+ desc 'Infrataster engine integration tests'
102
+ rake_task(:infrataster, infrataster: true)
103
+ end
104
+
105
+ desc 'Run all the integration tests'
106
+ rake_task(:integration)
107
+
108
+ desc 'Run all the tests'
109
+ rake_task(:test)
110
+
57
111
  task default: %w(style test)
data/TODO.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # TODO for Dockerspec
2
2
 
3
3
  * [ ] Integrate with [Inspec](https://www.chef.io/inspec/).
4
- * [ ] Integrate with [Infrataster](https://github.com/ryotarai/infrataster).
5
- * [ ] Support Docker Compose.
4
+ * [ ] Test resources for built images supported inside `docker_compose`.
5
+ * [ ] Add `docker_context`, `docker_describe` to avoid starting all containers at the same time.
6
6
  * [ ] Add a Runner logger.
7
+ * [ ] Create `stub_*` methods for unit tests.