Merge pull request #977 from cchurch/api-raw-data-form-fixes

API Raw Data Form & Validation Fixes
This commit is contained in:
Chris Church
2016-02-23 12:23:14 -05:00
9 changed files with 184 additions and 73 deletions

View File

@@ -307,7 +307,7 @@ class JobTemplate(UnifiedJobTemplate, JobOptions):
except Exception:
try:
kwargs_extra_vars = yaml.safe_load(kwargs_extra_vars)
assert type(kwargs_extra_vars) is dict
assert isinstance(kwargs_extra_vars, dict)
except:
kwargs_extra_vars = {}
else:
@@ -487,7 +487,7 @@ class Job(UnifiedJob, JobOptions):
def handle_extra_data(self, extra_data):
extra_vars = {}
if type(extra_data) == dict:
if isinstance(extra_data, dict):
extra_vars = extra_data
elif extra_data is None:
return
@@ -1070,7 +1070,7 @@ class SystemJob(UnifiedJob, SystemJobOptions):
def handle_extra_data(self, extra_data):
extra_vars = {}
if type(extra_data) == dict:
if isinstance(extra_data, dict):
extra_vars = extra_data
elif extra_data is None:
return

View File

@@ -321,7 +321,7 @@ class UnifiedJobTemplate(PolymorphicModel, CommonModelNameNotUnique):
value = value.id
create_kwargs[id_field_name] = value
elif field_name in kwargs:
if field_name == 'extra_vars' and type(kwargs[field_name]) == dict:
if field_name == 'extra_vars' and isinstance(kwargs[field_name], dict):
create_kwargs[field_name] = json.dumps(kwargs['extra_vars'])
else:
create_kwargs[field_name] = kwargs[field_name]

View File

@@ -758,6 +758,7 @@ class ProjectsTest(BaseTransactionTest):
team_permission['name'] += '2'
team_permission['user'] = user.pk
self.post(url, team_permission, expect=400, auth=self.get_super_credentials())
del team_permission['user']
# can list permissions on a user
url = reverse('api:user_permissions_list', args=(user.pk,))