ArvadosDocsite: string;
VocabularyURL: string;
FileViewersConfigURL: string;
+ WelcomePageHTML: string;
+ InactivePageHTML: string;
+ SiteName: string;
};
Login: {
LoginCluster: string;
vocabularyUrl: string;
fileViewersConfigUrl: string;
loginCluster: string;
+ clusterConfig: ClusterConfigJSON;
}
export const fetchConfig = () => {
config.workbenchUrl = clusterConfigJSON.Services.Workbench1.ExternalURL;
config.keepWebServiceUrl = clusterConfigJSON.Services.WebDAV.ExternalURL;
config.loginCluster = clusterConfigJSON.Login.LoginCluster;
+ config.clusterConfig = clusterConfigJSON;
mapRemoteHosts(clusterConfigJSON, config);
return { config, apiHost: workbenchConfig.API_HOST };
delete config.remoteHosts["*"];
};
+export const mockClusterConfigJSON = (config: Partial<ClusterConfigJSON>): ClusterConfigJSON => ({
+ ClusterID: "",
+ RemoteClusters: {},
+ Services: {
+ Controller: { ExternalURL: "" },
+ Workbench1: { ExternalURL: "" },
+ Workbench2: { ExternalURL: "" },
+ Websocket: { ExternalURL: "" },
+ WebDAV: { ExternalURL: "" },
+ },
+ Workbench: {
+ ArvadosDocsite: "",
+ VocabularyURL: "",
+ FileViewersConfigURL: "",
+ WelcomePageHTML: "",
+ InactivePageHTML: "",
+ SiteName: "",
+ },
+ Login: {
+ LoginCluster: "",
+ },
+ ...config
+});
+
export const mockConfig = (config: Partial<Config>): Config => ({
baseUrl: "",
keepWebServiceUrl: "",
workbench2Url: "",
vocabularyUrl: "",
fileViewersConfigUrl: "",
- loginCluster: ""
+ loginCluster: "",
+ clusterConfig: mockClusterConfigJSON({}),
+ ...config
});
const getDefaultConfig = (): WorkbenchConfig => {