def test_DataMenu_deselect_database(mocker, tmpdir, project): # Make a source directory with some files config_tmpdir = tmpdir.mkdir("config") mock_dir = Directory(str(config_tmpdir)) mocker.patch("dtocean_core.utils.database.UserDataDirectory", return_value=mock_dir) # Create mock connection mocker.patch("dtocean_core.menu.check_host_port", return_value=(True, "Mock connection returned")) data_menu = DataMenu() project = deepcopy(project) assert project.get_database_credentials() is None dbs = data_menu.get_available_databases() db_id = dbs[0] data_menu.select_database(project, db_id) assert project.get_database_credentials() data_menu.deselect_database(project) assert project.get_database_credentials() is None
def test_DataMenu_get_available_databases(mocker, tmpdir): # Make a source directory with some files config_tmpdir = tmpdir.mkdir("config") mock_dir = Directory(str(config_tmpdir)) mocker.patch("dtocean_core.utils.database.UserDataDirectory", return_value=mock_dir) data_menu = DataMenu() dbs = data_menu.get_available_databases() assert len(dbs) > 0
def test_DataMenu_update_database(mocker, tmpdir): # Make a source directory with some files config_tmpdir = tmpdir.mkdir("config") mock_dir = Directory(str(config_tmpdir)) mocker.patch("dtocean_core.utils.database.UserDataDirectory", return_value=mock_dir) data_menu = DataMenu() dbs = data_menu.get_available_databases() db_id = dbs[0] db_dict = data_menu.get_database_dict(db_id) data_menu.update_database(db_id, db_dict) assert len(config_tmpdir.listdir()) == 1