mirror of
https://github.com/borgmatic-collective/borgmatic.git
synced 2026-07-22 02:03:01 +02:00
Fix tests after recent refactoring.
This commit is contained in:
@@ -135,7 +135,7 @@ class Directory_list(textual.widgets.OptionList):
|
||||
),
|
||||
)
|
||||
else:
|
||||
borgmatic.actions.browse.workers.load_archive_files(
|
||||
borgmatic.actions.browse.workers.load_archive_paths(
|
||||
self.app,
|
||||
directory_list=self,
|
||||
config=self.config,
|
||||
|
||||
@@ -89,7 +89,7 @@ class Archive_path_loaded(textual.signal.Signal):
|
||||
|
||||
|
||||
@textual.work(thread=True)
|
||||
def load_archive_files(browse_app, directory_list, config, repository, archive_name):
|
||||
def load_archive_paths(browse_app, directory_list, config, repository, archive_name):
|
||||
for archive_path in borgmatic.actions.browse.archive.get_archive_paths(
|
||||
config, repository, archive_name
|
||||
):
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import borgmatic.actions.browse.app
|
||||
import borgmatic.actions.browse.panels
|
||||
import borgmatic.actions.browse.configuration_files_list
|
||||
import borgmatic.actions.browse.logs
|
||||
import borgmatic.actions.browse.repositories_list
|
||||
|
||||
import pytest
|
||||
from flexmock import flexmock
|
||||
@@ -21,7 +23,8 @@ async def test_browse_app_with_multiple_configs_uses_configuration_files_list():
|
||||
carousel = app.query_one(selector='Carousel')
|
||||
assert len(carousel.panels) == 1
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].configs == app.configs
|
||||
|
||||
@@ -43,7 +46,9 @@ async def test_browse_app_with_one_config_uses_repositories_list():
|
||||
|
||||
carousel = app.query_one(selector='Carousel')
|
||||
assert len(carousel.panels) == 1
|
||||
assert isinstance(carousel.panels[0], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[0].config == app.configs['test1.yaml']
|
||||
|
||||
app.query_one(selector='Logs')
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import borgmatic.actions.browse.app
|
||||
import borgmatic.actions.browse.archive
|
||||
import borgmatic.actions.browse.carousel
|
||||
import borgmatic.actions.browse.loading
|
||||
import borgmatic.actions.browse.logs
|
||||
import borgmatic.actions.browse.panels
|
||||
import borgmatic.actions.browse.workers
|
||||
|
||||
import pytest
|
||||
@@ -17,11 +17,15 @@ def test_make_next_panel_with_configuration_files_list_returns_repositories_list
|
||||
configs = {'test.yaml': {'repositories': [{'path': 'test.borg'}]}}
|
||||
|
||||
repositories_list = module.make_next_panel(
|
||||
focused_panel=borgmatic.actions.browse.panels.Configuration_files_list(configs),
|
||||
focused_panel=borgmatic.actions.browse.configuration_files_list.Configuration_files_list(
|
||||
configs
|
||||
),
|
||||
option_id='test.yaml',
|
||||
)
|
||||
|
||||
assert isinstance(repositories_list, borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
repositories_list, borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert repositories_list.config == configs['test.yaml']
|
||||
|
||||
|
||||
@@ -29,16 +33,16 @@ def test_make_next_panel_with_repositories_list_returns_archives_list():
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_repository_archives')
|
||||
flexmock(borgmatic.actions.browse.panels.Archives_list).should_receive('app').and_return(
|
||||
flexmock(borgmatic.actions.browse.archives_list.Archives_list).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
|
||||
archives_list = module.make_next_panel(
|
||||
focused_panel=borgmatic.actions.browse.panels.Repositories_list(config),
|
||||
focused_panel=borgmatic.actions.browse.repositories_list.Repositories_list(config),
|
||||
option_id=0,
|
||||
)
|
||||
|
||||
assert isinstance(archives_list, borgmatic.actions.browse.panels.Archives_list)
|
||||
assert isinstance(archives_list, borgmatic.actions.browse.archives_list.Archives_list)
|
||||
assert archives_list.config == config
|
||||
assert archives_list.repository == config['repositories'][0]
|
||||
|
||||
@@ -47,22 +51,22 @@ def test_make_next_panel_with_archives_list_returns_directory_list():
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_repository_archives')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_archive_files')
|
||||
flexmock(borgmatic.actions.browse.panels.Archives_list).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
flexmock(borgmatic.actions.browse.panels.Directory_list).should_receive('app').and_return(
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_archive_paths')
|
||||
flexmock(borgmatic.actions.browse.archives_list.Archives_list).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
flexmock(borgmatic.actions.browse.directory_list.Directory_list).should_receive(
|
||||
'app'
|
||||
).and_return(flexmock())
|
||||
|
||||
directory_list = module.make_next_panel(
|
||||
focused_panel=borgmatic.actions.browse.panels.Archives_list(
|
||||
focused_panel=borgmatic.actions.browse.archives_list.Archives_list(
|
||||
config, config['repositories'][0]
|
||||
),
|
||||
option_id='archive',
|
||||
)
|
||||
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.panels.Directory_list)
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.directory_list.Directory_list)
|
||||
assert directory_list.config == config
|
||||
assert directory_list.repository == config['repositories'][0]
|
||||
|
||||
@@ -70,18 +74,26 @@ def test_make_next_panel_with_archives_list_returns_directory_list():
|
||||
def test_make_next_panel_with_root_directory_list_and_selected_directory_option_returns_new_directory_list():
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_archive_files')
|
||||
flexmock(borgmatic.actions.browse.panels.Directory_list).should_receive('app').and_return(
|
||||
flexmock()
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_archive_paths')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('Archive_path_loaded').replace_with(
|
||||
flexmock(
|
||||
path_hierarchy={
|
||||
'etc': {},
|
||||
},
|
||||
complete=False,
|
||||
),
|
||||
)
|
||||
focused_panel = borgmatic.actions.browse.panels.Directory_list(
|
||||
flexmock(borgmatic.actions.browse.directory_list.Directory_list).should_receive(
|
||||
'app'
|
||||
).and_return(flexmock())
|
||||
focused_panel = borgmatic.actions.browse.directory_list.Directory_list(
|
||||
config, config['repositories'][0], 'archive'
|
||||
)
|
||||
flexmock(focused_panel).should_receive('get_option').and_return(flexmock(prompt='📁 etc'))
|
||||
|
||||
directory_list = module.make_next_panel(focused_panel=focused_panel, option_id='etc')
|
||||
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.panels.Directory_list)
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.directory_list.Directory_list)
|
||||
assert directory_list.config == config
|
||||
assert directory_list.repository == config['repositories'][0]
|
||||
assert directory_list.archive_name == 'archive'
|
||||
@@ -91,11 +103,21 @@ def test_make_next_panel_with_root_directory_list_and_selected_directory_option_
|
||||
def test_make_next_panel_with_non_root_directory_list_and_selected_directory_option_returns_new_directory_list():
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_archive_files')
|
||||
flexmock(borgmatic.actions.browse.panels.Directory_list).should_receive('app').and_return(
|
||||
flexmock()
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_archive_paths')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('Archive_path_loaded').replace_with(
|
||||
flexmock(
|
||||
path_hierarchy={
|
||||
'etc': {
|
||||
'borgmatic': {},
|
||||
},
|
||||
},
|
||||
complete=False,
|
||||
),
|
||||
)
|
||||
focused_panel = borgmatic.actions.browse.panels.Directory_list(
|
||||
flexmock(borgmatic.actions.browse.directory_list.Directory_list).should_receive(
|
||||
'app'
|
||||
).and_return(flexmock())
|
||||
focused_panel = borgmatic.actions.browse.directory_list.Directory_list(
|
||||
config,
|
||||
config['repositories'][0],
|
||||
'archive',
|
||||
@@ -105,7 +127,7 @@ def test_make_next_panel_with_non_root_directory_list_and_selected_directory_opt
|
||||
|
||||
directory_list = module.make_next_panel(focused_panel=focused_panel, option_id='borgmatic')
|
||||
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.panels.Directory_list)
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.directory_list.Directory_list)
|
||||
assert directory_list.config == config
|
||||
assert directory_list.repository == config['repositories'][0]
|
||||
assert directory_list.archive_name == 'archive'
|
||||
@@ -115,15 +137,15 @@ def test_make_next_panel_with_non_root_directory_list_and_selected_directory_opt
|
||||
def test_make_next_panel_with_root_directory_list_and_selected_file_option_returns_new_file_preview():
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_archive_files')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_archive_paths')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_file_preview')
|
||||
flexmock(borgmatic.actions.browse.panels.Directory_list).should_receive('app').and_return(
|
||||
flexmock(borgmatic.actions.browse.directory_list.Directory_list).should_receive(
|
||||
'app'
|
||||
).and_return(flexmock())
|
||||
flexmock(borgmatic.actions.browse.file_preview.File_preview).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
flexmock(borgmatic.actions.browse.panels.File_preview).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
focused_panel = borgmatic.actions.browse.panels.Directory_list(
|
||||
focused_panel = borgmatic.actions.browse.directory_list.Directory_list(
|
||||
config, config['repositories'][0], 'archive'
|
||||
)
|
||||
flexmock(focused_panel).should_receive('get_option').and_return(
|
||||
@@ -132,7 +154,7 @@ def test_make_next_panel_with_root_directory_list_and_selected_file_option_retur
|
||||
|
||||
directory_list = module.make_next_panel(focused_panel=focused_panel, option_id='config.yaml')
|
||||
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.panels.File_preview)
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.file_preview.File_preview)
|
||||
assert directory_list.config == config
|
||||
assert directory_list.repository == config['repositories'][0]
|
||||
assert directory_list.archive_name == 'archive'
|
||||
@@ -142,15 +164,29 @@ def test_make_next_panel_with_root_directory_list_and_selected_file_option_retur
|
||||
def test_make_next_panel_with_non_root_directory_list_and_selected_file_option_returns_new_file_preview():
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_archive_files')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_archive_paths')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_file_preview')
|
||||
flexmock(borgmatic.actions.browse.panels.Directory_list).should_receive('app').and_return(
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('Archive_path_loaded').replace_with(
|
||||
flexmock(
|
||||
path_hierarchy={
|
||||
'etc': {
|
||||
'borgmatic': {
|
||||
'config.yaml': borgmatic.actions.browse.archive.Archive_path(
|
||||
'-', 'config.yaml', ''
|
||||
),
|
||||
},
|
||||
},
|
||||
},
|
||||
complete=False,
|
||||
),
|
||||
)
|
||||
flexmock(borgmatic.actions.browse.directory_list.Directory_list).should_receive(
|
||||
'app'
|
||||
).and_return(flexmock())
|
||||
flexmock(borgmatic.actions.browse.file_preview.File_preview).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
flexmock(borgmatic.actions.browse.panels.File_preview).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
focused_panel = borgmatic.actions.browse.panels.Directory_list(
|
||||
focused_panel = borgmatic.actions.browse.directory_list.Directory_list(
|
||||
config,
|
||||
config['repositories'][0],
|
||||
'archive',
|
||||
@@ -162,7 +198,7 @@ def test_make_next_panel_with_non_root_directory_list_and_selected_file_option_r
|
||||
|
||||
directory_list = module.make_next_panel(focused_panel=focused_panel, option_id='config.yaml')
|
||||
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.panels.File_preview)
|
||||
assert isinstance(directory_list, borgmatic.actions.browse.file_preview.File_preview)
|
||||
assert directory_list.config == config
|
||||
assert directory_list.repository == config['repositories'][0]
|
||||
assert directory_list.archive_name == 'archive'
|
||||
@@ -177,11 +213,11 @@ def test_make_next_panel_with_unsupported_focused_panel_returns_none():
|
||||
def test_make_next_panel_with_directory_list_and_unsupported_selected_option_returns_none(icon):
|
||||
config = {'repositories': [{'path': 'test.borg'}]}
|
||||
flexmock(borgmatic.actions.browse.loading).should_receive('add_inline_loading_indicator')
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('add_archive_files')
|
||||
flexmock(borgmatic.actions.browse.panels.Directory_list).should_receive('app').and_return(
|
||||
flexmock()
|
||||
)
|
||||
focused_panel = borgmatic.actions.browse.panels.Directory_list(
|
||||
flexmock(borgmatic.actions.browse.workers).should_receive('load_archive_paths')
|
||||
flexmock(borgmatic.actions.browse.directory_list.Directory_list).should_receive(
|
||||
'app'
|
||||
).and_return(flexmock())
|
||||
focused_panel = borgmatic.actions.browse.directory_list.Directory_list(
|
||||
config, config['repositories'][0], 'archive'
|
||||
)
|
||||
flexmock(focused_panel).should_receive('get_option').and_return(
|
||||
@@ -232,11 +268,14 @@ async def test_carousel_next_action_with_multiple_configs_advances_panel():
|
||||
assert len(carousel.panels) == 2
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'none'
|
||||
|
||||
assert isinstance(carousel.panels[1], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[1], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[1].styles.display == 'block'
|
||||
assert carousel.panels[1].highlighted == 0
|
||||
assert app.focused == carousel.panels[1]
|
||||
@@ -257,10 +296,12 @@ async def test_carousel_next_action_with_one_config_advances_panel():
|
||||
carousel = app.query_one(selector='Carousel')
|
||||
assert len(carousel.panels) == 2
|
||||
|
||||
assert isinstance(carousel.panels[0], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'none'
|
||||
|
||||
assert isinstance(carousel.panels[1], borgmatic.actions.browse.panels.Archives_list)
|
||||
assert isinstance(carousel.panels[1], borgmatic.actions.browse.archives_list.Archives_list)
|
||||
assert carousel.panels[1].styles.display == 'block'
|
||||
assert carousel.panels[1].highlighted == 0
|
||||
assert app.focused == carousel.panels[1]
|
||||
@@ -282,7 +323,9 @@ async def test_carousel_next_action_with_no_next_panel_does_not_advance():
|
||||
carousel = app.query_one(selector='Carousel')
|
||||
assert len(carousel.panels) == 1
|
||||
|
||||
assert isinstance(carousel.panels[0], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert app.focused == carousel.panels[0]
|
||||
|
||||
@@ -304,12 +347,15 @@ async def test_carousel_next_action_and_previous_action_returns_to_original_pane
|
||||
assert len(carousel.panels) == 2
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert carousel.panels[0].highlighted == 0
|
||||
|
||||
assert isinstance(carousel.panels[1], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[1], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[1].styles.display == 'none'
|
||||
assert app.focused == carousel.panels[0]
|
||||
|
||||
@@ -333,11 +379,14 @@ async def test_carousel_next_action_and_previous_action_and_next_action_reuses_n
|
||||
assert len(carousel.panels) == 2
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'none'
|
||||
|
||||
assert isinstance(carousel.panels[1], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[1], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[1].styles.display == 'block'
|
||||
assert carousel.panels[1].highlighted == 0
|
||||
assert app.focused == carousel.panels[1]
|
||||
@@ -360,7 +409,8 @@ async def test_carousel_next_action_with_no_next_panel_does_not_advance():
|
||||
assert len(carousel.panels) == 1
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert carousel.panels[0].highlighted == 0
|
||||
@@ -385,7 +435,8 @@ async def test_carousel_next_action_and_previous_action_and_down_truncates_next_
|
||||
assert len(carousel.panels) == 1
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert carousel.panels[0].highlighted == 1
|
||||
@@ -408,7 +459,8 @@ async def test_carousel_down_does_not_raise():
|
||||
assert len(carousel.panels) == 1
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert carousel.panels[0].highlighted == 1
|
||||
@@ -431,7 +483,8 @@ async def test_carousel_up_does_not_raise():
|
||||
assert len(carousel.panels) == 1
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert carousel.panels[0].highlighted == 1
|
||||
@@ -458,11 +511,14 @@ async def test_carousel_next_action_and_select_dot_dot_returns_to_original_panel
|
||||
assert len(carousel.panels) == 2
|
||||
|
||||
assert isinstance(
|
||||
carousel.panels[0], borgmatic.actions.browse.panels.Configuration_files_list
|
||||
carousel.panels[0],
|
||||
borgmatic.actions.browse.configuration_files_list.Configuration_files_list,
|
||||
)
|
||||
assert carousel.panels[0].styles.display == 'block'
|
||||
assert carousel.panels[0].highlighted == 0
|
||||
|
||||
assert isinstance(carousel.panels[1], borgmatic.actions.browse.panels.Repositories_list)
|
||||
assert isinstance(
|
||||
carousel.panels[1], borgmatic.actions.browse.repositories_list.Repositories_list
|
||||
)
|
||||
assert carousel.panels[1].styles.display == 'none'
|
||||
assert app.focused == carousel.panels[0]
|
||||
|
||||
Reference in New Issue
Block a user