class FileAddViewTests(unittest.TestCase): def setUp(self): from Products.Reflecto.browser.addfile import FileAddForm self.path = mkdtemp() context = MockContext(self.path) self.view = FileAddForm(context, MockRequest()) def tearDown(self): rmtree(self.path) def testGetFilePath(self): expected = os.path.join(self.path, 'foo') file = MockFile('foo') self.assertEqual(self.view.getFilePath(file), expected) def testAddValidateCorrect(self): data = dict(file=MockFile('foo')) # No widgets needed for this test self.view.widgets = Widgets((), prefix_length=0) self.assertEqual(self.view.addValidate(None, data), []) def testAddValidateIncorrect(self): data = dict(file=MockFile('existing')) # No widgets needed for this test self.view.widgets = Widgets((), prefix_length=0) errors = self.view.addValidate(None, data) self.assertEqual(len(errors), 1) self.assertEqual(errors[0].field_name, 'file') def testAddValidateIE(self): # IE uses the full path for the filename, tsk tsk. Reflecto issue #7 # No widgets needed for this test self.view.widgets = Widgets((), prefix_length=0) data = dict(file=MockFile('C:\\monty\\foo')) self.assertEqual(self.view.addValidate(None, data), []) data = dict(file=MockFile('C:\\monty\\existing')) errors = self.view.addValidate(None, data) self.assertEqual(len(errors), 1) self.assertEqual(errors[0].field_name, 'file') def testAddFile(self): data = dict(file=MockFile('foo')) # addFile has been wrapped into an action, reach inside self.view.addFile.success(data) newpath = os.path.join(self.path, 'foo') self.assertTrue(os.path.exists(newpath)) self.assertEqual(open(newpath).read(), MockFile.data) self.assertEqual(self.view.request.redirected, 'reflecto/') self.assertTrue(self.view.context.portal_message is not None)
def setUp(self): from Products.Reflecto.browser.addfile import FileAddForm self.path = mkdtemp() context = MockContext(self.path) self.view = FileAddForm(context, MockRequest())