Coverage for sherlock/imports/tests/test_ned_d.py: 80%

51 statements  

« prev     ^ index     » next       coverage.py v7.2.2, created at 2023-10-10 13:58 +0000

1from __future__ import print_function 

2from sherlock import database 

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 

42# SETUP ALL DATABASE CONNECTIONS 

43db = database( 

44 log=log, 

45 settings=settings 

46) 

47dbConns, dbVersions = db.connect() 

48transientsDbConn = dbConns["transients"] 

49cataloguesDbConn = dbConns["catalogues"] 

50 

51try: 

52 from fundamentals.mysql import writequery 

53 sqlQuery = """drop table IF EXISTS tcs_cat_ned_d_v1_0;""" % locals() 

54 writequery( 

55 log=log, 

56 sqlQuery=sqlQuery, 

57 dbConn=cataloguesDbConn 

58 ) 

59except: 

60 pass 

61 

62 

63class test_ned_d(unittest.TestCase): 

64 

65 import pytest 

66 

67 @pytest.mark.full 

68 def test_ned_d_function(self): 

69 

70 from sherlock.imports import ned_d 

71 catalogue = ned_d( 

72 log=log, 

73 settings=settings, 

74 pathToDataFile=pathToInputDir + "/ned_d_test.csv", 

75 version="1.0", 

76 catalogueName="ned_d" 

77 ) 

78 catalogue.ingest() 

79 

80 def test_ned_d_function_exception(self): 

81 

82 from sherlock.imports import ned_d 

83 try: 

84 this = ned_d( 

85 log=log, 

86 settings=settings, 

87 fakeKey="break the code" 

88 ) 

89 this.get() 

90 assert False 

91 except Exception as e: 

92 assert True 

93 print(str(e))