diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/common-test/common-test.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/common-test/common-test.js index b397a39b5711e2b9aa0ee6fed21675586f9fad71..46836a7d5ef554671fb175364029b6f673cc9a6c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/common-test/common-test.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/common-test/common-test.js @@ -1,19 +1,43 @@ -var createFacade = function(){ - return new openbis('http://127.0.0.1:8888/openbis/openbis'); -} - -var createFacadeAndLogin = function(action, timeoutOrNull){ +var createFacade = function(action, timeoutOrNull){ stop(); - var facade = createFacade(); + var facade = new openbis('http://127.0.0.1:8888/openbis/openbis'); + + facade.close = function(){ + facade.logout(function(){ + facade.closed = true; + }); + }; - facade.login('admin','password', function(){ - action(facade); - }); + action(facade); + + var timeout = timeoutOrNull ? timeoutOrNull : 10000; + var checkInterval = 100; + var intervalTotal = 0; - setTimeout(function(){ - start(); - }, (timeoutOrNull ? timeoutOrNull : 1000)); + var startWhenClosed = function(){ + if(facade.closed){ + start(); + }else{ + intervalTotal += checkInterval; + + if(intervalTotal < timeout){ + setTimeout(startWhenClosed, checkInterval); + }else{ + start(); + } + } + }; + + startWhenClosed(); +} + +var createFacadeAndLogin = function(action, timeoutOrNull){ + createFacade(function(facade){ + facade.login('admin','password', function(){ + action(facade); + }); + }, timeoutOrNull); } var createSearchCriteriaForCodes = function(codes){ diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js index 841a526d8c4764a993df919c2e8dc4e97fc5ae06..d27114e76681fb6a92e6684e2f30f01079995844 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js @@ -8,6 +8,7 @@ test("listPlates()", function(){ facade.listPlates(function(response){ assertObjectsCount(response.result, 215); + facade.close(); }); }); }); @@ -24,6 +25,7 @@ test("listPlatesForExperiment()", function(){ facade.listPlatesForExperiment(experimentIdentifier, function(response){ assertObjectsCount(response.result, 4); assertObjectsWithValues(response.result, "plateCode", ["PLATE-1","PLATE-2", "PLATE-16-BIT", "SANOFI-EXAMPLE"]); + facade.close(); }); }); }); @@ -45,6 +47,7 @@ test("getPlateMetadataList()", function(){ facade.getPlateMetadataList(plateIdentifiers, function(response){ assertObjectsCount(response.result, 2); assertObjectsWithValues(response.result, "plateCode", ["PLATE-1","PLATE-2"]); + facade.close(); }); }); }); @@ -54,6 +57,7 @@ test("listAllExperiments()", function(){ facade.listAllExperiments(function(response){ assertObjectsCount(response.result, 4); assertObjectsWithValues(response.result, "experimentCode", ["E1","EXP-1","EXP-1","TEST"]); + facade.close(); }); }); }); @@ -65,6 +69,7 @@ test("listExperimentsVisibleToUser()", function(){ facade.listExperimentsVisibleToUser(userId, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithValues(response.result, "experimentCode", ["E1"]); + facade.close(); }); }); }); @@ -81,6 +86,7 @@ test("listFeatureVectorDatasets()", function(){ facade.listFeatureVectorDatasets(plateIdentifiers, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithValues(response.result, "datasetCode", ["20110913112215416-82999"]); + facade.close(); }); }); }); @@ -97,6 +103,7 @@ test("listImageDatasets()", function(){ facade.listImageDatasets(plateIdentifiers, function(response){ assertObjectsCount(response.result, 3); assertObjectsWithValues(response.result, "datasetCode", [ "20110913111517610-82996", "20110913112525450-83000", "20110913113026096-83001"]); + facade.close(); }); }); }); @@ -113,6 +120,7 @@ test("listRawImageDatasets()", function(){ facade.listRawImageDatasets(plateIdentifiers, function(response){ assertObjectsCount(response.result, 3); assertObjectsWithValues(response.result, "datasetCode", [ "20110913111517610-82996", "20110913112525450-83000", "20110913113026096-83001"]); + facade.close(); }); }); }); @@ -129,6 +137,7 @@ test("listSegmentationImageDatasets()", function(){ facade.listSegmentationImageDatasets(plateIdentifiers, function(response){ assertObjectsCount(response.result, 2); assertObjectsWithValues(response.result, "datasetCode", [ "20110913111925577-82997", "20110913111955463-82998" ]); + facade.close(); }); }); }); @@ -140,6 +149,7 @@ test("getDatasetIdentifiers()", function(){ facade.getDatasetIdentifiers(datasetCodes, function(response){ assertObjectsCount(response.result, 2); assertObjectsWithValues(response.result, "datasetCode", datasetCodes); + facade.close(); }); }); }); @@ -166,7 +176,8 @@ test("listPlateWellsForExperimentAndMaterial()", function(){ assertObjectsCount(response.result, 3); assertObjectsWithValuesFunction(response.result, "plateCode", function(result){ return result.experimentPlateIdentifier.plateCode; - }, ["PLATE-1-A", "PLATE-141-A", "PLATE-71-A"]) + }, ["PLATE-1-A", "PLATE-141-A", "PLATE-71-A"]); + facade.close(); }); }); }); @@ -187,7 +198,8 @@ test("listPlateWellsForMaterial()", function(){ assertObjectsCount(response.result, 3); assertObjectsWithValuesFunction(response.result, "plateCode", function(result){ return result.experimentPlateIdentifier.plateCode; - }, ["PLATE-1-A", "PLATE-141-A", "PLATE-71-A"]) + }, ["PLATE-1-A", "PLATE-141-A", "PLATE-71-A"]); + facade.close(); }); }); }); @@ -202,6 +214,7 @@ test("listPlateWells()", function(){ facade.listPlateWells(plateIdentifier, function(response){ assertObjectsCount(response.result, 79); + facade.close(); }); }); }); @@ -215,6 +228,7 @@ test("getWellSample()", function(){ facade.getWellSample(wellIdentifier, function(response){ equal(response.result.code, "PLATE-1-A:A3", "Well code is correct"); + facade.close(); }); }); }); @@ -229,6 +243,7 @@ test("getPlateSample()", function(){ facade.getPlateSample(plateIdentifier, function(response){ equal(response.result.code, "PLATE-1", "Plate code is correct"); + facade.close(); }); }); }); @@ -249,7 +264,8 @@ test("listPlateMaterialMapping()", function(){ assertObjectsCount(response.result, 1); assertObjectsWithValuesFunction(response.result, "plateCode", function(result){ return result.plateIdentifier.plateCode; - }, ["PLATE-1"]) + }, ["PLATE-1"]); + facade.close(); }); }); }); @@ -267,6 +283,7 @@ test("getExperimentImageMetadata()", function(){ equal(response.result.identifier.experimentCode, "E1", "Experiment code is correct"); equal(response.result.plateGeometry.width, 24, "Plate width is correct"); equal(response.result.plateGeometry.height, 16, "Plate height is correct"); + facade.close(); }); }); }); @@ -286,6 +303,7 @@ test("listAvailableFeatureCodes()", function(){ facade.listAvailableFeatureCodes(featureDatasets, function(response){ assertObjectsCount(response.result, 4); assertArrays(response.result, ["ROW_NUMBER", "COLUMN_NUMBER", "TPU", "STATE"], "Feature codes are correct"); + facade.close(); }); }); }); @@ -306,6 +324,7 @@ test("listAvailableFeatures()", function(){ facade.listAvailableFeatures(featureDatasets, function(response){ assertObjectsCount(response.result, 4); assertObjectsWithValues(response.result, 'code', ["ROW_NUMBER", "COLUMN_NUMBER", "TPU", "STATE"]); + facade.close(); }); }); }); @@ -327,7 +346,8 @@ test("loadFeatures()", function(){ facade.loadFeatures(featureDatasets, featureCodes, function(response){ assertObjectsCount(response.result, 1); assertArrays(response.result[0].featureCodes, featureCodes, 'Feature codes are correct'); - equal(response.result[0].featureVectors.length, 96, 'Feature vectors count is correct') + equal(response.result[0].featureVectors.length, 96, 'Feature vectors count is correct'); + facade.close(); }); }); }); @@ -360,8 +380,9 @@ test("loadFeaturesForDatasetWellReferences()", function(){ facade.loadFeaturesForDatasetWellReferences(datasetWellReferences, featureCodes, function(response){ assertObjectsCount(response.result, 1); assertArrays(response.result[0].featureCodes, featureCodes, 'Feature codes are correct'); - equal(response.result[0].wellPosition.wellRow, 1, 'Well row is correct') - equal(response.result[0].wellPosition.wellColumn, 2, 'Well column is correct') + equal(response.result[0].wellPosition.wellRow, 1, 'Well row is correct'); + equal(response.result[0].wellPosition.wellColumn, 2, 'Well column is correct'); + facade.close(); }); }); }); @@ -391,7 +412,8 @@ test("loadImagesBase64ForImageReferencesAndImageConversion()", function(){ var convertToPng = false; facade.loadImagesBase64ForImageReferencesAndImageConversion(imageReferences, convertToPng, function(response){ - alert(response.result.length); + assertObjectsCount(response.result, 9); + facade.close(); }); }); }); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-test/openbis-test.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-test/openbis-test.js index e462f8c21c9dc2ee945c03eac1a5842ff1ccbf56..fdea0064f6ffffe703ad82a8598bb303c56e95ef 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-test/openbis-test.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-test/openbis-test.js @@ -4,68 +4,55 @@ */ test("logout", function(){ - - stop(); - - var facade = createFacade(); - - facade.logout(function(){ - equal(facade.getSession(), null, 'Session is empty after logout'); - - facade.restoreSession(); - equal(facade.getSession(), null, 'Restored session is empty after logout'); - - facade.isSessionActive(function(response){ - equal(response.result, false, 'Session is inactive after logout'); + createFacade(function(facade){ + facade.logout(function(){ + equal(facade.getSession(), null, 'Session is empty after logout'); + + facade.restoreSession(); + equal(facade.getSession(), null, 'Restored session is empty after logout'); + + facade.isSessionActive(function(response){ + equal(response.result, false, 'Session is inactive after logout'); + facade.close(); + }); }); }); - - setTimeout(function(){ - start(); - }, 1000); - }); test("login", function() { - - stop(); - - var facade = createFacade(); - - facade.login('admin','password', function(response){ - ok(response.result,'Session from server is not empty after login'); - ok(facade.getSession(), 'Session from facade is not empty after login'); - - facade.isSessionActive(function(response){ - equal(response.result, true,'Session is active after login'); + createFacade(function(facade){ + facade.login('admin','password', function(response){ + ok(response.result,'Session from server is not empty after login'); + ok(facade.getSession(), 'Session from facade is not empty after login'); + + facade.isSessionActive(function(response){ + equal(response.result, true,'Session is active after login'); + facade.close(); + }); }); }); - - setTimeout(function(){ - start(); - }, 1000); }); test("cookies", function() { - - var facade = createFacade(); - - facade.useSession('session-1'); - facade.rememberSession(); - equal(facade.getSession(), 'session-1', 'Session 1 used') - - facade.useSession('session-2'); - equal(facade.getSession(), 'session-2', 'Session 2 used') - - facade.restoreSession(); - equal(facade.getSession(), 'session-1', 'Session 1 restored') - + createFacade(function(facade){ + facade.useSession('session-1'); + facade.rememberSession(); + equal(facade.getSession(), 'session-1', 'Session 1 used') + + facade.useSession('session-2'); + equal(facade.getSession(), 'session-2', 'Session 2 used') + + facade.restoreSession(); + equal(facade.getSession(), 'session-1', 'Session 1 restored') + facade.close(); + }); }); test("listNamedRoleSets()", function(){ createFacadeAndLogin(function(facade){ facade.listNamedRoleSets(function(response){ ok(response.result, 'Got results'); + facade.close(); }); }); }); @@ -74,6 +61,7 @@ test("listSpacesWithProjectsAndRoleAssignments()", function(){ createFacadeAndLogin(function(facade){ facade.listSpacesWithProjectsAndRoleAssignments(null, function(response){ assertObjectsCount(response.result, 4); + facade.close(); }); }); }); @@ -88,6 +76,7 @@ test("searchForSamples()", function(){ assertObjectsCount(response.result, 2); assertObjectsWithCodes(response.result, sampleCodes); assertObjectsWithProperties(response.result); + facade.close(); }); }); }); @@ -103,6 +92,7 @@ test("searchForSamplesWithFetchOptions()", function(){ assertObjectsCount(response.result, 2); assertObjectsWithCodes(response.result, sampleCodes); assertObjectsWithoutProperties(response.result); + facade.close(); }); }); }); @@ -119,6 +109,7 @@ test("searchForSamplesOnBehalfOfUser()", function(){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'PLATE-1-A' ]); assertObjectsWithoutProperties(response.result); + facade.close(); }); }); }); @@ -137,6 +128,7 @@ test("filterSamplesVisibleToUser()", function(){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'PLATE-1-A' ]); assertObjectsWithProperties(response.result); + facade.close(); }); }); }); @@ -149,6 +141,7 @@ test("listSamplesForExperiment()", function(){ facade.listSamplesForExperiment(experimentIdentifier, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'TEST-SAMPLE' ]); + facade.close(); }); }); }); @@ -162,6 +155,7 @@ test("listDataSetsForSamples()", function(){ facade.listDataSetsForSamples(samples, function(response){ assertObjectsCount(response.result, 19); + facade.close(); }); }); }); @@ -178,6 +172,7 @@ test("listExperiments()", function(){ facade.listExperiments(projects, experimentType, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'TEST' ]); + facade.close(); }); }); }); @@ -194,6 +189,7 @@ test("listExperimentsHavingSamples()", function(){ facade.listExperimentsHavingSamples(projects, experimentType, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'TEST' ]); + facade.close(); }); }); }); @@ -210,6 +206,7 @@ test("listExperimentsHavingDataSets()", function(){ facade.listExperimentsHavingDataSets(projects, experimentType, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'TEST' ]); + facade.close(); }); }); }); @@ -226,6 +223,7 @@ test("filterExperimentsVisibleToUser()", function(){ facade.filterExperimentsVisibleToUser(experiments, userId, function(response){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'E1' ]); + facade.close(); }); }); }); @@ -241,6 +239,7 @@ test("listDataSetsForSample()", function(){ facade.listDataSetsForSample(sample, restrictToDirectlyConnected, function(response){ assertObjectsCount(response.result, 6); + facade.close(); }); }); }); @@ -251,6 +250,7 @@ test("listDataStores()", function(){ facade.listDataStores(function(response){ assertObjectsCount(response.result, 1); assertObjectsWithCodes(response.result, [ 'DSS-SCREENING' ]); + facade.close(); }); }); }); @@ -259,6 +259,7 @@ test("getDefaultPutDataStoreBaseURL()", function(){ createFacadeAndLogin(function(facade){ facade.getDefaultPutDataStoreBaseURL(function(response){ equal(response.result, 'https://sprint-openbis.ethz.ch:8444', 'URL is correct') + facade.close(); }); }); }); @@ -269,6 +270,7 @@ test("tryGetDataStoreBaseURL()", function(){ facade.tryGetDataStoreBaseURL(dataSetCode, function(response){ equal(response.result, 'https://sprint-openbis.ethz.ch:8444', 'URL is correct') + facade.close(); }); }); }); @@ -283,6 +285,7 @@ test("getDataStoreBaseURLs()", function(){ var urlForDataSets = response.result[0]; equal(urlForDataSets.dataStoreURL, 'https://sprint-openbis.ethz.ch:8444', 'URL is correct'); deepEqual(urlForDataSets.dataSetCodes.sort(), dataSetCodes.sort()); + facade.close(); }); }); }); @@ -291,6 +294,7 @@ test("listDataSetTypes()", function(){ createFacadeAndLogin(function(facade){ facade.listDataSetTypes(function(response){ assertObjectsCount(response.result, 25); + facade.close(); }); }); }); @@ -299,6 +303,7 @@ test("listVocabularies()", function(){ createFacadeAndLogin(function(facade){ facade.listVocabularies(function(response){ assertObjectsCount(response.result, 4); + facade.close(); }); }); }); @@ -314,6 +319,7 @@ test("listDataSetsForSamplesWithConnections()", function(){ facade.listDataSetsForSamplesWithConnections(samples, connectionsToGet, function(response){ assertObjectsCount(response.result, 6); assertObjectsWithParentCodes(response.result); + facade.close(); }); }); }); @@ -331,6 +337,7 @@ test("listDataSetsForSamplesOnBehalfOfUser()", function(){ facade.listDataSetsForSamplesOnBehalfOfUser(samples, connectionsToGet, userId, function(response){ assertObjectsCount(response.result, 5); assertObjectsWithParentCodes(response.result); + facade.close(); }); }); }); @@ -347,6 +354,7 @@ test("listDataSetsForExperiments()", function(){ facade.listDataSetsForExperiments(experiments, connectionsToGet, function(response){ assertObjectsCount(response.result, 19); assertObjectsWithParentCodes(response.result); + facade.close(); }); }); }); @@ -364,6 +372,7 @@ test("listDataSetsForExperimentsOnBehalfOfUser()", function(){ facade.listDataSetsForExperimentsOnBehalfOfUser(experiments, connectionsToGet, userId, function(response){ assertObjectsCount(response.result, 428); assertObjectsWithParentCodes(response.result); + facade.close(); }); }); }); @@ -377,6 +386,7 @@ test("getDataSetMetaData()", function(){ assertObjectsCount(response.result, 2); assertObjectsWithCodes(response.result, dataSetCodes); assertObjectsWithProperties(response.result); + facade.close(); }); }); }); @@ -390,6 +400,7 @@ test("getDataSetMetaDataWithFetchOptions()", function(){ assertObjectsCount(response.result, 2); assertObjectsWithCodes(response.result, dataSetCodes); assertObjectsWithoutProperties(response.result); + facade.close(); }); }); }); @@ -404,6 +415,7 @@ test("searchForDataSets()", function(){ assertObjectsCount(response.result, 2); assertObjectsWithCodes(response.result, dataSetCodes); assertObjectsWithProperties(response.result); + facade.close(); }); }); }); @@ -419,6 +431,7 @@ test("searchForDataSetsOnBehalfOfUser()", function(){ assertObjectsCount(response.result, 2); assertObjectsWithCodes(response.result, [ '20110817134524954-81697', '20110817134715385-81703' ]); assertObjectsWithProperties(response.result); + facade.close(); }); }); });