示例#1
0
 def test_eq(self):
     """Return true if all data in two Redirects is the same."""
     dt = datetime.utcnow()
     rd1 = Redirect('/old/path', '/new/path', 302, dt)
     rd2 = Redirect('/old/path', '/new/path', 302, dt)
     assert rd1 is not rd2
     assert rd1 == rd2
     rd2.new_path = '/newer/path'
     assert rd1 != rd2
     rd2.new_path = '/new/path'
     assert rd1 == rd2
     rd2.old_path = '/oldest/path'
     assert rd1 != rd2
     rd2.old_path = '/old/path'
     assert rd1 == rd2
     rd2.status_code = 301
     assert rd1 != rd2
     rd2.status_code = 302
     assert rd1 == rd2
     rd2.date_created = datetime.utcnow()
     assert rd1 != rd2
     rd2.date_created = dt
     assert rd1 == rd2
示例#2
0
    def test_status_code_setter(self):
        """Set data to self._status code if an integer between 300-309.

        Raise a TypeError if not int, or a ValueError if not between 300-309.
        """
        rd = Redirect('/old/path', '/new/path', 302)
        rd.status_code = 301
        assert rd._status_code == 301
        with pytest.raises(TypeError):
            rd.status_code = '301'
        with pytest.raises(ValueError):
            rd.status_code = 200
        with pytest.raises(ValueError):
            rd.status_code = 404
        with pytest.raises(ValueError):
            rd.status_code = 299
        with pytest.raises(ValueError):
            rd.status_code = 310