Skip to content

Commit

Permalink
implement tests
Browse files Browse the repository at this point in the history
  • Loading branch information
zmsdev committed Jul 10, 2023
1 parent 2193a2d commit 9c2395a
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 23 deletions.
2 changes: 1 addition & 1 deletion tests/test_accessmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class AccessManagerTest(ZMSTestCase):

def setUp(self):
folder = Folder('myzmsx')
folder.REQUEST = HTTPRequest({'lang':'eng','preview':'preview'})
folder.REQUEST = MockHTTPRequest({'lang':'eng','preview':'preview'})
zmscontext = zms.initZMS(folder, 'content', 'titlealt', 'title', 'eng', 'eng', folder.REQUEST)
self.context = zmscontext

Expand Down
31 changes: 31 additions & 0 deletions tests/test_rest_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# encoding: utf-8

from OFS.Folder import Folder
import sys
import time
import unittest

# Product imports.
from tests.zms_test_util import *
from Products.zms import zms

# /Products/zms> python -m unittest discover -s unit_tests
# /Products/zms> python -m unittest tests.test_rest_api.RestAPITest
class RestAPITest(ZMSTestCase):

temp_title = 'temp-test'

def setUp(self):
folder = Folder('myzmsx')
folder.REQUEST = MockHTTPRequest({'lang':'eng','preview':'preview'})
zmscontext = zms.initZMS(folder, 'content', 'titlealt', 'title', 'eng', 'eng', folder.REQUEST)
self.context = zmscontext
print('[setUp] create %s'%self.temp_title)
self.folder = zmscontext.manage_addZMSCustom('ZMSFolder',{'title':self.temp_title,'titlealt':self.temp_title},zmscontext.REQUEST)

def test_tree(self):
request = MockHTTPRequest({'REQUEST_METHOD':'GET','TraversalRequestNameStack':[self.folder.id]})
name = '++rest_api'
actual = self.context.__bobo_traverse__(request, name)(request)
self.assertTrue(actual.find('"id": "e1"') > 0)
self.assertTrue(actual.find('"meta_id": "ZMSFolder"') > 0)
2 changes: 1 addition & 1 deletion tests/test_zmscontainerobject.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class ZMSContainerObjectTest(ZMSTestCase):

def setUp(self):
folder = Folder('myzmsx')
folder.REQUEST = HTTPRequest({'lang':'eng','preview':'preview'})
folder.REQUEST = MockHTTPRequest({'lang':'eng','preview':'preview'})
zmscontext = zms.initZMS(folder, 'content', 'titlealt', 'title', 'eng', 'eng', folder.REQUEST)
self.context = zmscontext
print('[setUp] create %s'%self.temp_title)
Expand Down
30 changes: 9 additions & 21 deletions tests/zms_test_util.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
# encoding: utf-8

from OFS.Folder import Folder
import inspect
import os
import sys
import time
import unittest
# Product imports.
from Products.zms import standard
Expand All @@ -18,7 +14,7 @@ class ZMSTestCase(unittest.TestCase):
def setUp(self):
print(self,"ZMSTestCase.setUp")
folder = Folder('myzmsx')
folder.REQUEST = HTTPRequest({'lang':'eng','preview':'preview'})
folder.REQUEST = MockHTTPRequest({'lang':'eng','preview':'preview'})
zmscontext = zms.initZMS(folder, 'content', 'titlealt', 'title', 'eng', 'eng', folder.REQUEST)
self.context = zmscontext

Expand All @@ -34,28 +30,20 @@ def writeInfo(self, s):
def writeError(self, s):
self.context.write(logging.ERROR,s)

def read_image(self, filename):
filepath = "../plugins/www/img/%s"%filename
modulepath = os.sep.join(inspect.getfile(self.__class__).split(os.sep)[:-1])
file = open(os.path.join(modulepath,filepath),"rb")
filedata = file.read()
file.close()
return standard.ImageFromData(self.context,filedata,filename)

def startMeasurement(self, category):
self.measurements[category] = time.time()

def stopMeasurement(self, category):
if self.measurements.has_key(category):
print('[stopMeasurement] | PERFORMANCE | %s | %.2fsecs.'%(category,time.time()-self.measurements[category]))
del self.measurements[category]
class MockHTTPResponse:

def __init__(self):
self.headers = {}

def setHeader(self, k, v):
self.headers[k] = v

class HTTPRequest:
class MockHTTPRequest:

def __init__(self, d={}, other={}):
self.d = d
self.other = other
self.RESPONSE = MockHTTPResponse()

def __getitem__(self, k, v=None):
return self.get(k)
Expand Down

0 comments on commit 9c2395a

Please sign in to comment.