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 str 

3import os 

4import unittest 

5import shutil 

6import yaml 

7from marshall_webapp.utKit import utKit 

8from fundamentals import tools 

9from os.path import expanduser 

10from dryxPyramid.utKit import BaseTest 

11home = expanduser("~") 

12 

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

14# settingsFile = packageDirectory + "/test_settings.yaml" 

15settingsFile = home + "/git_repos/_misc_/settings/marshall/test_settings.yaml" 

16 

17exists = os.path.exists(settingsFile) 

18if exists: 

19 su = tools( 

20 arguments={"settingsFile": settingsFile}, 

21 docString=__doc__, 

22 logLevel="DEBUG", 

23 options_first=False, 

24 projectName=None, 

25 defaultSettingsFile=False 

26 ) 

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

28 

29 # SETUP PATHS TO COMMON DIRECTORIES FOR TEST DATA 

30 moduleDirectory = os.path.dirname(__file__) 

31 pathToInputDir = moduleDirectory + "/input/" 

32 pathToOutputDir = moduleDirectory + "/output/" 

33 

34 try: 

35 shutil.rmtree(pathToOutputDir) 

36 except: 

37 pass 

38 # COPY INPUT TO OUTPUT DIR 

39 shutil.copytree(pathToInputDir, pathToOutputDir) 

40 

41 # Recursively create missing directories 

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

43 os.makedirs(pathToOutputDir) 

44 

45 # COMMON STATUS CODES 

46 # 200 OK 

47 # 301 Moved Permanently 

48 # 302 Found - possibly rediected 

49 # 304 Not Modified 

50 # 400 Bad Request 

51 # 403 Forbidden 

52 # 409 Conflict 

53 # 401 Unauthorized 

54 # 404 Not Found 

55 # 405 Method Not Allowed 

56 # 408 Request Timeout 

57 # 429 Too Many Requests 

58 # 500 Internal Server Error 

59 # 504 Gateway Timeout 

60 # 502 Bad Gateway 

61 

62 

63class test_views_resources_stats_elements(BaseTest): 

64 

65 def __init__(self, *args, **kwargs): 

66 BaseTest.__init__(self, *args, **kwargs) 

67 

68 # xt-setup-unit-testing-files-and-folders 

69 

70 self.testIni = moduleDirectory + "/../../../test.ini#marshall_webapp" 

71 

72 self.testSettings = settings 

73 self.settings = settings 

74 

75 def test_views_resources_stats_element_get(self): 

76 # PARAM DICTIONARY = URL TOKENS 

77 params = {} 

78 

79 params["format"] = "json" 

80 respsonse = self.testapp.get('/stats/ssdr1', 

81 params=params) 

82 print(respsonse) 

83 

84 self.assertEqual(respsonse.status_code, 200) 

85 params["format"] = "csv" 

86 respsonse = self.testapp.get('/stats/ssdr1', 

87 params=params) 

88 print(respsonse) 

89 self.assertEqual(respsonse.status_code, 200) 

90 params["format"] = "plain_table" 

91 respsonse = self.testapp.get('/stats/ssdr1', 

92 params=params) 

93 print(respsonse) 

94 self.assertEqual(respsonse.status_code, 200) 

95 params["format"] = None 

96 respsonse = self.testapp.get('/stats/ssdr1', 

97 params=params) 

98 print(respsonse) 

99 self.assertEqual(respsonse.status_code, 200) 

100 

101 def test_views_resources_stats_element_post(self): 

102 # PARAM DICTIONARY = URL TOKENS 

103 params = {} 

104 respsonse = self.testapp.post('/stats/ssdr1', 

105 params=params, status=404) 

106 print(respsonse) 

107 self.assertEqual(respsonse.status_code, 404) 

108 

109 def test_views_resources_stats_element_delete(self): 

110 # PARAM DICTIONARY = URL TOKENS 

111 params = {} 

112 respsonse = self.testapp.delete('/stats/ssdr1', 

113 params=params, status=404) 

114 print(respsonse) 

115 self.assertEqual(respsonse.status_code, 404) 

116 

117 def test_views_resources_stats_element_put(self): 

118 # PARAM DICTIONARY = URL TOKENS 

119 params = {} 

120 respsonse = self.testapp.put('/stats/ssdr1', 

121 params=params, status=404) 

122 print(respsonse) 

123 self.assertEqual(respsonse.status_code, 404)