package org.greenstone.gsdl3.testing; import java.util.Map; import java.awt.Component; // only JUnit and JAssert-Swing, no Selenium in this class import org.junit.Assert; import org.assertj.swing.fixture.*; /* * */ public class GSGUITestingUtil { public static final String DOWNLOAD_PANE = "DownloadPane"; public static final String GATHER_PANE = "GatherPane"; public static final String ENRICH_PANE = "EnrichPane"; public static final String DESIGN_PANE = "DesignPane"; public static final String CREATE_PANE = "CreatePane"; public static final String FORMAT_PANE = "FormatPane"; /************** NEEDED FOR TESTING *************/ // There's now a new method in GLI: GUIManager.setNamesRecursively() // that attempts to recursively call setName() on visible GUI components so that we // can have easier access to those GUI components when testing here through their names /************************ GENERAL *******************************/ //https://joel-costigliola.github.io/assertj/swing/api/org/assertj/swing/fixture/FrameFixture.html public static void switchToPane(FrameFixture window, String pane) { //JTabbedPaneFixture tab = window.tabbedPane("GUIManager.tab_pane"); JPanelFixture tab = window.panel(pane); } public static void getMenu(String menu, String subMenu) {} // e.g. pane = Enrich,view=collection; pane = Gather, view = workspace (or collection) public static void getFolderPath(String pane, String view, String folderPath) {} public static void getFilePath(String pane, String view, String filePath) {} /**********************FILE MENU*******************************/ public static void setPrefs(String tab, Map params) {} // mode e.g. librarian, expert public static void changeUserMode(String mode) {} public static void deleteCollection(){} public static void saveCollection(){} public static void closeCollection(){} public static void createCollection(String basedOn) {} public static void loadCollection(String colName) {} // only for GS2? public static void exportCollection() {} /*************** DESIGN ******************************/ public static void changeIndexer(String toIndexer) {} public static void changeDB(String toDB) {} public static void configurePartitionIndex(String tab, Map params) {} public static void configurePlugin(String pluginName, Map params) { } public static void configureClassifier(String classifierName, Map params) {} public static void configurePlugout(String plugoutName, Map params) {} // https://www.journaldev.com/1257/java-varargs // https://www.geeksforgeeks.org/variable-arguments-varargs-in-java/ public static void keepOnlyPlugins(String ... plug_n) {} public static void removePlugs(String ... plug_n) {} /********************** CREATE PANEL ********************/ public static void buildOpenCollection() {} public static void buildOpenCollection(boolean minimalRebuild) {} public static void configureImportOptions(Map params) {} public static void configureBuildOptions(Map params) {} public static void buildOutputContains(String ... n) {} /******************** GATHER PANE ********************/ public static void createWorkspaceShortcut(){} // in current open collection public static void createCollectionSubfolder() {} public static void dragNDrop(String workspacePath, String collPath) {} /********************* ENRICH PANE ******************/ // docPath can be just docName or collectionSubfolder/Subfolder2/docName public static void addMeta(String docPath, Map metanamesToValues) {} public static void addFolderLevelMeta(String folderPath, Map metanamesToValues) {} /********************* DOWNLOAD PANE ******************/ // TODO: more functions needed here: e.g. serverInfo? public static void download(String downloader, Map params) {} public static void clearCache() {} public static String serverInfo() { return ""; } /********************* DOWNLOAD PANE ******************/ public static void formatGeneral(){} public static void formatSearch() {} public static void formatFeature(String featureName, String filename) {} public static boolean isFormatFeatureXMLValid() { return true; } }