def test_download_render_POST(self): """Download JSON data file.""" datastore = DataStore() datastore.add_value("var1", 1, 1) datastore.add_value("var2", 2, 2) resource = Index(datastore) request = DummyRequest(['foo']) request.args = {'download': 'download'} d = request.notifyFinish() result = resource.render_POST(request) self.assertEqual(result, server.NOT_DONE_YET) yield d expected = '["var1", 1, 1]\n["var2", 2, 2]' self.assertEqual(expected, ''.join(request.written))
def test_upload_render_POST(self): """Upload JSON data file.""" datastore = DataStore() resource = Index(datastore) request = DummyRequest(['foo']) request.args = {'data_file': ['["var1", 1, 1]\n["var2", 2, 2]'], 'upload': 'upload'} def fake_redirect(path): request.redirect_to = path request.redirect = fake_redirect d = request.notifyFinish() result = resource.render_POST(request) self.assertEqual(result, server.NOT_DONE_YET) yield d self.assertEqual(request.redirect_to, '/')