How to use _join_job_keyvals method in autotest

Best Python code snippet using autotest_python

models.py

Source:models.py Github

copy

Full Screen

...378 for result_key in result_keys[1:]:379 query_set, _ = self._join_one_iteration_key(query_set, result_key,380 first_alias=first_alias)381 return query_set382 def _join_job_keyvals(self, query_set, job_keyvals):383 for job_keyval in job_keyvals:384 alias = 'job_keyval_' + job_keyval385 keyval_query = JobKeyval.objects.filter(key=job_keyval)386 query_set = Job.objects.join_custom_field(query_set, keyval_query,387 alias)388 query_set = self._add_select_value(query_set, alias)389 return query_set390 def _join_iteration_attributes(self, query_set, iteration_attributes):391 for attribute in iteration_attributes:392 alias = 'iteration_attribute_' + attribute393 attribute_query = IterationAttribute.objects.filter(394 attribute=attribute)395 query_set = Test.objects.join_custom_field(query_set,396 attribute_query, alias)397 query_set = self._add_select_value(query_set, alias)398 return query_set399 def get_query_set_with_joins(self, filter_data):400 """Add joins for querying over test-related items.401 These parameters are supported going forward:402 * test_attribute_fields: list of attribute names. Each attribute will403 be available as a column attribute_<name>.value.404 * test_label_fields: list of label names. Each label will be available405 as a column label_<name>.id, non-null iff the label is present.406 * iteration_result_fields: list of iteration result names. Each407 result will be available as a column iteration_<name>.value.408 Note that this changes the semantics to return iterations409 instead of tests -- if a test has multiple iterations, a row410 will be returned for each one. The iteration index is also411 available as iteration_<name>.iteration.412 * machine_label_fields: list of machine label names. Each will be413 available as a column machine_label_<name>.id, non-null iff the414 label is present on the machine used in the test.415 * job_keyval_fields: list of job keyval names. Each value will be416 available as a column job_keyval_<name>.id, non-null iff the417 keyval is present in the AFE job.418 * iteration_attribute_fields: list of iteration attribute names. Each419 attribute will be available as a column420 iteration_attribute<name>.id, non-null iff the attribute is421 present.422 These parameters are deprecated:423 * include_labels424 * exclude_labels425 * include_attributes_where426 * exclude_attributes_where427 Additionally, this method adds joins if the following strings are428 present in extra_where (this is also deprecated):429 * test_labels430 * test_attributes_host_labels431 @param filter_data: Data by which to filter.432 @return A QuerySet.433 """434 query_set = self.get_query_set()435 test_attributes = filter_data.pop('test_attribute_fields', [])436 for attribute in test_attributes:437 query_set = self._join_test_attribute(query_set, attribute)438 test_labels = filter_data.pop('test_label_fields', [])439 query_set = self._join_test_label_columns(query_set, test_labels)440 machine_labels = filter_data.pop('machine_label_fields', [])441 query_set = self._join_machine_label_columns(query_set, machine_labels)442 iteration_keys = filter_data.pop('iteration_result_fields', [])443 query_set = self._join_iteration_results(query_set, iteration_keys)444 job_keyvals = filter_data.pop('job_keyval_fields', [])445 query_set = self._join_job_keyvals(query_set, job_keyvals)446 iteration_attributes = filter_data.pop('iteration_attribute_fields', [])447 query_set = self._join_iteration_attributes(query_set,448 iteration_attributes)449 # everything that follows is deprecated behavior450 joined = False451 extra_where = filter_data.get('extra_where', '')452 if 'tko_test_labels' in extra_where:453 query_set = self._add_label_joins(query_set)454 joined = True455 include_labels = filter_data.pop('include_labels', [])456 exclude_labels = filter_data.pop('exclude_labels', [])457 if include_labels:458 query_set = self._include_or_exclude_labels(query_set,459 include_labels)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful