Add missing regex and validation for StringFields
This commit adds further validation for StringFields that were missing it. This mostly amounted to being Regex patters and max lengths.
This commit is contained in:
@@ -37,6 +37,10 @@ def random_task_order_number():
|
||||
return "".join(random.choices(string.digits, k=10))
|
||||
|
||||
|
||||
def random_clin_number():
|
||||
return "".join(random.choices(string.digits, k=4))
|
||||
|
||||
|
||||
def random_past_date(year_min=1, year_max=5):
|
||||
return _random_date(year_min, year_max, operator.sub)
|
||||
|
||||
@@ -327,7 +331,7 @@ class CLINFactory(Base):
|
||||
model = CLIN
|
||||
|
||||
task_order = factory.SubFactory(TaskOrderFactory)
|
||||
number = factory.LazyFunction(random_task_order_number)
|
||||
number = factory.LazyFunction(random_clin_number)
|
||||
start_date = datetime.date.today()
|
||||
end_date = factory.LazyFunction(random_future_date)
|
||||
total_amount = factory.LazyFunction(lambda *args: random.randint(50000, 999999))
|
||||
|
@@ -1,13 +1,12 @@
|
||||
from wtforms.validators import ValidationError
|
||||
import uuid
|
||||
|
||||
from atst.domain.permission_sets import PermissionSets
|
||||
from atst.forms.data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
|
||||
from atst.forms.data import ENV_ROLES
|
||||
from atst.forms.application_member import *
|
||||
|
||||
|
||||
def test_environment_form():
|
||||
form_data = {
|
||||
"environment_id": 123,
|
||||
"environment_id": str(uuid.uuid4()),
|
||||
"environment_name": "testing",
|
||||
"role": ENV_ROLES[0][0],
|
||||
"disabled": True,
|
||||
@@ -17,12 +16,13 @@ def test_environment_form():
|
||||
|
||||
|
||||
def test_environment_form_default_no_access():
|
||||
form_data = {"environment_id": 123, "environment_name": "testing"}
|
||||
env_id = str(uuid.uuid4())
|
||||
form_data = {"environment_id": env_id, "environment_name": "testing"}
|
||||
form = EnvironmentForm(data=form_data)
|
||||
|
||||
assert form.validate()
|
||||
assert form.data == {
|
||||
"environment_id": 123,
|
||||
"environment_id": env_id,
|
||||
"environment_name": "testing",
|
||||
"role": None,
|
||||
"disabled": False,
|
||||
@@ -31,7 +31,7 @@ def test_environment_form_default_no_access():
|
||||
|
||||
def test_environment_form_invalid():
|
||||
form_data = {
|
||||
"environment_id": 123,
|
||||
"environment_id": str(uuid.uuid4()),
|
||||
"environment_name": "testing",
|
||||
"role": "not a real choice",
|
||||
}
|
||||
|
@@ -4,16 +4,16 @@ import pytest
|
||||
from atst.forms.validators import *
|
||||
|
||||
|
||||
class TestIsNumber:
|
||||
class TestNumber:
|
||||
@pytest.mark.parametrize("valid", ["0", "12", "-12"])
|
||||
def test_IsNumber_accepts_integers(self, valid, dummy_form, dummy_field):
|
||||
validator = IsNumber()
|
||||
def test_Number_accepts_integers(self, valid, dummy_form, dummy_field):
|
||||
validator = Number()
|
||||
dummy_field.data = valid
|
||||
validator(dummy_form, dummy_field)
|
||||
|
||||
@pytest.mark.parametrize("invalid", ["12.1", "two"])
|
||||
def test_IsNumber_rejects_anything_else(self, invalid, dummy_form, dummy_field):
|
||||
validator = IsNumber()
|
||||
def test_Number_rejects_anything_else(self, invalid, dummy_form, dummy_field):
|
||||
validator = Number()
|
||||
dummy_field.data = invalid
|
||||
with pytest.raises(ValidationError):
|
||||
validator(dummy_form, dummy_field)
|
||||
|
@@ -401,10 +401,10 @@ def test_create_member(monkeypatch, client, user_session, session):
|
||||
"user_data-last_name": user.last_name,
|
||||
"user_data-dod_id": user.dod_id,
|
||||
"user_data-email": user.email,
|
||||
"environment_roles-0-environment_id": env.id,
|
||||
"environment_roles-0-environment_id": str(env.id),
|
||||
"environment_roles-0-role": "ADMIN",
|
||||
"environment_roles-0-environment_name": env.name,
|
||||
"environment_roles-1-environment_id": env_1.id,
|
||||
"environment_roles-1-environment_id": str(env_1.id),
|
||||
"environment_roles-1-role": NO_ACCESS,
|
||||
"environment_roles-1-environment_name": env_1.name,
|
||||
"perms_env_mgmt": True,
|
||||
@@ -527,13 +527,13 @@ def test_update_member(client, user_session, session):
|
||||
application_role_id=app_role.id,
|
||||
),
|
||||
data={
|
||||
"environment_roles-0-environment_id": env.id,
|
||||
"environment_roles-0-environment_id": str(env.id),
|
||||
"environment_roles-0-role": "CONTRIBUTOR",
|
||||
"environment_roles-0-environment_name": env.name,
|
||||
"environment_roles-1-environment_id": env_1.id,
|
||||
"environment_roles-1-environment_id": str(env_1.id),
|
||||
"environment_roles-1-environment_name": env_1.name,
|
||||
"environment_roles-1-disabled": "True",
|
||||
"environment_roles-2-environment_id": env_2.id,
|
||||
"environment_roles-2-environment_id": str(env_2.id),
|
||||
"environment_roles-2-role": "BILLING_READ",
|
||||
"environment_roles-2-environment_name": env_2.name,
|
||||
"perms_env_mgmt": True,
|
||||
@@ -694,10 +694,10 @@ def test_handle_create_member(monkeypatch, set_g, session):
|
||||
"user_data-last_name": user.last_name,
|
||||
"user_data-dod_id": user.dod_id,
|
||||
"user_data-email": user.email,
|
||||
"environment_roles-0-environment_id": env.id,
|
||||
"environment_roles-0-environment_id": str(env.id),
|
||||
"environment_roles-0-role": "ADMIN",
|
||||
"environment_roles-0-environment_name": env.name,
|
||||
"environment_roles-1-environment_id": env_1.id,
|
||||
"environment_roles-1-environment_id": str(env_1.id),
|
||||
"environment_roles-1-role": NO_ACCESS,
|
||||
"environment_roles-1-environment_name": env_1.name,
|
||||
"perms_env_mgmt": True,
|
||||
@@ -731,10 +731,10 @@ def test_handle_update_member_success(set_g):
|
||||
|
||||
form_data = ImmutableMultiDict(
|
||||
{
|
||||
"environment_roles-0-environment_id": env.id,
|
||||
"environment_roles-0-environment_id": str(env.id),
|
||||
"environment_roles-0-role": "ADMIN",
|
||||
"environment_roles-0-environment_name": env.name,
|
||||
"environment_roles-1-environment_id": env_1.id,
|
||||
"environment_roles-1-environment_id": str(env_1.id),
|
||||
"environment_roles-1-role": NO_ACCESS,
|
||||
"environment_roles-1-environment_name": env_1.name,
|
||||
"perms_env_mgmt": True,
|
||||
@@ -742,6 +742,7 @@ def test_handle_update_member_success(set_g):
|
||||
"perms_del_env": True,
|
||||
}
|
||||
)
|
||||
|
||||
handle_update_member(application.id, app_role.id, form_data)
|
||||
|
||||
assert len(application.roles) == 1
|
||||
@@ -771,10 +772,10 @@ def test_handle_update_member_with_error(set_g, monkeypatch, mock_logger):
|
||||
|
||||
form_data = ImmutableMultiDict(
|
||||
{
|
||||
"environment_roles-0-environment_id": env.id,
|
||||
"environment_roles-0-environment_id": str(env.id),
|
||||
"environment_roles-0-role": "ADMIN",
|
||||
"environment_roles-0-environment_name": env.name,
|
||||
"environment_roles-1-environment_id": env_1.id,
|
||||
"environment_roles-1-environment_id": str(env_1.id),
|
||||
"environment_roles-1-role": NO_ACCESS,
|
||||
"environment_roles-1-environment_name": env_1.name,
|
||||
"perms_env_mgmt": True,
|
||||
|
@@ -219,13 +219,13 @@ def test_task_orders_submit_form_step_three_add_clins(client, user_session, task
|
||||
user_session(task_order.portfolio.owner)
|
||||
form_data = {
|
||||
"clins-0-jedi_clin_type": "JEDI_CLIN_1",
|
||||
"clins-0-number": "12312",
|
||||
"clins-0-number": "1212",
|
||||
"clins-0-start_date": "01/01/2020",
|
||||
"clins-0-end_date": "01/01/2021",
|
||||
"clins-0-obligated_amount": "5000",
|
||||
"clins-0-total_amount": "10000",
|
||||
"clins-1-jedi_clin_type": "JEDI_CLIN_1",
|
||||
"clins-1-number": "12312",
|
||||
"clins-1-number": "1212",
|
||||
"clins-1-start_date": "01/01/2020",
|
||||
"clins-1-end_date": "01/01/2021",
|
||||
"clins-1-obligated_amount": "5000",
|
||||
@@ -269,7 +269,7 @@ def test_task_orders_submit_form_step_three_add_clins_existing_to(
|
||||
user_session(task_order.portfolio.owner)
|
||||
form_data = {
|
||||
"clins-0-jedi_clin_type": "JEDI_CLIN_1",
|
||||
"clins-0-number": "12312",
|
||||
"clins-0-number": "1212",
|
||||
"clins-0-start_date": "01/01/2020",
|
||||
"clins-0-end_date": "01/01/2021",
|
||||
"clins-0-obligated_amount": "5000",
|
||||
|
@@ -668,7 +668,7 @@ def test_task_orders_new_post_routes(post_url_assert_status):
|
||||
"task_orders.submit_form_step_three_add_clins",
|
||||
{
|
||||
"clins-0-jedi_clin_type": "JEDI_CLIN_1",
|
||||
"clins-0-number": "12312",
|
||||
"clins-0-number": "1212",
|
||||
"clins-0-start_date": "01/01/2020",
|
||||
"clins-0-end_date": "01/01/2021",
|
||||
"clins-0-obligated_amount": "5000",
|
||||
|
Reference in New Issue
Block a user