From c7bf6ffc91b378a14c653d6cbf7594f379e38504 Mon Sep 17 00:00:00 2001 From: Jeff Balogh Date: Thu, 29 Jan 2015 09:20:40 -0800 Subject: [PATCH] Folder results should include the delimiter. --- moto/s3/models.py | 2 +- tests/test_s3/test_s3.py | 2 +- tests/test_s3bucket_path/test_s3bucket_path.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/moto/s3/models.py b/moto/s3/models.py index 21e7284d9..2a78a8003 100644 --- a/moto/s3/models.py +++ b/moto/s3/models.py @@ -333,7 +333,7 @@ class S3Backend(BaseBackend): for key_name, key in bucket.keys.items(): if delimiter and delimiter in key_name: # If delimiter, we need to split out folder_results - folder_results.add(key_name.split(delimiter)[0]) + folder_results.add(key_name.split(delimiter)[0] + delimiter) else: key_results.add(key) diff --git a/tests/test_s3/test_s3.py b/tests/test_s3/test_s3.py index 161e5bddd..1643eaaff 100644 --- a/tests/test_s3/test_s3.py +++ b/tests/test_s3/test_s3.py @@ -496,7 +496,7 @@ def test_bucket_key_listing_order(): # Test delimiter with no prefix delimiter = '/' keys = [x.name for x in bucket.list(prefix=None, delimiter=delimiter)] - keys.should.equal(['toplevel']) + keys.should.equal(['toplevel/']) delimiter = None keys = [x.name for x in bucket.list(prefix + 'x', delimiter)] diff --git a/tests/test_s3bucket_path/test_s3bucket_path.py b/tests/test_s3bucket_path/test_s3bucket_path.py index 9b33efe89..dfa6f2057 100644 --- a/tests/test_s3bucket_path/test_s3bucket_path.py +++ b/tests/test_s3bucket_path/test_s3bucket_path.py @@ -272,7 +272,7 @@ def test_bucket_key_listing_order(): # Test delimiter with no prefix delimiter = '/' keys = [x.name for x in bucket.list(prefix=None, delimiter=delimiter)] - keys.should.equal(['toplevel']) + keys.should.equal(['toplevel/']) delimiter = None keys = [x.name for x in bucket.list(prefix + 'x', delimiter)]