예제 #1
0
    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), {})
예제 #3
0
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

예제 #4
0
 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())()
예제 #7
0
 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)
예제 #9
0
 def test_expansion_returns_collapsed_elements(self):
     request = TestRequest()
     self.assertEqual(
         {'@components': {'bar': 'collapsed', 'foo': 'collapsed'}},
         expandable_elements(None, request))
예제 #10
0
 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))
예제 #11
0
 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'])
예제 #12
0
 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)
예제 #13
0
 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)
예제 #14
0
 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")
예제 #16
0
 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)
예제 #17
0
    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)'))
예제 #19
0
    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())()
예제 #21
0
 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)
예제 #23
0
 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'])
예제 #24
0
 def testBadObject(self):
     request = TestRequest()
     view = getMultiAdapter((42, request), name='absolute_url')
     self.assertRaises(TypeError, view.__str__)
     self.assertRaises(TypeError, absoluteURL, 42, request)
예제 #25
0
 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")
예제 #26
0
 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')
예제 #27
0
 def test_fail_wo_adapter(self):
     c = Foo()
     request = TestRequest()
     self.assertRaises(TypeError, EV, c, request)