mirror of
https://github.com/ansible/awx.git
synced 2026-02-01 09:38:10 -03:30
add a few minor optimizations and some refactoring for multi-cred
This commit is contained in:
@@ -2998,7 +2998,7 @@ class JobTemplateExtraCredentialsList(JobTemplateCredentialsList):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
sublist_qs = super(JobTemplateExtraCredentialsList, self).get_queryset()
|
sublist_qs = super(JobTemplateExtraCredentialsList, self).get_queryset()
|
||||||
sublist_qs = sublist_qs.filter(**{'credential_type__kind__in': ['cloud', 'net']})
|
sublist_qs = sublist_qs.filter(credential_type__kind__in=['cloud', 'net'])
|
||||||
return sublist_qs
|
return sublist_qs
|
||||||
|
|
||||||
def is_valid_relation(self, parent, sub, created=False):
|
def is_valid_relation(self, parent, sub, created=False):
|
||||||
@@ -3794,7 +3794,7 @@ class JobExtraCredentialsList(JobCredentialsList):
|
|||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
sublist_qs = super(JobExtraCredentialsList, self).get_queryset()
|
sublist_qs = super(JobExtraCredentialsList, self).get_queryset()
|
||||||
sublist_qs = sublist_qs.filter(**{'credential_type__kind__in': ['cloud', 'net']})
|
sublist_qs = sublist_qs.filter(credential_type__kind__in=['cloud', 'net'])
|
||||||
return sublist_qs
|
return sublist_qs
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -166,11 +166,11 @@ class JobOptions(BaseModel):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def network_credentials(self):
|
def network_credentials(self):
|
||||||
return [cred for cred in self.credentials.all() if cred.credential_type.kind == 'net']
|
return list(self.credentials.filter(credential_type__kind='net'))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def cloud_credentials(self):
|
def cloud_credentials(self):
|
||||||
return [cred for cred in self.credentials.all() if cred.credential_type.kind == 'cloud']
|
return list(self.credentials.filter(credential_type__kind='cloud'))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def credential(self):
|
def credential(self):
|
||||||
@@ -186,7 +186,7 @@ class JobOptions(BaseModel):
|
|||||||
|
|
||||||
def get_deprecated_credential(self, kind):
|
def get_deprecated_credential(self, kind):
|
||||||
try:
|
try:
|
||||||
return [cred for cred in self.credentials.all() if cred.credential_type.kind == kind][0]
|
return self.credentials.filter(credential_type__kind=kind).first()
|
||||||
except IndexError:
|
except IndexError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
@@ -245,12 +245,15 @@ class TestJobExecution:
|
|||||||
|
|
||||||
# mock the job.credentials M2M relation so we can avoid DB access
|
# mock the job.credentials M2M relation so we can avoid DB access
|
||||||
job._credentials = []
|
job._credentials = []
|
||||||
patch = mock.patch.object(UnifiedJob, 'credentials', mock.Mock(
|
patch = mock.patch.object(UnifiedJob, 'credentials', mock.Mock(**{
|
||||||
all=lambda: job._credentials,
|
'all': lambda: job._credentials,
|
||||||
add=job._credentials.append,
|
'add': job._credentials.append,
|
||||||
filter=mock.Mock(return_value=job._credentials),
|
'filter.return_value': mock.Mock(
|
||||||
spec_set=['all', 'add', 'filter']
|
__iter__ = lambda *args: iter(job._credentials),
|
||||||
))
|
first = lambda: job._credentials[0]
|
||||||
|
),
|
||||||
|
'spec_set': ['all', 'add', 'filter']
|
||||||
|
}))
|
||||||
self.patches.append(patch)
|
self.patches.append(patch)
|
||||||
patch.start()
|
patch.start()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user