summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <f.joffrey@gmail.com>2015-03-04 13:34:20 -0800
committerJoffrey F <f.joffrey@gmail.com>2015-03-04 13:34:20 -0800
commit1aee1df4ddc82f3a1baa806c80970fcbca29fcd0 (patch)
tree252347a94d767128f1ec8f3b5305b484078706fb
parent134e4b712cafc92c86d1aee9d45284c8976d2e27 (diff)
parenta86bfffd89c1ec195a74abf0f45759f5064d5f19 (diff)
downloaddocker-py-1aee1df4ddc82f3a1baa806c80970fcbca29fcd0.tar.gz
Merge pull request #511 from rmohr/fix-open-files
Properly close files and sockets in unit tests
-rw-r--r--tests/test.py63
1 files changed, 31 insertions, 32 deletions
diff --git a/tests/test.py b/tests/test.py
index b39410c..eca6492 100644
--- a/tests/test.py
+++ b/tests/test.py
@@ -2115,11 +2115,10 @@ class DockerClientTest(Cleanup, unittest.TestCase):
folder = tempfile.mkdtemp()
self.addCleanup(shutil.rmtree, folder)
dockercfg_path = os.path.join(folder, '.dockercfg')
- f = open(dockercfg_path, 'w')
- auth_ = base64.b64encode(b'sakuya:izayoi').decode('ascii')
- f.write('auth = {0}\n'.format(auth_))
- f.write('email = sakuya@scarlet.net')
- f.close()
+ with open(dockercfg_path, 'w') as f:
+ auth_ = base64.b64encode(b'sakuya:izayoi').decode('ascii')
+ f.write('auth = {0}\n'.format(auth_))
+ f.write('email = sakuya@scarlet.net')
cfg = docker.auth.load_config(dockercfg_path)
self.assertTrue(docker.auth.INDEX_URL in cfg)
self.assertNotEqual(cfg[docker.auth.INDEX_URL], None)
@@ -2175,18 +2174,18 @@ class DockerClientTest(Cleanup, unittest.TestCase):
(['test/foo', 'a.txt'], ['bar', 'bar/a.txt', 'bar/b.py',
'bar/other.png', 'test']),
):
- archive = docker.utils.tar(base, exclude=exclude)
- tar = tarfile.open(fileobj=archive)
- self.assertEqual(sorted(tar.getnames()), names)
+ with docker.utils.tar(base, exclude=exclude) as archive:
+ tar = tarfile.open(fileobj=archive)
+ self.assertEqual(sorted(tar.getnames()), names)
def test_tar_with_empty_directory(self):
base = tempfile.mkdtemp()
self.addCleanup(shutil.rmtree, base)
for d in ['foo', 'bar']:
os.makedirs(os.path.join(base, d))
- archive = docker.utils.tar(base)
- tar = tarfile.open(fileobj=archive)
- self.assertEqual(sorted(tar.getnames()), ['bar', 'foo'])
+ with docker.utils.tar(base) as archive:
+ tar = tarfile.open(fileobj=archive)
+ self.assertEqual(sorted(tar.getnames()), ['bar', 'foo'])
def test_tar_with_file_symlinks(self):
base = tempfile.mkdtemp()
@@ -2195,9 +2194,9 @@ class DockerClientTest(Cleanup, unittest.TestCase):
f.write("content")
os.makedirs(os.path.join(base, 'bar'))
os.symlink('../foo', os.path.join(base, 'bar/foo'))
- archive = docker.utils.tar(base)
- tar = tarfile.open(fileobj=archive)
- self.assertEqual(sorted(tar.getnames()), ['bar', 'bar/foo', 'foo'])
+ with docker.utils.tar(base) as archive:
+ tar = tarfile.open(fileobj=archive)
+ self.assertEqual(sorted(tar.getnames()), ['bar', 'bar/foo', 'foo'])
def test_tar_with_directory_symlinks(self):
base = tempfile.mkdtemp()
@@ -2205,9 +2204,9 @@ class DockerClientTest(Cleanup, unittest.TestCase):
for d in ['foo', 'bar']:
os.makedirs(os.path.join(base, d))
os.symlink('../foo', os.path.join(base, 'bar/foo'))
- archive = docker.utils.tar(base)
- tar = tarfile.open(fileobj=archive)
- self.assertEqual(sorted(tar.getnames()), ['bar', 'bar/foo', 'foo'])
+ with docker.utils.tar(base) as archive:
+ tar = tarfile.open(fileobj=archive)
+ self.assertEqual(sorted(tar.getnames()), ['bar', 'bar/foo', 'foo'])
class StreamTest(Cleanup, unittest.TestCase):
@@ -2293,21 +2292,21 @@ class StreamTest(Cleanup, unittest.TestCase):
b'\r\n'
) + b'\r\n'.join(lines)
- client = docker.Client(base_url="http+unix://" + self.socket_file)
- for i in range(5):
- try:
- stream = client.build(
- path=self.build_context,
- stream=True
- )
- break
- except requests.ConnectionError as e:
- if i == 4:
- raise e
-
- self.assertEqual(list(stream), [
- str(i).encode() for i in range(50)])
-
+ with docker.Client(base_url="http+unix://" + self.socket_file) \
+ as client:
+ for i in range(5):
+ try:
+ stream = client.build(
+ path=self.build_context,
+ stream=True
+ )
+ break
+ except requests.ConnectionError as e:
+ if i == 4:
+ raise e
+
+ self.assertEqual(list(stream), [
+ str(i).encode() for i in range(50)])
if __name__ == '__main__':
unittest.main()