@@ -26,66 +26,70 @@ def test_verify_terminal_encoding_none_is_ok(self):
2626
2727class TestProgressBar (TestCase ):
2828 @patch ('ddsc.core.util.sys.stdout' )
29- def test_show_no_waiting (self , mock_stdout ):
29+ @patch ('ddsc.core.util.transfer_speed_str' )
30+ def test_show_no_waiting (self , mock_transfer_speed_str , mock_stdout ):
3031 progress_bar = ProgressBar ()
32+ mock_transfer_speed_str .return_value = ' @ 100 MB/s'
3133
3234 # replace line with our progress
33- progress_bar .update (percent_done = 0 , details = 'sending really_long_filename.txt' )
35+ progress_bar .update (percent_done = 0 , details = 'sending really_long_filename.txt' , transferred_bytes = 0 )
3436 progress_bar .show ()
35- expected = '\r Progress: 0% - sending really_long_filename.txt'
37+ expected = '\r Progress: 0% @ 100 MB/s - sending really_long_filename.txt'
3638 mock_stdout .write .assert_called_with (expected )
3739
3840 # replace line with our progress (make sure it is long enough to blank out previous line)
39- progress_bar .update (percent_done = 10 , details = 'sending short.txt' )
41+ progress_bar .update (percent_done = 10 , details = 'sending short.txt' , transferred_bytes = 100 )
4042 progress_bar .show ()
41- expected = '\r Progress: 10% - sending short.txt '
43+ expected = '\r Progress: 10% @ 100 MB/s - sending short.txt '
4244 mock_stdout .write .assert_called_with (expected )
4345
44- progress_bar .update (percent_done = 15 , details = 'sending short.txt' )
46+ progress_bar .update (percent_done = 15 , details = 'sending short.txt' , transferred_bytes = 50 )
4547 progress_bar .show ()
46- expected = '\r Progress: 15% - sending short.txt '
48+ expected = '\r Progress: 15% @ 100 MB/s - sending short.txt '
4749 mock_stdout .write .assert_called_with (expected )
4850
4951 # we finish uploading(go to newline)
5052 progress_bar .set_state (ProgressBar .STATE_DONE )
5153 progress_bar .show ()
52- expected = '\r Done: 100% \n '
54+ expected = '\r Done: 100% @ 100 MB/s \n '
5355 mock_stdout .write .assert_called_with (expected )
5456
5557 @patch ('ddsc.core.util.sys.stdout' )
56- def test_show_with_waiting (self , mock_stdout ):
58+ @patch ('ddsc.core.util.transfer_speed_str' )
59+ def test_show_with_waiting (self , mock_transfer_speed_str , mock_stdout ):
5760 progress_bar = ProgressBar ()
61+ mock_transfer_speed_str .return_value = ' @ 100 MB/s'
5862
5963 # we make some progress
60- progress_bar .update (percent_done = 10 , details = 'sending short.txt' )
64+ progress_bar .update (percent_done = 10 , details = 'sending short.txt' , transferred_bytes = 100 )
6165 progress_bar .show ()
62- expected = '\r Progress: 10% - sending short.txt'
66+ expected = '\r Progress: 10% @ 100 MB/s - sending short.txt'
6367 mock_stdout .write .assert_called_with (expected )
6468
6569 # we get stuck waiting
6670 progress_bar .wait_msg = "Waiting for project"
6771 progress_bar .set_state (ProgressBar .STATE_WAITING )
6872 progress_bar .show ()
69- expected = '\r Progress: 10% - Waiting for project'
73+ expected = '\r Progress: 10% @ 100 MB/s - Waiting for project'
7074 mock_stdout .write .assert_called_with (expected )
7175
7276 # waiting takes priority over progress updates
7377 # (we may be able to upload some folders while waiting to upload files)
74- progress_bar .update (percent_done = 15 , details = 'sending short.txt' )
78+ progress_bar .update (percent_done = 15 , details = 'sending short.txt' , transferred_bytes = 50 )
7579 progress_bar .show ()
76- expected = '\r Progress: 15% - Waiting for project'
80+ expected = '\r Progress: 15% @ 100 MB/s - Waiting for project'
7781 mock_stdout .write .assert_called_with (expected )
7882
7983 # we are not longer waiting
8084 progress_bar .set_state (ProgressBar .STATE_RUNNING )
8185 progress_bar .show ()
82- expected = '\r Progress: 15% - sending short.txt '
86+ expected = '\r Progress: 15% @ 100 MB/s - sending short.txt '
8387 mock_stdout .write .assert_called_with (expected )
8488
8589 # we finish uploading(go to newline)
8690 progress_bar .set_state (ProgressBar .STATE_DONE )
8791 progress_bar .show ()
88- expected = '\r Done: 100% \n '
92+ expected = '\r Done: 100% @ 100 MB/s \n '
8993 mock_stdout .write .assert_called_with (expected )
9094
9195 @patch ('ddsc.core.util.sys.stdout' )
@@ -111,20 +115,20 @@ def test_show_waiting(self, mock_stdout):
111115
112116class TestProgressPrinter (TestCase ):
113117 @patch ('ddsc.core.util.ProgressBar' )
114- def test_stuff (self , mock_progress_bar ):
118+ def test_general_functionality (self , mock_progress_bar ):
115119 progress_printer = ProgressPrinter (total = 10 , msg_verb = 'sending' )
116120
117121 # pretend we just created a project
118122 mock_project = Mock (kind = KindType .project_str , path = '' )
119- progress_printer .transferring_item (item = mock_project , increment_amt = 1 )
120- mock_progress_bar .return_value .update .assert_called_with (10 , 'sending project' )
123+ progress_printer .transferring_item (item = mock_project , increment_amt = 1 , transferred_bytes = 100 )
124+ mock_progress_bar .return_value .update .assert_called_with (10 , 100 , 'sending project' )
121125 mock_progress_bar .return_value .show .assert_called ()
122126 mock_progress_bar .reset_mock ()
123127
124128 # pretend we just created a folder
125129 mock_project = Mock (kind = KindType .folder_str , path = '/data' )
126- progress_printer .transferring_item (item = mock_project , increment_amt = 2 )
127- mock_progress_bar .return_value .update .assert_called_with (30 , 'sending data' )
130+ progress_printer .transferring_item (item = mock_project , increment_amt = 2 , transferred_bytes = 200 )
131+ mock_progress_bar .return_value .update .assert_called_with (30 , 300 , 'sending data' )
128132 mock_progress_bar .return_value .show .assert_called ()
129133 mock_progress_bar .reset_mock ()
130134
@@ -141,7 +145,7 @@ def test_stuff(self, mock_progress_bar):
141145 # pretend we uploaded a file
142146 mock_project = Mock (kind = KindType .file_str , path = '/data/log.txt' )
143147 progress_printer .transferring_item (item = mock_project , increment_amt = 2 )
144- mock_progress_bar .return_value .update .assert_called_with (50 , 'sending log.txt' )
148+ mock_progress_bar .return_value .update .assert_called_with (50 , 300 , 'sending log.txt' )
145149 mock_progress_bar .return_value .show .assert_called ()
146150 mock_progress_bar .reset_mock ()
147151
@@ -181,10 +185,10 @@ def test_transferring_item_override_msg_verb(self, mock_os, mock_progress_bar):
181185 mock_os .path .basename .return_value = 'somefile.txt'
182186 progress_printer = ProgressPrinter (total = 10 , msg_verb = 'sending' )
183187 progress_printer .transferring_item (Mock (), increment_amt = 0 )
184- progress_bar .update .assert_called_with (0 , "sending somefile.txt" )
188+ progress_bar .update .assert_called_with (0 , 0 , "sending somefile.txt" )
185189 progress_bar .reset_mock ()
186190 progress_printer .transferring_item (Mock (), increment_amt = 0 , override_msg_verb = 'checking' )
187- progress_bar .update .assert_called_with (0 , "checking somefile.txt" )
191+ progress_bar .update .assert_called_with (0 , 0 , "checking somefile.txt" )
188192
189193 def test_increment_progress (self ):
190194 progress_printer = ProgressPrinter (total = 10 , msg_verb = 'sending' )
0 commit comments