Skip to content

Commit

Permalink
Fix functional tests
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewgross committed Jul 19, 2016
1 parent 1569aff commit 4c96eba
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 29 deletions.
18 changes: 10 additions & 8 deletions s3browser/util/s3.py
Expand Up @@ -25,15 +25,17 @@ def get_keys(bucket, interactive=False):
"""
Get all keys, interactive adds some fancy graphics
"""
counter, timer = _interactive(interactive=interactive)
key_count = 0
counter, timer = _interactive(interactive=interactive, timer=datetime.datetime.min, key_count=key_count)
for key in bucket:
yield key
counter, timer = _interactive(counter=counter, timer=timer, interactive=interactive)
counter, timer = _interactive(counter=counter, timer=timer, interactive=interactive, key_count=key_count)
key_count += 1
if interactive:
print "\nDone!"


def _interactive(counter=0, timer=None, interactive=False):
def _interactive(counter=0, timer=None, interactive=False, key_count=0):
"""
Print a status banner, adding a . every second, resetting at 10
"""
Expand All @@ -44,24 +46,24 @@ def _interactive(counter=0, timer=None, interactive=False):
if after_one_second and interactive:
counter += 1
counter = counter % 10
_print_progress_bar(counter)
_print_progress_bar(counter, key_count)
timer = now
return counter, timer


def _get_ticker_string(counter):
def _get_ticker_string(counter, key_count):
"""
Print out our message while keeping a constant width string
"""
anti_counter = 10 - counter
return "This can take a while.{}{}".format("." * counter, " " * anti_counter)
return "This can take a while.{}{} Keys Found: {}".format("." * counter, " " * anti_counter, key_count)


def _print_progress_bar(counter):
def _print_progress_bar(counter, key_count):
"""
Print out a message overtop of the existing line
"""
ticker = _get_ticker_string(counter)
ticker = _get_ticker_string(counter, key_count)
sys.stdout.write(ticker)
sys.stdout.flush()
sys.stdout.write("\b" * (len(ticker) + 1)) # Move back to the beginning of the line
Expand Down
42 changes: 21 additions & 21 deletions tests/functional/test_client.py
Expand Up @@ -22,11 +22,11 @@ def test_refresh():
bucket, conn = populate_bucket('mybucket', keys)

# And I have a client
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# When I refresh
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# Then I get all of my keys
len(c.current_directory.files).should.equal(2)
Expand All @@ -41,17 +41,17 @@ def test_pwd(output):
# When I have a client
keys = ["foo", "bar"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have files
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call pwd
c.do_pwd("")

# Then I get the top level bucket name
output.assert_called_once_with("mybucket")
output.assert_called_once_with("/mybucket")


@mock_s3
Expand All @@ -63,13 +63,13 @@ def test_ls(output):
# When I have a client
keys = ["foo", "bar"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("")
Expand All @@ -88,13 +88,13 @@ def test_ls_directory(output):
# When I have a client
keys = ["baz", "foo/bar"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("")
Expand All @@ -114,13 +114,13 @@ def test_ls_l(output):
# When I have a client
keys = ["foo", "bar"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("-l")
Expand All @@ -140,13 +140,13 @@ def test_ls_lh(output):
# When I have a client
keys = ["foo", "bar"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("-lh")
Expand All @@ -166,13 +166,13 @@ def test_ls_lhsr(output):
# When I have a client
keys = ["fooz", "bar"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("-lhSr")
Expand All @@ -198,13 +198,13 @@ def test_ls_lht(output):
with freeze_time("2016-07-10 03:39:34"):
keys = ["old"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("-lht")
Expand All @@ -227,13 +227,13 @@ def test_ls_l_size(output):
# When I have a client
keys = ["foo/bar", "foo/baz", "foo2"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)

# And I have no current directory
current_directory = ""
c.current_directory = current_directory
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# When I call ls
c.do_ls("-l")
Expand All @@ -256,9 +256,9 @@ def test_ls_nested(output):
# When I have a client
keys = ["foo/foo/bar/baz", "foo/bar2", "foo/baz2/baz3", "banana"]
bucket, conn = populate_bucket('mybucket', keys)
c = S3Browser(bucket, conn)
c = S3Browser(conn)
with silence_stdout():
c.do_refresh("")
c.do_refresh("mybucket")

# And I have a current directory
c.do_cd("foo")
Expand Down

0 comments on commit 4c96eba

Please sign in to comment.