docker-spec 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/docker/spec.rb +14 -13
- data/lib/docker/spec/docker.rb +3 -8
- data/lib/docker/spec/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ca15895fd936cd2a664100fd10ac43d858c6fca
|
4
|
+
data.tar.gz: e70a7268eaeb90054b35d4171d7b29ac07abdb80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0114ca4f5e090d18dc1c3dd2ad9610d5e08d02fb4bba34059005f0ed3dd70cf03ca2ff41639729165447018c16fd0cef0ad0b573bb01132bcd7726800fbb038a
|
7
|
+
data.tar.gz: 7597bc6a959191ec31f192fcb9af765cf6a9363a8821030f0c262e121b633def1690d841a0c6b5ec7e54816dc9f4af9e101ed8cbdc70dae184b9f1e295fdce30
|
data/lib/docker/spec.rb
CHANGED
@@ -18,7 +18,7 @@ class DockerSpec
|
|
18
18
|
|
19
19
|
include Singleton
|
20
20
|
|
21
|
-
attr_accessor :config, :test_failed
|
21
|
+
attr_accessor :config, :test_failed, :container
|
22
22
|
|
23
23
|
CONTAINER_RUN_WAIT_TIMEOUT = 60
|
24
24
|
CONFIG_FILE = 'docker_spec.yml'
|
@@ -97,7 +97,6 @@ class DockerSpec
|
|
97
97
|
@config[:name] || fail('name is not defined in docker_spec.yml')
|
98
98
|
@config[:account] || fail('account is not defined in docker_spec.yml')
|
99
99
|
@config[:image_name] = format '%s/%s', @config[:account], @config[:name]
|
100
|
-
@config[:container_name] = format 'docker_spec-%s', @config[:name]
|
101
100
|
@config[:build_image] = get_config(:build_image, 'DOCKER_SPEC_BUILD_DOCKER_IMAGE',
|
102
101
|
'Build docker image? ')
|
103
102
|
@config[:build_root] = get_config(:build_root, 'DOCKER_SPEC_BUILD_ROOT',
|
@@ -146,7 +145,6 @@ EOF
|
|
146
145
|
end
|
147
146
|
|
148
147
|
rc.before(:suite) do
|
149
|
-
DockerSpec.instance.delete_container
|
150
148
|
DockerSpec.instance.start_container
|
151
149
|
end
|
152
150
|
|
@@ -166,27 +164,30 @@ EOF
|
|
166
164
|
|
167
165
|
opts['env'] = @config[:env] unless @config[:env].nil?
|
168
166
|
opts['Image'] = @config[:image_name]
|
169
|
-
|
170
|
-
|
167
|
+
@container = Docker::Container.create(opts).start
|
168
|
+
Timeout::timeout(10) do
|
169
|
+
loop do
|
170
|
+
@container.refresh!
|
171
|
+
break if @container.info["State"]["Running"]
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
171
175
|
|
172
176
|
# Check the logs, when it stops logging we can assume the container
|
173
177
|
# is fully up and running
|
174
178
|
log_size_ary = []
|
175
179
|
CONTAINER_RUN_WAIT_TIMEOUT.times do
|
176
|
-
log_size_ary << container.logs(stdout: true).size
|
180
|
+
log_size_ary << @container.logs(stdout: true).size
|
177
181
|
break if log_size_ary.last(3).sort.uniq.size == 1 &&
|
178
182
|
log_size_ary.last(3).sort.uniq.last > 0
|
179
183
|
sleep 1
|
180
184
|
end
|
181
|
-
set :docker_container, container.id
|
185
|
+
set :docker_container, @container.id
|
182
186
|
end
|
183
187
|
|
184
188
|
def delete_container
|
185
|
-
|
186
|
-
|
187
|
-
c.kill
|
188
|
-
c.delete
|
189
|
-
end
|
189
|
+
@container.kill
|
190
|
+
@container.delete
|
190
191
|
end
|
191
192
|
|
192
193
|
def clean_up
|
@@ -195,7 +196,7 @@ EOF
|
|
195
196
|
"\nKeep container running? ")
|
196
197
|
if @config[:keep_running]
|
197
198
|
puts "\nINFO: To connect to a running container: \n\n" \
|
198
|
-
"docker exec -ti #{@
|
199
|
+
"docker exec -ti #{@container.info["Name"][1..-1]} bash"
|
199
200
|
else
|
200
201
|
delete_container
|
201
202
|
end
|
data/lib/docker/spec/docker.rb
CHANGED
@@ -1,15 +1,10 @@
|
|
1
1
|
module Docker
|
2
2
|
module Spec
|
3
3
|
def self.docker_tests
|
4
|
-
describe 'Running a docker container' do
|
4
|
+
describe 'Running a docker container', test: :default do
|
5
5
|
before(:all) do
|
6
|
-
@
|
7
|
-
@image =
|
8
|
-
i.info['RepoTags'].include?(@config[:image_name] + ':latest')
|
9
|
-
end
|
10
|
-
@container = Docker::Container.all.select do |c|
|
11
|
-
c.info["Names"] == [ "/" + @config[:container_name] ]
|
12
|
-
end.first
|
6
|
+
@container = DockerSpec.instance.container
|
7
|
+
@image = @container.info["Image"]
|
13
8
|
end
|
14
9
|
|
15
10
|
it 'should be available' do
|
data/lib/docker/spec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: docker-spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Breinlinger
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -189,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
189
|
version: '0'
|
190
190
|
requirements: []
|
191
191
|
rubyforge_project:
|
192
|
-
rubygems_version: 2.
|
192
|
+
rubygems_version: 2.6.14
|
193
193
|
signing_key:
|
194
194
|
specification_version: 4
|
195
195
|
summary: A docker spec library to build and test docker containers
|