mirror of
https://github.com/spiral-project/ihatemoney.git
synced 2025-04-29 01:42:37 +02:00
parent
bd9ebd1d60
commit
68552a6034
3 changed files with 20 additions and 14 deletions
|
@ -512,7 +512,7 @@ class BudgetTestCase(IhatemoneyTestCase):
|
||||||
self.assertTrue(session["is_admin"])
|
self.assertTrue(session["is_admin"])
|
||||||
|
|
||||||
def test_authentication_with_upper_case(self):
|
def test_authentication_with_upper_case(self):
|
||||||
self.create_project("Raclette")
|
self.post_project("Raclette")
|
||||||
|
|
||||||
# try to connect with the right credentials should work
|
# try to connect with the right credentials should work
|
||||||
with self.app.test_client() as c:
|
with self.app.test_client() as c:
|
||||||
|
@ -521,8 +521,8 @@ class BudgetTestCase(IhatemoneyTestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertNotIn("Authentication", resp.data.decode("utf-8"))
|
self.assertNotIn("Authentication", resp.data.decode("utf-8"))
|
||||||
self.assertIn("Raclette", session)
|
self.assertIn("raclette", session)
|
||||||
self.assertTrue(session["Raclette"])
|
self.assertTrue(session["raclette"])
|
||||||
|
|
||||||
def test_admin_authentication(self):
|
def test_admin_authentication(self):
|
||||||
self.app.config["ADMIN_PASSWORD"] = generate_password_hash("pass")
|
self.app.config["ADMIN_PASSWORD"] = generate_password_hash("pass")
|
||||||
|
|
|
@ -51,31 +51,36 @@ class BaseTestCase(TestCase):
|
||||||
)
|
)
|
||||||
|
|
||||||
def post_project(
|
def post_project(
|
||||||
self, id, follow_redirects=True, default_currency="XXX", name=None
|
self,
|
||||||
|
id,
|
||||||
|
follow_redirects=True,
|
||||||
|
default_currency="XXX",
|
||||||
|
name=None,
|
||||||
|
password=None,
|
||||||
):
|
):
|
||||||
"""Create a fake project"""
|
"""Create a fake project"""
|
||||||
if name is None:
|
name = name or id
|
||||||
name = id
|
password = password or id
|
||||||
# create the project
|
# create the project
|
||||||
return self.client.post(
|
return self.client.post(
|
||||||
"/create",
|
"/create",
|
||||||
data={
|
data={
|
||||||
"name": name,
|
"name": name,
|
||||||
"id": id,
|
"id": id,
|
||||||
"password": id,
|
"password": password,
|
||||||
"contact_email": f"{id}@notmyidea.org",
|
"contact_email": f"{id}@notmyidea.org",
|
||||||
"default_currency": default_currency,
|
"default_currency": default_currency,
|
||||||
},
|
},
|
||||||
follow_redirects=follow_redirects,
|
follow_redirects=follow_redirects,
|
||||||
)
|
)
|
||||||
|
|
||||||
def create_project(self, id, default_currency="XXX", name=None):
|
def create_project(self, id, default_currency="XXX", name=None, password=None):
|
||||||
if name is None:
|
name = name or str(id)
|
||||||
name = str(id)
|
password = password or id
|
||||||
project = models.Project(
|
project = models.Project(
|
||||||
id=id,
|
id=id,
|
||||||
name=name,
|
name=name,
|
||||||
password=generate_password_hash(id),
|
password=generate_password_hash(password),
|
||||||
contact_email=f"{id}@notmyidea.org",
|
contact_email=f"{id}@notmyidea.org",
|
||||||
default_currency=default_currency,
|
default_currency=default_currency,
|
||||||
)
|
)
|
||||||
|
|
|
@ -136,8 +136,9 @@ def pull_project(endpoint, values):
|
||||||
return
|
return
|
||||||
if not values:
|
if not values:
|
||||||
values = {}
|
values = {}
|
||||||
project_id = values.pop("project_id", None)
|
entered_project_id = values.pop("project_id", None)
|
||||||
if project_id:
|
if entered_project_id:
|
||||||
|
project_id = entered_project_id.lower()
|
||||||
project = Project.query.get(project_id)
|
project = Project.query.get(project_id)
|
||||||
if not project:
|
if not project:
|
||||||
raise Redirect303(url_for(".create_project", project_id=project_id))
|
raise Redirect303(url_for(".create_project", project_id=project_id))
|
||||||
|
@ -225,7 +226,7 @@ def authenticate(project_id=None):
|
||||||
|
|
||||||
if not form.id.data and request.args.get("project_id"):
|
if not form.id.data and request.args.get("project_id"):
|
||||||
form.id.data = request.args["project_id"]
|
form.id.data = request.args["project_id"]
|
||||||
project_id = form.id.data
|
project_id = form.id.data.lower() if form.id.data else None
|
||||||
|
|
||||||
project = Project.query.get(project_id) if project_id is not None else None
|
project = Project.query.get(project_id) if project_id is not None else None
|
||||||
if not project:
|
if not project:
|
||||||
|
|
Loading…
Reference in a new issue