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("~")
13packageDirectory = utKit("").get_project_root()
14# settingsFile = packageDirectory + "/test_settings.yaml"
15settingsFile = home + "/git_repos/_misc_/settings/marshall/test_settings.yaml"
17exists = os.path.exists(settingsFile)
18if exists:
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()
30 # SETUP PATHS TO COMMON DIRECTORIES FOR TEST DATA
31 moduleDirectory = os.path.dirname(__file__)
32 pathToInputDir = moduleDirectory + "/input/"
33 pathToOutputDir = moduleDirectory + "/output/"
35 try:
36 shutil.rmtree(pathToOutputDir)
37 except:
38 pass
39 # COPY INPUT TO OUTPUT DIR
40 shutil.copytree(pathToInputDir, pathToOutputDir)
42 # Recursively create missing directories
43 if not os.path.exists(pathToOutputDir):
44 os.makedirs(pathToOutputDir)
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
64class test_views_transients_comments(BaseTest):
66 def __init__(self, *args, **kwargs):
67 BaseTest.__init__(self, *args, **kwargs)
69 self.testIni = moduleDirectory + "/../../../test.ini#marshall_webapp"
70 self.testSettings = settings
71 self.settings = settings
73 def test_01_views_transients_comments_post(self):
74 # PARAM DICTIONARY = URL TOKENS
75 params = {}
77 respsonse = self.testapp.post(
78 "/transients/comments", params=params, status=404)
79 self.assertEqual(respsonse.status_code, 404)
81 def test_views_transients_comments_get(self):
82 # PARAM DICTIONARY = URL TOKENS
83 params = {}
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)
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)
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)
123class test_views_transients_comments_elements(BaseTest):
125 def __init__(self, *args, **kwargs):
126 BaseTest.__init__(self, *args, **kwargs)
128 # xt-setup-unit-testing-files-and-folders
130 self.testIni = moduleDirectory + "/../../../test.ini#marshall_webapp"
132 self.testSettings = settings
133 self.settings = settings
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)
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)
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)
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)