11308: Remove superfluous hashbangs
[arvados.git] / sdk / python / tests / test_arv_ls.py
index 90bbacfe5af7146ffa4ec3924c00e1b44e0d6715..a7117d3d043d229da800f01048f868e1d0b18878 100644 (file)
@@ -1,17 +1,20 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-import hashlib
-import io
+from __future__ import absolute_import
+from builtins import str
+from builtins import range
+import os
 import random
-
+import sys
 import mock
+import tempfile
 
 import arvados.errors as arv_error
 import arvados.commands.ls as arv_ls
-import run_test_server
+from . import run_test_server
 
-class ArvLsTestCase(run_test_server.TestCaseWithServers):
+from . import arvados_testutil as tutil
+from .arvados_testutil import str_keep_locator, redirected_streams, StringIO
+
+class ArvLsTestCase(run_test_server.TestCaseWithServers, tutil.VersionChecker):
     FAKE_UUID = 'zzzzz-4zz18-12345abcde12345'
 
     def newline_join(self, seq):
@@ -24,8 +27,7 @@ class ArvLsTestCase(run_test_server.TestCaseWithServers):
 
     def mock_api_for_manifest(self, manifest_lines, uuid=FAKE_UUID):
         manifest_text = self.newline_join(manifest_lines)
-        pdh = '{}+{}'.format(hashlib.md5(manifest_text).hexdigest(),
-                             len(manifest_text))
+        pdh = str_keep_locator(manifest_text)
         coll_info = {'uuid': uuid,
                      'portable_data_hash': pdh,
                      'manifest_text': manifest_text}
@@ -34,8 +36,8 @@ class ArvLsTestCase(run_test_server.TestCaseWithServers):
         return coll_info, api_client
 
     def run_ls(self, args, api_client):
-        self.stdout = io.BytesIO()
-        self.stderr = io.BytesIO()
+        self.stdout = StringIO()
+        self.stderr = StringIO()
         return arv_ls.main(args, self.stdout, self.stderr, api_client)
 
     def test_plain_listing(self):
@@ -78,3 +80,9 @@ class ArvLsTestCase(run_test_server.TestCaseWithServers):
             arv_error.NotFoundError)
         self.assertNotEqual(0, self.run_ls([self.FAKE_UUID], api_client))
         self.assertNotEqual('', self.stderr.getvalue())
+
+    def test_version_argument(self):
+        with redirected_streams(stdout=StringIO, stderr=StringIO) as (out, err):
+            with self.assertRaises(SystemExit):
+                self.run_ls(['--version'], None)
+        self.assertVersionOutput(out, err)