@ -7,16 +7,17 @@
import __builtin__
import __builtin__
import unittest
import base64
import hashlib
import hashlib
import zipfile
import json
import os
import shutil
import shutil
import subprocess
import sys
import sys
import base64
import tempfile
import tempfile
import json
import unittest
import os
import urllib2
import urllib2
import zipfile
# Add depot_tools to path
# Add depot_tools to path
@ -62,8 +63,6 @@ class FakeCall(object):
message = ' Expected: \n args: %s \n kwargs: %s \n ' % ( exp_args , exp_kwargs )
message = ' Expected: \n args: %s \n kwargs: %s \n ' % ( exp_args , exp_kwargs )
message + = ' Got: \n args: %s \n kwargs: %s \n ' % ( args , kwargs )
message + = ' Got: \n args: %s \n kwargs: %s \n ' % ( args , kwargs )
raise TestError ( message )
raise TestError ( message )
if isinstance ( exp_returns , Exception ) :
raise exp_returns
return exp_returns
return exp_returns
@ -72,15 +71,15 @@ class GsutilUnitTests(unittest.TestCase):
self . fake = FakeCall ( )
self . fake = FakeCall ( )
self . tempdir = tempfile . mkdtemp ( )
self . tempdir = tempfile . mkdtemp ( )
self . old_urlopen = getattr ( urllib2 , ' urlopen ' )
self . old_urlopen = getattr ( urllib2 , ' urlopen ' )
self . old_call = getattr ( gsutil , ' call ' )
self . old_call = getattr ( subprocess , ' call ' )
setattr ( urllib2 , ' urlopen ' , self . fake )
setattr ( urllib2 , ' urlopen ' , self . fake )
setattr ( gsutil , ' call ' , self . fake )
setattr ( subprocess , ' call ' , self . fake )
def tearDown ( self ) :
def tearDown ( self ) :
self . assertEqual ( self . fake . expectations , [ ] )
self . assertEqual ( self . fake . expectations , [ ] )
shutil . rmtree ( self . tempdir )
shutil . rmtree ( self . tempdir )
setattr ( urllib2 , ' urlopen ' , self . old_urlopen )
setattr ( urllib2 , ' urlopen ' , self . old_urlopen )
setattr ( gsutil , ' call ' , self . old_call )
setattr ( subprocess , ' call ' , self . old_call )
def test_download_gsutil ( self ) :
def test_download_gsutil ( self ) :
version = ' 4.2 '
version = ' 4.2 '
@ -126,8 +125,8 @@ class GsutilUnitTests(unittest.TestCase):
os . makedirs ( gsutil_dir )
os . makedirs ( gsutil_dir )
self . fake . add_expectation (
self . fake . add_expectation (
[ sys . executable , gsutil_bin , ' version ' ] , verbose= False ,
[ sys . executable , gsutil_bin , ' version ' ] , stdout= subprocess . PIPE ,
_returns= gsutil . SubprocessError ( ) )
stderr= subprocess . STDOUT , _returns = 1 )
with open ( gsutil_bin , ' w ' ) as f :
with open ( gsutil_bin , ' w ' ) as f :
f . write ( ' Foobar ' )
f . write ( ' Foobar ' )
@ -140,8 +139,8 @@ class GsutilUnitTests(unittest.TestCase):
with open ( tempzip , ' rb ' ) as f :
with open ( tempzip , ' rb ' ) as f :
self . fake . add_expectation ( url , _returns = Buffer ( f . read ( ) ) )
self . fake . add_expectation ( url , _returns = Buffer ( f . read ( ) ) )
self . fake . add_expectation (
self . fake . add_expectation (
[ sys . executable , gsutil_bin , ' version ' ] , verbose= False ,
[ sys . executable , gsutil_bin , ' version ' ] , stdout= subprocess . PIPE ,
_returns= gsutil . SubprocessError ( ) )
stderr= subprocess . STDOUT , _returns = 1 )
# This should delete the old bin and rewrite it with 'Fake gsutil'
# This should delete the old bin and rewrite it with 'Fake gsutil'
self . assertRaises (
self . assertRaises (
@ -160,7 +159,8 @@ class GsutilUnitTests(unittest.TestCase):
# Mock out call().
# Mock out call().
self . fake . add_expectation (
self . fake . add_expectation (
[ sys . executable , gsutil_bin , ' version ' ] , verbose = False , _returns = True )
[ sys . executable , gsutil_bin , ' version ' ] ,
stdout = subprocess . PIPE , stderr = subprocess . STDOUT , _returns = 0 )
with open ( gsutil_bin , ' w ' ) as f :
with open ( gsutil_bin , ' w ' ) as f :
f . write ( ' Foobar ' )
f . write ( ' Foobar ' )