diff --git a/lib/docker/network.rb b/lib/docker/network.rb index 55246151b..432e808c2 100644 --- a/lib/docker/network.rb +++ b/lib/docker/network.rb @@ -10,8 +10,8 @@ def connect(container, opts = {}, body_opts = {}) reload end - def disconnect(container, opts = {}) - body = MultiJson.dump(container: container) + def disconnect(container, opts = {}, body_opts = {}) + body = MultiJson.dump({ container: container }.merge(body_opts)) Docker::Util.parse_json( connection.post(path_for('disconnect'), opts, body: body) ) diff --git a/spec/docker/network_spec.rb b/spec/docker/network_spec.rb index ec8c3efd1..dbaebd8c2 100644 --- a/spec/docker/network_spec.rb +++ b/spec/docker/network_spec.rb @@ -139,10 +139,15 @@ subject.remove end - it 'connects a container to a network' do + it 'disconnects a container from a network' do subject.disconnect(container.id) expect(subject.info['Containers']).not_to include(container.id) end + + it 'force disconnects a container from a network' do + subject.disconnect(container.id, {}, force: true) + expect(subject.info['Containers']).not_to include(container.id) + end end describe '#remove' do