Merge pull request #304 from ryanpetrello/required-cred-fields

mark a variety of credential fields as required
This commit is contained in:
Ryan Petrello
2017-08-18 17:02:24 -04:00
committed by GitHub
3 changed files with 14 additions and 7 deletions

View File

@@ -736,7 +736,8 @@ def net(cls):
'dependencies': { 'dependencies': {
'ssh_key_unlock': ['ssh_key_data'], 'ssh_key_unlock': ['ssh_key_data'],
'authorize_password': ['authorize'], 'authorize_password': ['authorize'],
} },
'required': ['username'],
} }
) )
@@ -862,7 +863,8 @@ def satellite6(cls):
'label': 'Password', 'label': 'Password',
'type': 'string', 'type': 'string',
'secret': True, 'secret': True,
}] }],
'required': ['host', 'username', 'password'],
} }
) )
@@ -890,7 +892,8 @@ def cloudforms(cls):
'label': 'Password', 'label': 'Password',
'type': 'string', 'type': 'string',
'secret': True, 'secret': True,
}] }],
'required': ['host', 'username', 'password'],
} }
) )
@@ -925,7 +928,8 @@ def gce(cls):
'multiline': True, 'multiline': True,
'help_text': ('Paste the contents of the PEM file associated ' 'help_text': ('Paste the contents of the PEM file associated '
'with the service account email.') 'with the service account email.')
}] }],
'required': ['username', 'ssh_key_data'],
} }
) )
@@ -953,7 +957,8 @@ def azure(cls):
'help_text': ('Paste the contents of the PEM file that corresponds ' 'help_text': ('Paste the contents of the PEM file that corresponds '
'to the certificate you uploaded in the Microsoft ' 'to the certificate you uploaded in the Microsoft '
'Azure console.') 'Azure console.')
}] }],
'required': ['username', 'ssh_key_data'],
} }
) )
@@ -993,7 +998,8 @@ def azure_rm(cls):
'id': 'tenant', 'id': 'tenant',
'label': 'Tenant ID', 'label': 'Tenant ID',
'type': 'string' 'type': 'string'
}] }],
'required': ['subscription'],
} }
) )

View File

@@ -748,6 +748,7 @@ def test_falsey_field_data(get, post, organization, admin, field_value):
'credential_type': net.pk, 'credential_type': net.pk,
'organization': organization.id, 'organization': organization.id,
'inputs': { 'inputs': {
'username': 'joe-user', # username is required
'authorize': field_value 'authorize': field_value
} }
} }

View File

@@ -226,7 +226,7 @@ def test_credential_creation_validation_failure(organization_factory, inputs):
[EXAMPLE_PRIVATE_KEY.replace('=', '\u003d'), None, True], # automatically fix JSON-encoded GCE keys [EXAMPLE_PRIVATE_KEY.replace('=', '\u003d'), None, True], # automatically fix JSON-encoded GCE keys
]) ])
def test_ssh_key_data_validation(organization, kind, ssh_key_data, ssh_key_unlock, valid): def test_ssh_key_data_validation(organization, kind, ssh_key_data, ssh_key_unlock, valid):
inputs = {} inputs = {'username': 'joe-user'}
if ssh_key_data: if ssh_key_data:
inputs['ssh_key_data'] = ssh_key_data inputs['ssh_key_data'] = ssh_key_data
if ssh_key_unlock: if ssh_key_unlock: