4c458a517cc3ea3cfa4f26a2c136d3641647edd2 hiram Fri Mar 17 15:03:41 2023 -0700 adding a search test refs #24113 diff --git src/hg/hubApi/tests/makefile src/hg/hubApi/tests/makefile index 6c025bc..e548340 100644 --- src/hg/hubApi/tests/makefile +++ src/hg/hubApi/tests/makefile @@ -1,58 +1,65 @@ # If SERVERNAME is defined in the environment use it, else use api-test - SERVERNAME ?= https://hgwdev-${USER}.gi.ucsc.edu test:: all help:: - printf "makefile targets:\n\ -default - your sandbox hgwdev-${USER}.gi.ucsc.edu\n\ -hgwdev - a unique vhost on hgwdev: api-test.gi.ucsc.edu\n\ -alpha - genome-test.gi.ucsc.edu\n\ -beta - apibeta-soe.ucsc.edu\n" + @printf "makefile targets:\n\ +test - using your sandbox hgwdev-${USER}.gi.ucsc.edu to run all tests\n\ +hgwdev - using a unique vhost on hgwdev: api-test.gi.ucsc.edu\n\ +alpha - using genome-test.gi.ucsc.edu\n\ +beta - using apibeta-soe.ucsc.edu - the hgwbeta machine, not all tests\n\ + - may work due to different sets of tracks and databases there.\n\ +anyTestTarget - there are many test targets\n\ +\n\ +To run a specific test for a specific server, for example:\n\ +\n\ + SERVERNAME=\"https://genome-test.gi.ucsc.edu\" make test8\n" hgwdev:: - SERVERNAME" https://api-test.gi.ucsc.edu" make test + SERVERNAME="https://api-test.gi.ucsc.edu" make test alpha:: SERVERNAME="https://genome-test.gi.ucsc.edu" make test beta:: SERVERNAME="https://apibeta.soe.ucsc.edu" make test all:: test0 listFunctions getFunctions listSchema getSequence wigData \ - supportedTypes errorTests notSupported bugReports + search supportedTypes errorTests notSupported bugReports listFunctions: list01 list02 list03 list04 list05 list06 list07 list08 list09 \ list10 list11 list12 list13 list14 list15 list16 list17 list18 getFunctions: test8 test9 test10 test11 test12 test13 test14 \ test15 test16 test19 test21 test26 test27 test28 \ test29 test39 test40 test41 test42 test43 test44 test45 test46 test47 \ test48 test49 test50 test51 test52 test53 test54 test55 test56 test57 \ multiTrack1 listSchema: schema01 schema02 schema03 schema04 schema05 schema06 schema07 \ schema08 schema09 schema10 schema11 schema12 getSequence: getSeq01 getSeq02 getSeq03 getSeq04 getSeq05 wigData: wig01 wig02 wig03 wig04 wig05 wig06 wig07 wig08 wig09 wig10 \ wig11 wig12 wig13 wig14 wig15 wig16 wig17 wig18 wig19 wig20 \ wig21 wig22 wig23 wig24 +search: search01 + supportedTypes: altGraphX barChart chain ctgPos expRatio \ interact netAlign peptideMapping pgSnp supportedTypes0: altGraphX barChart chain ctgPos expRatio factorSource gvf \ interact netAlign peptideMapping pgSnp errorTests: err01 err02 err03 err04 err05 err06 err07 err08 err09 err10 \ err11 err12 err13 err14 err15 err16 err17 err18 err19 err20 \ err21 err22 err23 err24 err25 err26 err27 err28 err29 err30 \ err31 err32 err33 err34 err35 err36 err37 err38 err39 err40 \ err41 err42 err43 err44 err45 err46 err47 err48 err49 notSupported: notSup01 notSup02 notSup03 notSup07 notSup10 bugReports: redmine23733 redmine24089a redmine24089b redmine24666 redmine25840 @@ -940,30 +947,39 @@ @zdiff expected/$@.gz testOutput/$@.gz # wiggle data from a track hub bigWig file, with chrom wig23: setOutput @printf "### $@ '${SERVERNAME}/cgi-bin/hubApi/getData/track?track=gc5Base;chrom=chrCp;genome=araTha1;hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;jsonOutputArrays=1;maxItemsOutput=5'\n" @./jsonConsumer.pl -serverName="${SERVERNAME}" -endpoint="/getData/track" -hubUrl="http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt" -genome="araTha1" -track="gc5Base" -chrom="chrCp" -jsonOutputArrays -maxItemsOutput=5 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz @zdiff expected/$@.gz testOutput/$@.gz # wiggle data from a track hub bigWig file, with chrom, start, end wig24: setOutput @printf "### $@ '${SERVERNAME}/cgi-bin/hubApi/getData/track?track=gc5Base;chrom=chrCp;genome=araTha1;hubUrl=http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt;end=5647;start=1234;jsonOutputArrays=1;maxItemsOutput=5'\n" @./jsonConsumer.pl -serverName="${SERVERNAME}" -endpoint="/getData/track" -hubUrl="http://genome-test.gi.ucsc.edu/~hiram/hubs/Plants/hub.txt" -genome="araTha1" -track="gc5Base" -chrom="chrCp" -start=1234 -end=5647 -jsonOutputArrays -maxItemsOutput=5 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c > testOutput/$@.gz @zdiff expected/$@.gz testOutput/$@.gz ############################################################################## +### search - test search function +############################################################################## + +# basic search just to see if it works: +search01: setOutput + @ printf "### $@ '${SERVERNAME}/search/?search=brca;genome=hg38'\n" + @ curl -L "${SERVERNAME}/search?search=brca;genome=hg38" 2> /dev/null | python -mjson.tool | egrep -c -n "\[|\]" | awk -v t="$@" '{if (($$1 < 25) || ($$1 > 35)) {printf "test %s failed, count %d not in range 25-35\n", t, $$1; exit 255;}}' + +############################################################################## ### supportedTypes - test both /list/chromosomes and /getData/track ### - for each type ############################################################################## altGraphX: setOutput @printf "### $@ '${SERVERNAME}/list/chromosomes?track=sibTxGraph;genome=hg19'\n" @./jsonConsumer.pl -serverName="${SERVERNAME}" -endpoint="/list/chromosomes" -genome="hg19" -track="sibTxGraph" 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/list#/list#;' | gzip -c > testOutput/$@.gz @printf "### $@ 'https://hgwdev-hiram.gi.ucsc.edu/getData/track?track=sibTxGraph;chrom=chr1;genome=hg19;jsonOutputArrays=1;maxItemsOutput=5'\n" @./jsonConsumer.pl -serverName="${SERVERNAME}" -endpoint="/getData/track" -genome="hg19" -track="sibTxGraph" -chrom="chr1" -jsonOutputArrays -maxItemsOutput=5 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/getData#/getData#;' | gzip -c >> testOutput/$@.gz @zdiff expected/$@.gz testOutput/$@.gz barChart: setOutput @printf "### $@ '${SERVERNAME}/list/chromosomes?track=gtexBrain;genome=hg38'\n" @./jsonConsumer.pl -serverName="${SERVERNAME}" -endpoint="/list/chromosomes" -genome="hg38" -track="gtexBrain" 2>&1 | egrep -v "${excludeLines}" | sed -e 's#https://.*/list#/list#;' | gzip -c > testOutput/$@.gz @printf "### $@ 'https://hgwdev-hiram.gi.ucsc.edu/getData/track?track=gtexBrain;chrom=chr1;genome=hg38;jsonOutputArrays=1;maxItemsOutput=5'\n"