Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from __future__ import print_function 

2from builtins import zip 

3from builtins import str 

4import os 

5import unittest 

6import shutil 

7import yaml 

8from sherlock.utKit import utKit 

9from fundamentals import tools 

10from os.path import expanduser 

11home = expanduser("~") 

12 

13packageDirectory = utKit("").get_project_root() 

14settingsFile = packageDirectory + "/test_settings.yaml" 

15 

16su = tools( 

17 arguments={"settingsFile": settingsFile}, 

18 docString=__doc__, 

19 logLevel="DEBUG", 

20 options_first=False, 

21 projectName=None, 

22 defaultSettingsFile=False 

23) 

24arguments, settings, log, dbConn = su.setup() 

25 

26# SETUP PATHS TO COMMON DIRECTORIES FOR TEST DATA 

27moduleDirectory = os.path.dirname(__file__) 

28pathToInputDir = moduleDirectory + "/input/" 

29pathToOutputDir = moduleDirectory + "/output/" 

30 

31try: 

32 shutil.rmtree(pathToOutputDir) 

33except: 

34 pass 

35# COPY INPUT TO OUTPUT DIR 

36shutil.copytree(pathToInputDir, pathToOutputDir) 

37 

38# Recursively create missing directories 

39if not os.path.exists(pathToOutputDir): 

40 os.makedirs(pathToOutputDir) 

41 

42settings["database settings"]["static catalogues"] = settings[ 

43 "database settings"]["static catalogues2"] 

44 

45# SETUP ALL DATABASE CONNECTIONS 

46from sherlock import database 

47db = database( 

48 log=log, 

49 settings=settings 

50) 

51dbConns, dbVersions = db.connect() 

52transientsDbConn = dbConns["transients"] 

53cataloguesDbConn = dbConns["catalogues"] 

54 

55# GET THE COLUMN MAPS FROM THE CATALOGUE DATABASE 

56from sherlock.commonutils import get_crossmatch_catalogues_column_map 

57colMaps = get_crossmatch_catalogues_column_map( 

58 log=log, 

59 dbConn=cataloguesDbConn 

60) 

61 

62class test_catalogue_conesearch(unittest.TestCase): 

63 

64 def test_catalogue_conesearch_function(self): 

65 

66 from sherlock import catalogue_conesearch 

67 cs = catalogue_conesearch( 

68 log=log, 

69 ra="23:01:07.99", 

70 dec="-01:58:04.5", 

71 radiusArcsec=60., 

72 colMaps=colMaps, 

73 tableName="tcs_view_agn_milliquas_v5_2", 

74 dbConn=cataloguesDbConn, 

75 nearestOnly=False, 

76 physicalSearch=False 

77 ) 

78 # catalogueMatches ARE ORDERED BY ANGULAR SEPARATION 

79 indices, catalogueMatches = cs.search() 

80 

81 print(catalogueMatches) 

82 

83 def test_catalogue_conesearch_function2(self): 

84 

85 from sherlock import catalogue_conesearch 

86 cs = catalogue_conesearch( 

87 log=log, 

88 ra=["23:01:07.99", 45.36722, 13.875250], 

89 dec=["-01:58:04.5", 30.45671, -25.26721], 

90 radiusArcsec=60., 

91 colMaps=colMaps, 

92 tableName="tcs_view_agn_milliquas_v5_2", 

93 dbConn=cataloguesDbConn, 

94 nearestOnly=False, 

95 physicalSearch=False 

96 ) 

97 # catalogueMatches ARE ORDERED BY ANGULAR SEPARATION 

98 indices, catalogueMatches = cs.search() 

99 

100 for i, c in zip(indices, catalogueMatches): 

101 print(i, c) 

102 

103 def test_catalogue_conesearch_function_exception(self): 

104 

105 from sherlock import catalogue_conesearch 

106 try: 

107 this = catalogue_conesearch( 

108 log=log, 

109 settings=settings, 

110 fakeKey="break the code" 

111 ) 

112 this.get() 

113 assert False 

114 except Exception as e: 

115 assert True 

116 print(str(e)) 

117 

118 # x-class-to-test-named-worker-function