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 

20 su = tools( 

21 arguments={"settingsFile": settingsFile}, 

22 docString=__doc__, 

23 logLevel="DEBUG", 

24 options_first=False, 

25 projectName=None, 

26 defaultSettingsFile=False 

27 ) 

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

29 

30 # SETUP PATHS TO COMMON DIRECTORIES FOR TEST DATA 

31 moduleDirectory = os.path.dirname(__file__) 

32 pathToInputDir = moduleDirectory + "/input/" 

33 pathToOutputDir = moduleDirectory + "/output/" 

34 

35 try: 

36 shutil.rmtree(pathToOutputDir) 

37 except: 

38 pass 

39 # COPY INPUT TO OUTPUT DIR 

40 shutil.copytree(pathToInputDir, pathToOutputDir) 

41 

42 # Recursively create missing directories 

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

44 os.makedirs(pathToOutputDir) 

45 

46 # COMMON STATUS CODES 

47 # 200 OK 

48 # 301 Moved Permanently 

49 # 302 Found - possibly rediected 

50 # 304 Not Modified 

51 # 400 Bad Request 

52 # 403 Forbidden 

53 # 409 Conflict 

54 # 401 Unauthorized 

55 # 404 Not Found 

56 # 405 Method Not Allowed 

57 # 408 Request Timeout 

58 # 429 Too Many Requests 

59 # 500 Internal Server Error 

60 # 504 Gateway Timeout 

61 # 502 Bad Gateway 

62 

63 

64class test_views_transients_comments(BaseTest): 

65 

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

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

68 

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

70 self.testSettings = settings 

71 self.settings = settings 

72 

73 def test_01_views_transients_comments_post(self): 

74 # PARAM DICTIONARY = URL TOKENS 

75 params = {} 

76 

77 respsonse = self.testapp.post( 

78 "/transients/comments", params=params, status=404) 

79 self.assertEqual(respsonse.status_code, 404) 

80 

81 def test_views_transients_comments_get(self): 

82 # PARAM DICTIONARY = URL TOKENS 

83 params = {} 

84 

85 params["format"] = "json" 

86 respsonse = self.testapp.get('/transients/comments', 

87 params=params) 

88 print(respsonse) 

89 self.assertEqual(respsonse.status_code, 200) 

90 params["format"] = "csv" 

91 respsonse = self.testapp.get('/transients/comments', 

92 params=params) 

93 print(respsonse) 

94 self.assertEqual(respsonse.status_code, 200) 

95 params["format"] = "plain_table" 

96 respsonse = self.testapp.get('/transients/comments', 

97 params=params) 

98 print(respsonse) 

99 self.assertEqual(respsonse.status_code, 200) 

100 params["format"] = None 

101 respsonse = self.testapp.get('/transients/comments', 

102 params=params) 

103 print(respsonse) 

104 self.assertEqual(respsonse.status_code, 200) 

105 

106 def test_views_transients_comments_delete(self): 

107 # PARAM DICTIONARY = URL TOKENS 

108 params = {} 

109 respsonse = self.testapp.delete('/transients/comments', 

110 params=params, status=404) 

111 print(respsonse) 

112 self.assertEqual(respsonse.status_code, 404) 

113 

114 def test_views_transients_comments_put(self): 

115 # PARAM DICTIONARY = URL TOKENS 

116 params = {} 

117 respsonse = self.testapp.put('/transients/comments', 

118 params=params, status=404) 

119 print(respsonse) 

120 self.assertEqual(respsonse.status_code, 404) 

121 

122 

123class test_views_transients_comments_elements(BaseTest): 

124 

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

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

127 

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

129 

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

131 

132 self.testSettings = settings 

133 self.settings = settings 

134 

135 def test_views_transients_comments_element_get(self): 

136 # PARAM DICTIONARY = URL TOKENS 

137 params = {} 

138 respsonse = self.testapp.get('/transients/1', 

139 params=params) 

140 self.assertEqual(respsonse.status_code, 200) 

141 

142 def test_views_transients_comments_element_post(self): 

143 # PARAM DICTIONARY = URL TOKENS 

144 params = {} 

145 respsonse = self.testapp.post('/transients/1', 

146 params=params) 

147 self.assertEqual(respsonse.status_code, 200) 

148 

149 def test_views_transients_comments_element_delete(self): 

150 # PARAM DICTIONARY = URL TOKENS 

151 params = {} 

152 respsonse = self.testapp.delete('/transients/1', 

153 params=params, status=404) 

154 self.assertEqual(respsonse.status_code, 404) 

155 

156 def test_views_transients_comments_element_put(self): 

157 # PARAM DICTIONARY = URL TOKENS 

158 params = {} 

159 respsonse = self.testapp.put('/transients/1', 

160 params=params) 

161 self.assertEqual(respsonse.status_code, 200)