示例#1
0
 def test_save_no_redirects(self):
     """Raise a ValidationError if save is run with no data to save."""
     rdf = RedirectsFile('/tmp/foo.txt')
     with pytest.raises(ValueError):
         rdf.save('/tmp/bar.txt')
     with pytest.raises(ValueError):
         rdf.save()
示例#2
0
 def test_save(self):
     """Save redirects to specified file or self.file_name."""
     rd1 = Redirect('/one', '/two', 302)
     rd2 = Redirect('/three', '/four', 302)
     rd3 = Redirect('/five', '/six', 302)
     rdf = RedirectsFile('/tmp/foo.json')
     rdf.add_redirect(rd1)
     rdf.add_redirect(rd2)
     rdf.add_redirect(rd3)
     m = mock.mock_open()
     with mock.patch('builtins.open', m, create=True):
         m.return_value = StringIO()
         rdf.save('/tmp/bar.txt')
         m.assert_called_with('/tmp/bar.txt', 'w', encoding='utf-8')
     m = mock.mock_open()
     with mock.patch('builtins.open', m, create=True):
         m.return_value = StringIO()
         rdf.save()
         m.assert_called_with('/tmp/foo.json', 'w', encoding='utf-8')