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
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