docker-client 0.1.1 → 0.1.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.
Files changed (83) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +3 -1
  3. data/Rakefile +18 -0
  4. data/lib/docker/error.rb +1 -0
  5. data/lib/docker/error/image_not_found.rb +7 -0
  6. data/lib/docker/resource/container.rb +10 -0
  7. data/lib/docker/resource/image.rb +43 -0
  8. data/lib/docker/version.rb +1 -1
  9. data/spec/cassettes/Docker_Connection/returns_a_stream.yml +171 -0
  10. data/spec/cassettes/Docker_Connection/returns_a_valid_response_for_a_basic_request.yml +3 -12
  11. data/spec/cassettes/Docker_Connection/returns_a_valid_response_for_get_request.yml +3 -77
  12. data/spec/cassettes/Docker_Connection/returns_a_valid_response_for_post_request.yml +189 -0
  13. data/spec/cassettes/Docker_Connection/returns_status_404_for_non_existent_path.yml +2 -2
  14. data/spec/cassettes/Docker_Connection/sets_given_query_parameters.yml +2 -2
  15. data/spec/cassettes/Docker_Connection/sets_given_request_headers.yml +2 -2
  16. data/spec/cassettes/Docker_Resource_Container/attach/raises_an_exception_for_an_unknown_container.yml +30 -0
  17. data/spec/cassettes/Docker_Resource_Container/changes/inspects_the_container_s_filesystem_changes.yml +210 -0
  18. data/spec/cassettes/Docker_Resource_Container/commit/creates_a_new_image_from_the_container_s_changes.yml +199 -0
  19. data/spec/cassettes/Docker_Resource_Container/commit/raises_an_exception_for_an_unknown_container.yml +31 -0
  20. data/spec/cassettes/Docker_Resource_Container/create/raises_an_exception_when_called_with_invalid_options.yml +2 -2
  21. data/spec/cassettes/Docker_Resource_Container/create/with_many_settings.yml +3 -3
  22. data/spec/cassettes/Docker_Resource_Container/create/with_minimal_settings.yml +3 -3
  23. data/spec/cassettes/Docker_Resource_Container/kill/raises_an_exception_for_an_unknow_container.yml +2 -2
  24. data/spec/cassettes/Docker_Resource_Container/kill/the_container.yml +189 -0
  25. data/spec/cassettes/Docker_Resource_Container/lists/all_running_containers.yml +7 -17
  26. data/spec/cassettes/Docker_Resource_Container/lists/limit_last_created_containers.yml +5 -5
  27. data/spec/cassettes/Docker_Resource_Container/lists/non-running_processes_too.yml +10 -85
  28. data/spec/cassettes/Docker_Resource_Container/lists/processes_before_a_certain_created_container.yml +303 -0
  29. data/spec/cassettes/Docker_Resource_Container/lists/processes_since_a_certain_created_container.yml +217 -0
  30. data/spec/cassettes/Docker_Resource_Container/logs/raises_an_exception_for_an_unknown_container.yml +31 -0
  31. data/spec/cassettes/Docker_Resource_Container/logs/returns_the_stderr_of_a_container.yml +154 -0
  32. data/spec/cassettes/Docker_Resource_Container/logs/returns_the_stdout_of_a_container.yml +154 -0
  33. data/spec/cassettes/Docker_Resource_Container/remove/deletes_the_container.yml +189 -0
  34. data/spec/cassettes/Docker_Resource_Container/remove/raises_an_exception_with_an_invalid_container.yml +2 -2
  35. data/spec/cassettes/Docker_Resource_Container/restarts/raises_an_exception_for_an_unknown_container.yml +2 -2
  36. data/spec/cassettes/Docker_Resource_Container/restarts/the_container.yml +189 -0
  37. data/spec/cassettes/Docker_Resource_Container/shows/the_low_level_details.yml +315 -0
  38. data/spec/cassettes/Docker_Resource_Container/start/brings_a_container_into_state_running.yml +189 -0
  39. data/spec/cassettes/Docker_Resource_Container/start/raises_an_exception_for_an_unknown_container.yml +2 -2
  40. data/spec/cassettes/Docker_Resource_Container/stop/halts_a_container.yml +189 -0
  41. data/spec/cassettes/Docker_Resource_Container/stop/raises_an_exception_for_an_unknown_container.yml +2 -2
  42. data/spec/cassettes/Docker_Resource_Container/wait/blocks_until_the_container_stops.yml +196 -0
  43. data/spec/cassettes/Docker_Resource_Container/wait/raises_an_exception_for_an_unknown_container.yml +2 -2
  44. data/spec/cassettes/Docker_Resource_Image/history/.yml +33 -0
  45. data/spec/cassettes/Docker_Resource_Image/history/size/.yml +33 -0
  46. data/spec/cassettes/Docker_Resource_Image/history/step/.yml +33 -0
  47. data/spec/cassettes/Docker_Resource_Image/list/.yml +44 -0
  48. data/spec/cassettes/Docker_Resource_Image/list/includes_latest_base_image.yml +44 -0
  49. data/spec/cassettes/Docker_Resource_Image/list/size/.yml +44 -0
  50. data/spec/cassettes/Docker_Resource_Image/remove/deletes_the_image.yml +192 -0
  51. data/spec/cassettes/Docker_Resource_Image/remove/raises_an_exception_for_an_unknown_image.yml +31 -0
  52. data/spec/cassettes/Docker_Resource_Image/show/.yml +42 -0
  53. data/spec/cassettes/Docker_Resource_Image/show/raises_an_exception_for_an_unknown_image.yml +31 -0
  54. data/spec/cassettes/Docker_Resource_Image/tag/an_image_into_a_repository.yml +30 -0
  55. data/spec/cassettes/Docker_Resource_Image/tag/raises_an_exception_for_an_unknown_image.yml +31 -0
  56. data/spec/cassettes/test_setup/commit_container.yml +423 -0
  57. data/spec/cassettes/test_setup/create_container__command_/bin/sh_-c_while_true_do_echo_hello_world_sleep_1_done_.yml +33 -0
  58. data/spec/cassettes/test_setup/create_container_connection_post.yml +3 -3
  59. data/spec/cassettes/test_setup/create_container_container_attach.yml +34 -0
  60. data/spec/cassettes/test_setup/create_container_container_changes.yml +3 -3
  61. data/spec/cassettes/test_setup/create_container_container_commit.yml +33 -0
  62. data/spec/cassettes/test_setup/create_container_container_kill.yml +3 -3
  63. data/spec/cassettes/test_setup/create_container_container_lists1.yml +3 -3
  64. data/spec/cassettes/test_setup/create_container_container_lists2.yml +3 -3
  65. data/spec/cassettes/test_setup/create_container_container_logs.yml +3 -3
  66. data/spec/cassettes/test_setup/create_container_container_remove.yml +3 -3
  67. data/spec/cassettes/test_setup/create_container_container_restarts.yml +3 -3
  68. data/spec/cassettes/test_setup/create_container_container_shows.yml +3 -3
  69. data/spec/cassettes/test_setup/create_container_container_start.yml +3 -3
  70. data/spec/cassettes/test_setup/create_container_container_stop.yml +3 -3
  71. data/spec/cassettes/test_setup/create_container_container_wait.yml +3 -3
  72. data/spec/cassettes/test_setup/create_container_test-image.yml +33 -0
  73. data/spec/cassettes/test_setup/create_container_test-returns-a-stream.yml +34 -0
  74. data/spec/cassettes/test_setup/create_container_test-tag.yml +33 -0
  75. data/spec/cassettes/test_setup/delete_container.yml +3727 -0
  76. data/spec/cassettes/test_setup/delete_image.yml +409 -0
  77. data/spec/cassettes/test_setup/start_container.yml +2813 -0
  78. data/spec/cassettes/test_setup/wait_on_container.yml +1080 -0
  79. data/spec/docker/connection_spec.rb +1 -1
  80. data/spec/docker/resource/container_spec.rb +26 -11
  81. data/spec/docker/resource/image_spec.rb +104 -0
  82. data/spec/helpers.rb +31 -2
  83. metadata +55 -2
@@ -54,7 +54,7 @@ describe Docker::Connection, :vcr do
54
54
  end
55
55
 
56
56
  it "returns a stream", :live do
57
- id = create_and_start_container(command: hello_world_command)
57
+ id = create_and_start_container('test-returns-a-stream', command: hello_world_command)
58
58
  received_data = []
59
59
  params = {stream: 1, stdout: 1}
60
60
  timeout = 2
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Docker::Resource::Container do
4
- subject { Docker::API.new(base_url: 'http://10.0.5.5:4243').containers }
4
+ subject(:containers) { Docker::API.new(base_url: 'http://10.0.5.5:4243').containers }
5
5
 
6
6
  describe "lists", :vcr do
7
7
  before(:all) {
@@ -49,8 +49,6 @@ describe Docker::Resource::Container do
49
49
  status = subject.create(hello_world_command, 'base')
50
50
  status.should be_kind_of(Hash)
51
51
  status.should have_key('Id')
52
- status.should have_key('Warnings')
53
- status['Warnings'].should be_nil
54
52
  @container_id = status['Id']
55
53
  end
56
54
 
@@ -116,6 +114,27 @@ describe Docker::Resource::Container do
116
114
  end
117
115
  end
118
116
 
117
+ describe "commit", :vcr do
118
+ before(:all) {
119
+ @c = create_and_start_container('container_commit', command: ['touch', '/tmp/changes'], wait: true)
120
+ }
121
+ after(:all) { delete_containers(@c) }
122
+
123
+ it "creates a new image from the container's changes" do
124
+ options = {m: 'Commit message', author: 'Docker Client' }
125
+ response = subject.commit(@c, 'test-repo', 'test-tag', options)
126
+ response.should have_key('Id')
127
+ image_id = response['Id']
128
+ delete_images(image_id)
129
+ end
130
+
131
+ it "raises an exception for an unknown container" do
132
+ expect {
133
+ subject.commit('invalid_id', 'test-repo')
134
+ }.to raise_error(Docker::Error::ContainerNotFound)
135
+ end
136
+ end
137
+
119
138
  describe "export" do
120
139
  # not yet implemented
121
140
  end
@@ -214,9 +233,7 @@ describe Docker::Resource::Container do
214
233
  received_data.size.should >= 2
215
234
  end
216
235
 
217
- # TODO fails because docker always returns status 200
218
- # See https://github.com/dotcloud/docker/issues/718
219
- xit "raises an exception for an unknown container" do
236
+ it "raises an exception for an unknown container" do
220
237
  expect {
221
238
  subject.attach('invalid_id') { }
222
239
  }.to raise_error(Docker::Error::ContainerNotFound)
@@ -239,9 +256,7 @@ describe Docker::Resource::Container do
239
256
  output.should include("stderr")
240
257
  end
241
258
 
242
- # TODO fails because docker always returns status 200
243
- # See https://github.com/dotcloud/docker/issues/718
244
- xit "raises an exception for an unknown container" do
259
+ it "raises an exception for an unknown container" do
245
260
  expect {
246
261
  subject.logs('invalid_id')
247
262
  }.to raise_error(Docker::Error::ContainerNotFound)
@@ -249,10 +264,10 @@ describe Docker::Resource::Container do
249
264
  end
250
265
 
251
266
  describe "wait", :vcr do
252
- before {
267
+ before(:all) {
253
268
  @c = create_and_start_container('container_wait', command: ['sleep', '3'])
254
269
  }
255
- after { delete_containers(@c) }
270
+ after(:all) { delete_containers(@c) }
256
271
 
257
272
  it "blocks until the container stops" do
258
273
  status = subject.wait(@c)
@@ -0,0 +1,104 @@
1
+ require 'spec_helper'
2
+
3
+ describe Docker::Resource::Image do
4
+ let(:docker) { Docker::API.new(base_url: 'http://10.0.5.5:4243') }
5
+ subject(:image) { docker.images }
6
+
7
+ describe "list", :vcr do
8
+ subject { image.list(all: true) }
9
+
10
+ it { should be_kind_of(Array) }
11
+ its(:size) { should >= 4 }
12
+ it "includes latest base image" do
13
+ subject.any? { |i| i["Repository"] == 'base' && i["Tag"] == 'latest' }.should be_true
14
+ end
15
+ end
16
+
17
+ # We should name it
18
+ # * image/pull
19
+ # * image/upload
20
+ describe "create" do
21
+ end
22
+
23
+ describe "insert" do
24
+ end
25
+
26
+ describe "show", :vcr do
27
+ subject { image.show('base') }
28
+
29
+ it { should be_kind_of(Hash) }
30
+ it { should have_key('id') }
31
+ it { should have_key('container_config') }
32
+ it "raises an exception for an unknown image" do
33
+ expect {
34
+ image.show("invalid_image")
35
+ }.to raise_error(Docker::Error::ImageNotFound)
36
+ end
37
+ end
38
+
39
+ describe "history", :vcr do
40
+ subject(:image_history) { image.history('base') }
41
+
42
+ it { should be_kind_of(Array) }
43
+ its(:size) { should >= 2 }
44
+
45
+ describe "step" do
46
+ subject { image_history.first }
47
+ it { should have_key('Id') }
48
+ it { should have_key('Created') }
49
+ it { should have_key('CreatedBy') }
50
+ end
51
+ end
52
+
53
+ describe "push" do
54
+ end
55
+
56
+ describe "tag", :vcr do
57
+ before(:all) { @img = create_image('test-tag') }
58
+ after(:all) { delete_images(@img) }
59
+
60
+ it "an image into a repository" do
61
+ status = image.tag('test-tag', 'test-repo')
62
+ status.should be_true
63
+ end
64
+
65
+ it "raises an exception for an unknown image" do
66
+ expect {
67
+ image.tag('inavlid_image', 'test-repo')
68
+ # }.to raise_error(Docker::Error::ImageNotFound)
69
+ # Should return ImageNotFound, this is an error in Docker source! as it returns 500 and not 404
70
+ }.to raise_error(Docker::Error::InternalServerError)
71
+ end
72
+ end
73
+
74
+ describe "remove", :vcr do
75
+ before(:all) { @image = create_image('test-image') }
76
+
77
+ it "deletes the image" do
78
+ subject.remove(@image)
79
+ end
80
+
81
+ it "raises an exception for an unknown image" do
82
+ expect {
83
+ subject.remove('unknown-image')
84
+ }.to raise_error(Docker::Error::ImageNotFound)
85
+ end
86
+ end
87
+
88
+ # FIXME not working with current Docker master
89
+ # describe "search", :vcr do
90
+ # it "for an image in the docker index" do
91
+ # response = subject.search('sshd')
92
+ # response.should be_kind_of(Array)
93
+ # response.size.should >= 1
94
+ # response.first.should have_key('Name')
95
+ # response.first.should have_key('Description')
96
+ # end
97
+
98
+ # end
99
+
100
+
101
+
102
+
103
+
104
+ end
@@ -27,8 +27,14 @@ module Helpers
27
27
  end
28
28
  end
29
29
 
30
+ def commit_container(id, repo)
31
+ VCR.use_cassette('test_setup/commit_container') do
32
+ container_resource.commit(id, repo)['Id']
33
+ end
34
+ end
35
+
30
36
  def create_and_start_container(name, options = {})
31
- wait = options.delete(:wait)
37
+ wait = options.delete(:wait)
32
38
 
33
39
  id = create_container(name, options)
34
40
  start_container(id)
@@ -41,8 +47,31 @@ module Helpers
41
47
  ['/bin/sh', '-c', 'while true; do echo hello world; sleep 1; done']
42
48
  end
43
49
 
50
+ def create_image(name)
51
+ container_id = create_and_start_container(name, command: ['touch', '/tmp/changes'], wait: true, commit: true)
52
+ image_id = commit_container(container_id, name)
53
+ delete_containers(container_id)
54
+ image_id
55
+ end
56
+
57
+ def delete_images(*ids)
58
+ VCR.use_cassette('test_setup/delete_image') do
59
+ ids.each do |id|
60
+ image_resource.remove(id) if id
61
+ end
62
+ end
63
+ end
64
+
65
+ def image_resource
66
+ @_image ||= docker_resource.images
67
+ end
68
+
44
69
  def container_resource
45
- @container ||= Docker::API.new(base_url: 'http://10.0.5.5:4243').containers
70
+ @_container ||= docker_resource.containers
71
+ end
72
+
73
+ def docker_resource
74
+ @_docker ||= Docker::API.new(base_url: 'http://10.0.5.5:4243')
46
75
  end
47
76
 
48
77
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-27 00:00:00.000000000 Z
12
+ date: 2013-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -226,6 +226,7 @@ files:
226
226
  - lib/docker/error.rb
227
227
  - lib/docker/error/bad_parameter_error.rb
228
228
  - lib/docker/error/container_not_found.rb
229
+ - lib/docker/error/image_not_found.rb
229
230
  - lib/docker/error/internal_server_error.rb
230
231
  - lib/docker/error/not_found_error.rb
231
232
  - lib/docker/resource.rb
@@ -233,13 +234,17 @@ files:
233
234
  - lib/docker/resource/container.rb
234
235
  - lib/docker/resource/image.rb
235
236
  - lib/docker/version.rb
237
+ - spec/cassettes/Docker_Connection/returns_a_stream.yml
236
238
  - spec/cassettes/Docker_Connection/returns_a_valid_response_for_a_basic_request.yml
237
239
  - spec/cassettes/Docker_Connection/returns_a_valid_response_for_get_request.yml
238
240
  - spec/cassettes/Docker_Connection/returns_a_valid_response_for_post_request.yml
239
241
  - spec/cassettes/Docker_Connection/returns_status_404_for_non_existent_path.yml
240
242
  - spec/cassettes/Docker_Connection/sets_given_query_parameters.yml
241
243
  - spec/cassettes/Docker_Connection/sets_given_request_headers.yml
244
+ - spec/cassettes/Docker_Resource_Container/attach/raises_an_exception_for_an_unknown_container.yml
242
245
  - spec/cassettes/Docker_Resource_Container/changes/inspects_the_container_s_filesystem_changes.yml
246
+ - spec/cassettes/Docker_Resource_Container/commit/creates_a_new_image_from_the_container_s_changes.yml
247
+ - spec/cassettes/Docker_Resource_Container/commit/raises_an_exception_for_an_unknown_container.yml
243
248
  - spec/cassettes/Docker_Resource_Container/create/raises_an_exception_when_called_with_invalid_options.yml
244
249
  - spec/cassettes/Docker_Resource_Container/create/with_many_settings.yml
245
250
  - spec/cassettes/Docker_Resource_Container/create/with_minimal_settings.yml
@@ -250,6 +255,7 @@ files:
250
255
  - spec/cassettes/Docker_Resource_Container/lists/non-running_processes_too.yml
251
256
  - spec/cassettes/Docker_Resource_Container/lists/processes_before_a_certain_created_container.yml
252
257
  - spec/cassettes/Docker_Resource_Container/lists/processes_since_a_certain_created_container.yml
258
+ - spec/cassettes/Docker_Resource_Container/logs/raises_an_exception_for_an_unknown_container.yml
253
259
  - spec/cassettes/Docker_Resource_Container/logs/returns_the_stderr_of_a_container.yml
254
260
  - spec/cassettes/Docker_Resource_Container/logs/returns_the_stdout_of_a_container.yml
255
261
  - spec/cassettes/Docker_Resource_Container/remove/deletes_the_container.yml
@@ -263,8 +269,24 @@ files:
263
269
  - spec/cassettes/Docker_Resource_Container/stop/raises_an_exception_for_an_unknown_container.yml
264
270
  - spec/cassettes/Docker_Resource_Container/wait/blocks_until_the_container_stops.yml
265
271
  - spec/cassettes/Docker_Resource_Container/wait/raises_an_exception_for_an_unknown_container.yml
272
+ - spec/cassettes/Docker_Resource_Image/history/.yml
273
+ - spec/cassettes/Docker_Resource_Image/history/size/.yml
274
+ - spec/cassettes/Docker_Resource_Image/history/step/.yml
275
+ - spec/cassettes/Docker_Resource_Image/list/.yml
276
+ - spec/cassettes/Docker_Resource_Image/list/includes_latest_base_image.yml
277
+ - spec/cassettes/Docker_Resource_Image/list/size/.yml
278
+ - spec/cassettes/Docker_Resource_Image/remove/deletes_the_image.yml
279
+ - spec/cassettes/Docker_Resource_Image/remove/raises_an_exception_for_an_unknown_image.yml
280
+ - spec/cassettes/Docker_Resource_Image/show/.yml
281
+ - spec/cassettes/Docker_Resource_Image/show/raises_an_exception_for_an_unknown_image.yml
282
+ - spec/cassettes/Docker_Resource_Image/tag/an_image_into_a_repository.yml
283
+ - spec/cassettes/Docker_Resource_Image/tag/raises_an_exception_for_an_unknown_image.yml
284
+ - spec/cassettes/test_setup/commit_container.yml
285
+ - spec/cassettes/test_setup/create_container__command_/bin/sh_-c_while_true_do_echo_hello_world_sleep_1_done_.yml
266
286
  - spec/cassettes/test_setup/create_container_connection_post.yml
287
+ - spec/cassettes/test_setup/create_container_container_attach.yml
267
288
  - spec/cassettes/test_setup/create_container_container_changes.yml
289
+ - spec/cassettes/test_setup/create_container_container_commit.yml
268
290
  - spec/cassettes/test_setup/create_container_container_kill.yml
269
291
  - spec/cassettes/test_setup/create_container_container_lists1.yml
270
292
  - spec/cassettes/test_setup/create_container_container_lists2.yml
@@ -275,12 +297,17 @@ files:
275
297
  - spec/cassettes/test_setup/create_container_container_start.yml
276
298
  - spec/cassettes/test_setup/create_container_container_stop.yml
277
299
  - spec/cassettes/test_setup/create_container_container_wait.yml
300
+ - spec/cassettes/test_setup/create_container_test-image.yml
301
+ - spec/cassettes/test_setup/create_container_test-returns-a-stream.yml
302
+ - spec/cassettes/test_setup/create_container_test-tag.yml
278
303
  - spec/cassettes/test_setup/delete_container.yml
304
+ - spec/cassettes/test_setup/delete_image.yml
279
305
  - spec/cassettes/test_setup/start_container.yml
280
306
  - spec/cassettes/test_setup/wait_on_container.yml
281
307
  - spec/docker/api_spec.rb
282
308
  - spec/docker/connection_spec.rb
283
309
  - spec/docker/resource/container_spec.rb
310
+ - spec/docker/resource/image_spec.rb
284
311
  - spec/helpers.rb
285
312
  - spec/spec_helper.rb
286
313
  homepage: https://github.com/geku/docker-client
@@ -309,13 +336,17 @@ signing_key:
309
336
  specification_version: 3
310
337
  summary: Docker client library to access the Docker remote API.
311
338
  test_files:
339
+ - spec/cassettes/Docker_Connection/returns_a_stream.yml
312
340
  - spec/cassettes/Docker_Connection/returns_a_valid_response_for_a_basic_request.yml
313
341
  - spec/cassettes/Docker_Connection/returns_a_valid_response_for_get_request.yml
314
342
  - spec/cassettes/Docker_Connection/returns_a_valid_response_for_post_request.yml
315
343
  - spec/cassettes/Docker_Connection/returns_status_404_for_non_existent_path.yml
316
344
  - spec/cassettes/Docker_Connection/sets_given_query_parameters.yml
317
345
  - spec/cassettes/Docker_Connection/sets_given_request_headers.yml
346
+ - spec/cassettes/Docker_Resource_Container/attach/raises_an_exception_for_an_unknown_container.yml
318
347
  - spec/cassettes/Docker_Resource_Container/changes/inspects_the_container_s_filesystem_changes.yml
348
+ - spec/cassettes/Docker_Resource_Container/commit/creates_a_new_image_from_the_container_s_changes.yml
349
+ - spec/cassettes/Docker_Resource_Container/commit/raises_an_exception_for_an_unknown_container.yml
319
350
  - spec/cassettes/Docker_Resource_Container/create/raises_an_exception_when_called_with_invalid_options.yml
320
351
  - spec/cassettes/Docker_Resource_Container/create/with_many_settings.yml
321
352
  - spec/cassettes/Docker_Resource_Container/create/with_minimal_settings.yml
@@ -326,6 +357,7 @@ test_files:
326
357
  - spec/cassettes/Docker_Resource_Container/lists/non-running_processes_too.yml
327
358
  - spec/cassettes/Docker_Resource_Container/lists/processes_before_a_certain_created_container.yml
328
359
  - spec/cassettes/Docker_Resource_Container/lists/processes_since_a_certain_created_container.yml
360
+ - spec/cassettes/Docker_Resource_Container/logs/raises_an_exception_for_an_unknown_container.yml
329
361
  - spec/cassettes/Docker_Resource_Container/logs/returns_the_stderr_of_a_container.yml
330
362
  - spec/cassettes/Docker_Resource_Container/logs/returns_the_stdout_of_a_container.yml
331
363
  - spec/cassettes/Docker_Resource_Container/remove/deletes_the_container.yml
@@ -339,8 +371,24 @@ test_files:
339
371
  - spec/cassettes/Docker_Resource_Container/stop/raises_an_exception_for_an_unknown_container.yml
340
372
  - spec/cassettes/Docker_Resource_Container/wait/blocks_until_the_container_stops.yml
341
373
  - spec/cassettes/Docker_Resource_Container/wait/raises_an_exception_for_an_unknown_container.yml
374
+ - spec/cassettes/Docker_Resource_Image/history/.yml
375
+ - spec/cassettes/Docker_Resource_Image/history/size/.yml
376
+ - spec/cassettes/Docker_Resource_Image/history/step/.yml
377
+ - spec/cassettes/Docker_Resource_Image/list/.yml
378
+ - spec/cassettes/Docker_Resource_Image/list/includes_latest_base_image.yml
379
+ - spec/cassettes/Docker_Resource_Image/list/size/.yml
380
+ - spec/cassettes/Docker_Resource_Image/remove/deletes_the_image.yml
381
+ - spec/cassettes/Docker_Resource_Image/remove/raises_an_exception_for_an_unknown_image.yml
382
+ - spec/cassettes/Docker_Resource_Image/show/.yml
383
+ - spec/cassettes/Docker_Resource_Image/show/raises_an_exception_for_an_unknown_image.yml
384
+ - spec/cassettes/Docker_Resource_Image/tag/an_image_into_a_repository.yml
385
+ - spec/cassettes/Docker_Resource_Image/tag/raises_an_exception_for_an_unknown_image.yml
386
+ - spec/cassettes/test_setup/commit_container.yml
387
+ - spec/cassettes/test_setup/create_container__command_/bin/sh_-c_while_true_do_echo_hello_world_sleep_1_done_.yml
342
388
  - spec/cassettes/test_setup/create_container_connection_post.yml
389
+ - spec/cassettes/test_setup/create_container_container_attach.yml
343
390
  - spec/cassettes/test_setup/create_container_container_changes.yml
391
+ - spec/cassettes/test_setup/create_container_container_commit.yml
344
392
  - spec/cassettes/test_setup/create_container_container_kill.yml
345
393
  - spec/cassettes/test_setup/create_container_container_lists1.yml
346
394
  - spec/cassettes/test_setup/create_container_container_lists2.yml
@@ -351,11 +399,16 @@ test_files:
351
399
  - spec/cassettes/test_setup/create_container_container_start.yml
352
400
  - spec/cassettes/test_setup/create_container_container_stop.yml
353
401
  - spec/cassettes/test_setup/create_container_container_wait.yml
402
+ - spec/cassettes/test_setup/create_container_test-image.yml
403
+ - spec/cassettes/test_setup/create_container_test-returns-a-stream.yml
404
+ - spec/cassettes/test_setup/create_container_test-tag.yml
354
405
  - spec/cassettes/test_setup/delete_container.yml
406
+ - spec/cassettes/test_setup/delete_image.yml
355
407
  - spec/cassettes/test_setup/start_container.yml
356
408
  - spec/cassettes/test_setup/wait_on_container.yml
357
409
  - spec/docker/api_spec.rb
358
410
  - spec/docker/connection_spec.rb
359
411
  - spec/docker/resource/container_spec.rb
412
+ - spec/docker/resource/image_spec.rb
360
413
  - spec/helpers.rb
361
414
  - spec/spec_helper.rb