def test_setUpWidget_via_conform_adapter(self): f = ConformFoo() request = TestRequest() v = BarV(f, request)
def test_POST_no_formvariables(self): form = dict(one=1, two='2') request = TestRequest(form=form, REQUEST_METHOD="POST") self.assertEquals(get_formvariables(request), {})
from zope.browserresource.file import FileResource from zope.browserresource.i18nfile import I18nFileResource from zope.browserresource.directory import DirectoryResource from zope.testing import cleanup tests_path = os.path.join(os.path.dirname(zope.browserresource.__file__), 'tests') template = """<configure xmlns='http://namespaces.zope.org/zope' xmlns:browser='http://namespaces.zope.org/browser' i18n_domain='zope'> %s </configure>""" request = TestRequest() class ITestLayer(IBrowserRequest): """Test Layer.""" class ITestSkin(ITestLayer): """Test Skin.""" class MyResource(object): def __init__(self, request): self.request = request
def testNoContextInformation(self): request = TestRequest() view = getMultiAdapter((None, request), name='absolute_url') self.assertEqual(str(view), 'http://127.0.0.1') self.assertEqual(absoluteURL(None, request), 'http://127.0.0.1')
def test_conflicterror_raises(self): with self.assertRaises(ConflictError): RaiseConflictErrorErrorView(object(), TestRequest())()
def test_raise_single_additional_exceptions(self): with self.assertRaises(ValueError): RaiseValueErrorErrorView(object(), TestRequest())()
def makeRequest(self, cookie): session = self.folder.pas.session return TestRequest(**{session.cookie_name: cookie})
def test_formvariables_object(self): form = dict(one='1', two=EvilObject()) request = TestRequest(form=form, REQUEST_METHOD="GET") self.assertEquals(get_formvariables(request), form)
def test_expansion_returns_collapsed_elements(self): request = TestRequest() self.assertEqual( {'@components': {'bar': 'collapsed', 'foo': 'collapsed'}}, expandable_elements(None, request))
def test_expansion_returns_multiple_expanded_elements(self): request = TestRequest(form={'expand': 'foo,bar'}) self.assertEqual( {'@components': {'bar': 'expanded', 'foo': 'expanded'}}, expandable_elements(None, request))
def setUp(self): self.request = TestRequest() setRequest(self.request) self.portal = self.layer['portal'] login(self.portal, TEST_USER_NAME) setRoles(self.portal, TEST_USER_ID, ['Manager'])
def _makeWidget(self, form=None, nums=None): request = TestRequest(form=form or {}) collector = Collector(nums) bound = self._field.bind(collector) return self._widget(bound, self._vocabulary, request)
def test_not_required(self): numbers = List(value_type=ICollector['choice']).bind(Collector(None)) request = TestRequest() widget = self._widget(numbers, self._vocabulary, request) self.failIf(widget.required)
def test_formvariables_sequences(self): form = dict(one=('a', ), two=['b', 2]) request = TestRequest(form=form, REQUEST_METHOD="GET") self.assertEquals(get_formvariables(request), form)
def test_BC4_Shimadzu_TQ8030Import(self): pc = getToolByName(self.portal, 'portal_catalog') workflow = getToolByName(self.portal, 'portal_workflow') arimport = self.addthing(self.client, 'ARImport') arimport.unmarkCreationFlag() arimport.setFilename("test1.csv") arimport.setOriginalFile(""" Header, File name, Client name, Client ID, Contact, CC Names - Report, CC Emails - Report, CC Names - Invoice, CC Emails - Invoice, No of Samples, Client Order Number, Client Reference,, Header Data, test1.csv, Happy Hills, HH, Rita Mohale, , , , , 10, HHPO-001, ,, Batch Header, id, title, description, ClientBatchID, ClientBatchComment, BatchLabels, ReturnSampleToClient,,, Batch Data, B15-0123, New Batch, Optional descr, CC 201506, Just a batch, , TRUE ,,, Samples, ClientSampleID, SamplingDate,DateSampled,Sampler,SamplePoint,SampleMatrix,SampleType,ContainerType,ReportDryMatter,Priority,Total number of Analyses or Profiles,Price excl Tax,CAL1,,,,MicroBio,, Analysis price,,,,,,,,,,,,,, "Total Analyses or Profiles",,,,,,,,,,,,,9,,, Total price excl Tax,,,,,,,,,,,,,, "Sample 1", HHS14001, 3/9/2014, 3/9/2014,,Toilet, Liquids, Water, Cup, 0, Normal, 1, 0, 0,0,0,0,0,1 """) # check that values are saved without errors arimport.setErrors([]) arimport.save_header_data() arimport.save_sample_data() arimport.create_or_reference_batch() errors = arimport.getErrors() if errors: self.fail("Unexpected errors while saving data: " + str(errors)) # check that batch was created and linked to arimport without errors if not pc(portal_type='Batch'): self.fail("Batch was not created!") if not arimport.schema['Batch'].get(arimport): self.fail("Batch was created, but not linked to ARImport.") # the workflow scripts use response.write(); silence them arimport.REQUEST.response.write = lambda x: x # check that validation succeeds without any errors workflow.doActionFor(arimport, 'validate') state = workflow.getInfoFor(arimport, 'review_state') if state != 'valid': errors = arimport.getErrors() self.fail('Validation failed! %s.Errors: %s' % (arimport.id, errors)) # Import objects and verify that they exist workflow.doActionFor(arimport, 'import') state = workflow.getInfoFor(arimport, 'review_state') if state != 'imported': errors = arimport.getErrors() self.fail('Importation failed! %s.Errors: %s' % (arimport.id, errors)) bc = getToolByName(self.portal, 'bika_catalog') ars = bc(portal_type='AnalysisRequest') ar = ars[0] api.content.transition(obj=ar.getObject(), transition='receive') transaction.commit() #Testing Import for Instrument path = os.path.dirname(__file__) filename = '%s/files/icp output.txt' % path if not os.path.isfile(filename): self.fail("File %s not found" % filename) data = open(filename, 'r').read() file = FileUpload(TestFile(cStringIO.StringIO(data))) request = TestRequest() request = TestRequest(form=dict(submitted=True, artoapply='received', override='nooverride', file=file, sample='requestid', instrument='')) context = self.portal results = Import(context, request) transaction.commit() text = 'Import finished successfully: 1 ARs and 1 results updated' if text not in results: self.fail("AR Import failed") browser = self.getBrowser(loggedIn=True) browser.open(ar.getObject().absolute_url() + "/manage_results") content = browser.contents if '193.759' not in content: self.fail("AR Result did not get updated")
def test_formvariables_utf8(self): utf8 = unicode('Før', 'utf-8').encode('utf-8') form = dict(one=utf8, two=u'foo') request = TestRequest(form=form, REQUEST_METHOD="GET") self.assertEquals(get_formvariables(request), form)
def testView(self): browserView(IContent, 'foo', View) ob = Content() v = view(ob, TestRequest()).traverse('foo', ()) self.assertEqual(v.__class__, View)
def test_exceptions_gets_catched_and_returned(self): view = RaiseErrorView(object(), TestRequest()) self.assertTrue(view().startswith('Traceback (most recent call last)'))
def testResource(self): browserResource('foo', Resource) ob = Content() r = resource(ob, TestRequest()).traverse('foo', ()) self.assertEqual(r.__class__, Resource)
def test_keyboardinterrupt_raises(self): with self.assertRaises(KeyboardInterrupt): RaiseKeyboardInterruptErrorView(object(), TestRequest())()
def test_view(self): view = Manage(self.site, TestRequest()) self.assertTrue(IBrowserPublisher.providedBy(view))
def test_raise_multiple_additional_exceptions(self): with self.assertRaises(ValueError): RaiseMultipleErrorView(object(), TestRequest())(keyerror=False) with self.assertRaises(KeyError): RaiseMultipleErrorView(object(), TestRequest())(keyerror=True)
def test_get_ids(self): request = TestRequest( form={'form.select_ids': ['DummyUser1', 'DummyUser3']}) view = Manage(self.site, request) self.assertEqual(view._get_ids(), ['DummyUser1', 'DummyUser3'])
def testBadObject(self): request = TestRequest() view = getMultiAdapter((42, request), name='absolute_url') self.assertRaises(TypeError, view.__str__) self.assertRaises(TypeError, absoluteURL, 42, request)
def test_getNavigationURL(self): url = 'http://example.com/members.html' self._make_batch() view = Manage(self.site, TestRequest(ACTUAL_URL=url)) view._getNavigationVars = lambda: {} self.assertTrue(view._getNavigationURL(25) == url + "?form.b_start=25")
def testVirtualHostingWithoutContextInformation(self): request = TestRequest() request._vh_root = contained(TrivialContent(), Root(), name='a') view = getMultiAdapter((None, request), name='absolute_url') self.assertEqual(str(view), 'http://127.0.0.1') self.assertEqual(absoluteURL(None, request), 'http://127.0.0.1')
def test_fail_wo_adapter(self): c = Foo() request = TestRequest() self.assertRaises(TypeError, EV, c, request)