def test_use_invalid_names(self): data = { 'name': 'VARIABLE WITH SPACES', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( "Variable name can't contain spaces", form.errors['name'], ) data = { 'name': 'READTHEDOCS__INVALID', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( "Variable name can't start with READTHEDOCS", form.errors['name'], ) data = { 'name': 'INVALID_CHAR*', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( 'Only letters, numbers and underscore are allowed', form.errors['name'], ) data = { 'name': '__INVALID', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( "Variable name can't start with __ (double underscore)", form.errors['name'], ) get(EnvironmentVariable, name='EXISTENT_VAR', project=self.project) data = { 'name': 'EXISTENT_VAR', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( 'There is already a variable with this name for this project', form.errors['name'], )
def test_create(self): data = { 'name': 'MYTOKEN', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) form.save() self.assertEqual(EnvironmentVariable.objects.count(), 1) self.assertEqual(EnvironmentVariable.objects.first().name, 'MYTOKEN') self.assertEqual(EnvironmentVariable.objects.first().value, "'string here'") data = { 'name': 'ESCAPED', 'value': r'string escaped here: #$\1[]{}\|', } form = EnvironmentVariableForm(data, project=self.project) form.save() self.assertEqual(EnvironmentVariable.objects.count(), 2) self.assertEqual(EnvironmentVariable.objects.first().name, 'ESCAPED') self.assertEqual(EnvironmentVariable.objects.first().value, r"'string escaped here: #$\1[]{}\|'")
def test_create(self): data = { 'name': 'MYTOKEN', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) form.save() self.assertEqual(EnvironmentVariable.objects.count(), 1) self.assertEqual(EnvironmentVariable.objects.first().name, 'MYTOKEN') self.assertEqual(EnvironmentVariable.objects.first().value, "'string here'") data = { 'name': 'ESCAPED', 'value': r'string escaped here: #$\1[]{}\|', } form = EnvironmentVariableForm(data, project=self.project) form.save() self.assertEqual(EnvironmentVariable.objects.count(), 2) self.assertEqual(EnvironmentVariable.objects.first().name, 'ESCAPED') self.assertEqual(EnvironmentVariable.objects.first().value, r"'string escaped here: #$\1[]{}\|'")
def test_use_invalid_names(self): data = { 'name': 'VARIABLE WITH SPACES', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( "Variable name can't contain spaces", form.errors['name'], ) data = { 'name': 'READTHEDOCS__INVALID', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( "Variable name can't start with READTHEDOCS", form.errors['name'], ) data = { 'name': 'INVALID_CHAR*', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( 'Only letters, numbers and underscore are allowed', form.errors['name'], ) data = { 'name': '__INVALID', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( "Variable name can't start with __ (double underscore)", form.errors['name'], ) get(EnvironmentVariable, name='EXISTENT_VAR', project=self.project) data = { 'name': 'EXISTENT_VAR', 'value': 'string here', } form = EnvironmentVariableForm(data, project=self.project) self.assertFalse(form.is_valid()) self.assertIn( 'There is already a variable with this name for this project', form.errors['name'], )