def test_many_floats_invalid(self): self.parameter.allowed_values = '1.1,2.1,3.3' result = ParameterValidator.validate_value('1.2', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('3.0', self.parameter) self.assertFalse(result)
def test_unlimited_range_integer_invalid(self): self.parameter.allowed_values = '2:' result = ParameterValidator.validate_value('1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('0', self.parameter) self.assertFalse(result)
def test_unlimited_range_integer_acceptable(self): self.parameter.allowed_values = '2:' result = ParameterValidator.validate_value('2', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('3', self.parameter) self.assertTrue(result)
def test_many_integers_invalid(self): self.parameter.allowed_values = '1,2,3' result = ParameterValidator.validate_value('4', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('0', self.parameter) self.assertFalse(result)
def test_many_strings_invalid(self): self.parameter.allowed_values = 'ROW , MIXED,STATEMENT' result = ParameterValidator.validate_value('dsfsdfsdf', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('MIXED,STATEMENT', self.parameter) self.assertFalse(result)
def test_many_integers_acceptable(self): self.parameter.allowed_values = '1,2,3' result = ParameterValidator.validate_value('1', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('3', self.parameter) self.assertTrue(result)
def test_unlimited_range_float_acceptable(self): self.parameter.allowed_values = '2.0:' result = ParameterValidator.validate_value('2.0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2.3', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('4.0', self.parameter) self.assertTrue(result)
def test_single_string_acceptable(self): self.parameter.allowed_values = 'ROW' result = ParameterValidator.validate_value('ROW', self.parameter) self.assertTrue(result) self.parameter.allowed_values = '' result = ParameterValidator.validate_value('bla', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('10', self.parameter) self.assertTrue(result)
def test_unlimited_range_float_invalid(self): self.parameter.allowed_values = '2.0:' result = ParameterValidator.validate_value('1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('1.9', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('4', self.parameter) self.assertFalse(result)
def test_single_string_invalid(self): self.parameter.allowed_values = 'ROW' result = ParameterValidator.validate_value('RoW', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('sdfsdf', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('15.2', self.parameter) self.assertFalse(result)
def test_many_strings_acceptable(self): self.parameter.allowed_values = 'ROW , MIXED,STATEMENT' result = ParameterValidator.validate_value('ROW', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('MIXED', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('STATEMENT', self.parameter) self.assertTrue(result)
def test_many_float_acceptable(self): self.parameter.allowed_values = '1.1,2.1,3.3' result = ParameterValidator.validate_value('1.1', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2.1', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('3.3', self.parameter) self.assertTrue(result)
def test_single_integer_invalid(self): self.parameter.allowed_values = '1' result = ParameterValidator.validate_value('1.0', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('0', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('d', self.parameter) self.assertFalse(result)
def test_mixed_allowed_invalid(self): self.parameter.allowed_values = '0:2,4 ,5 ,7:' result = ParameterValidator.validate_value('-1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('3', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('6', self.parameter) self.assertFalse(result)
def test_range_float_invalid(self): self.parameter.allowed_values = '0.0:2.2' result = ParameterValidator.validate_value('-1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('0', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('2.3', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('2.4', self.parameter) self.assertFalse(result)
def test_range_float_acceptable(self): self.parameter.allowed_values = '0.0:2.2' result = ParameterValidator.validate_value('0.0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('0.3', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2.2', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2.1', self.parameter) self.assertTrue(result)
def test_mixed_allowed_acceptable(self): self.parameter.allowed_values = '.25:2.2,4.0 ,5.0 ,7.0:' result = ParameterValidator.validate_value('0.5', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('1.0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('.25', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2.2', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('4.0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('5.0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('7.0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('7.3', self.parameter) self.assertTrue(result)
def test_range_integer_invalid(self): self.parameter.allowed_values = '0:2' result = ParameterValidator.validate_value('-1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('3', self.parameter) self.assertFalse(result) self.parameter.allowed_values = '0:18446744073709551615' result = ParameterValidator.validate_value('-1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('18446744073709551617', self.parameter) self.assertFalse(result)
def test_range_integer_acceptable(self): self.parameter.allowed_values = '0:2' result = ParameterValidator.validate_value('0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('1', self.parameter) self.assertTrue(result) self.parameter.allowed_values = '0:18446744073709551615' result = ParameterValidator.validate_value('0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('18446744073709551615', self.parameter) self.assertTrue(result)
def test_mixed_allowed_invalid(self): self.parameter.allowed_values = '0:2.2,4.0 ,5.0 ,7.0:' result = ParameterValidator.validate_value('-1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('3.9', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('6.9', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('1', self.parameter) self.assertFalse(result) result = ParameterValidator.validate_value('4', self.parameter) self.assertFalse(result)
def update_database_parameters(request_post, database): from physical.models import DatabaseInfraParameter from physical.models import Parameter error = False for key in request_post.keys(): if key.startswith("new_value_"): parameter_new_value = request_post.get(key) if parameter_new_value: parameter_id = key.split("new_value_")[1] parameter = Parameter.objects.get(id=parameter_id) if not ParameterValidator.validate_value( parameter_new_value, parameter): error = "Invalid Parameter Value for {}".format( parameter.name) return None, error changed_parameters = [] for key in request_post.keys(): if key.startswith("new_value_"): parameter_new_value = request_post.get(key) if parameter_new_value: parameter_id = key.split("new_value_")[1] parameter = Parameter.objects.get(id=parameter_id) changed = DatabaseInfraParameter.update_parameter_value( databaseinfra=database.databaseinfra, parameter=parameter, value=parameter_new_value, ) if changed: changed_parameters.append(parameter_id) if key.startswith("checkbox_reset_"): reset_default_value = request_post.get(key) if reset_default_value == "on": parameter_id = key.split("checkbox_reset_")[1] parameter = Parameter.objects.get(id=parameter_id) changed = DatabaseInfraParameter.set_reset_default( databaseinfra=database.databaseinfra, parameter=parameter, ) if changed: changed_parameters.append(parameter_id) return changed_parameters, error
def update_database_parameters(request_post, database): from physical.models import DatabaseInfraParameter from physical.models import Parameter error = False for key in request_post.keys(): if key.startswith("new_value_"): parameter_new_value = request_post.get(key) if parameter_new_value: parameter_id = key.split("new_value_")[1] parameter = Parameter.objects.get(id=parameter_id) if not ParameterValidator.validate_value(parameter_new_value, parameter): error = "Invalid Parameter Value for {}".format(parameter.name) return None, error changed_parameters = [] for key in request_post.keys(): if key.startswith("new_value_"): parameter_new_value = request_post.get(key) if parameter_new_value: parameter_id = key.split("new_value_")[1] parameter = Parameter.objects.get(id=parameter_id) changed = DatabaseInfraParameter.update_parameter_value( databaseinfra=database.databaseinfra, parameter=parameter, value=parameter_new_value, ) if changed: changed_parameters.append(parameter_id) if key.startswith("checkbox_reset_"): reset_default_value = request_post.get(key) if reset_default_value == "on": parameter_id = key.split("checkbox_reset_")[1] parameter = Parameter.objects.get(id=parameter_id) changed = DatabaseInfraParameter.set_reset_default( databaseinfra=database.databaseinfra, parameter=parameter, ) if changed: changed_parameters.append(parameter_id) return changed_parameters, error
def test_mixed_allowed_acceptable(self): self.parameter.allowed_values = '0:2,4 ,5 ,7:' result = ParameterValidator.validate_value('0', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('1', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('2', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('4', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('5', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('7', self.parameter) self.assertTrue(result) result = ParameterValidator.validate_value('8', self.parameter) self.assertTrue(result)
def test_single_float_acceptable(self): self.parameter.allowed_values = '1.0' result = ParameterValidator.validate_value('1.0', self.parameter) self.assertTrue(result)
def test_single_integer_acceptable(self): self.parameter.allowed_values = '1' result = ParameterValidator.validate_value('1', self.parameter) self.assertTrue(result)