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:
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()
29 # SETUP PATHS TO COMMON DIRECTORIES FOR TEST DATA
30 moduleDirectory = os.path.dirname(__file__)
31 pathToInputDir = moduleDirectory + "/input/"
32 pathToOutputDir = moduleDirectory + "/output/"
34 try:
35 shutil.rmtree(pathToOutputDir)
36 except:
37 pass
38 # COPY INPUT TO OUTPUT DIR
39 shutil.copytree(pathToInputDir, pathToOutputDir)
41 # Recursively create missing directories
42 if not os.path.exists(pathToOutputDir):
43 os.makedirs(pathToOutputDir)
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
63class test_views_resources_stats_elements(BaseTest):
65 def __init__(self, *args, **kwargs):
66 BaseTest.__init__(self, *args, **kwargs)
68 # xt-setup-unit-testing-files-and-folders
70 self.testIni = moduleDirectory + "/../../../test.ini#marshall_webapp"
72 self.testSettings = settings
73 self.settings = settings
75 def test_views_resources_stats_element_get(self):
76 # PARAM DICTIONARY = URL TOKENS
77 params = {}
79 params["format"] = "json"
80 respsonse = self.testapp.get('/stats/ssdr1',
81 params=params)
82 print(respsonse)
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)
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)
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)
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)