Best Python code snippet using autotest_python
job_serializer.py
Source:job_serializer.py  
...148        :return: a new instance of models.test149        """150        fields_dict = self.get_trivial_attr(test, self.test_type_dict)151        fields_dict['kernel'] = self.get_tko_kernel(test.kernel)152        fields_dict['iterations'] = [self.get_tko_iteration(iteration)153                                     for iteration in test.iterations]154        fields_dict['attributes'] = dict((keyval.name, keyval.value)155                                         for keyval in test.attributes)156        fields_dict['labels'] = list(test.labels)157        return models.test(fields_dict['subdir'],158                           fields_dict['testname'],159                           fields_dict['status'],160                           fields_dict['reason'],161                           fields_dict['kernel'],162                           fields_dict['machine'],163                           fields_dict['started_time'],164                           fields_dict['finished_time'],165                           fields_dict['iterations'],166                           fields_dict['attributes'],167                           fields_dict['labels'])168    def set_pb_test(self, tko_test, pb_test):169        """Sets the various fields of test object of the tko protocol.170        Method takes a tko test and a new test of the protocol buffer and171        transfers the values in the tko test to the new test.172        :param173        tko_test: a tko test instance.174        pb_test: an empty protocol buffer test instance.175        """176        self.set_trivial_attr(tko_test, pb_test, self.test_type_dict)177        self.set_pb_kernel(tko_test.kernel, pb_test.kernel)178        for current_iteration in tko_test.iterations:179            pb_iteration = pb_test.iterations.add()180            self.set_pb_iteration(current_iteration, pb_iteration)181        for key, val in tko_test.attributes.iteritems():182            newkeyval = pb_test.attributes.add()183            newkeyval.name = key184            newkeyval.value = str(val)185        for current_label in tko_test.labels:186            pb_test.labels.append(current_label)187    def get_tko_kernel(self, kernel):188        """Constructs a new tko kernel object from a pb kernel object.189        Uses all the getter methods on the pb kernel object to extract190        the attributes and constructs a new tko kernel object using191        the model.kernel constructor.192        :param193        kernel: a pb kernel object where data will be extracted.194        :return: a new tko kernel object.195        """196        fields_dict = self.get_trivial_attr(kernel, self.kernel_type_dict)197        return models.kernel(fields_dict['base'], [], fields_dict['kernel_hash'])198    def set_pb_kernel(self, tko_kernel, pb_kernel):199        """Set a specific kernel of a test.200        Takes the same form of all the other setting methods.  It201        separates the string variables from the int variables and set202        them safely.203        :param204        tko_kernel: a tko kernel.205        pb_kernel: an empty protocol buffer kernel.206        """207        self.set_trivial_attr(tko_kernel, pb_kernel, self.kernel_type_dict)208    def get_tko_iteration(self, iteration):209        """Creates a new tko iteration with the data in the provided210        pb iteration.211        Uses the data in the pb iteration and the models.iteration212        constructor to create a new tko iterations213        :param214        iteration: a pb iteration instance215        :return: a tko iteration instance with the same data.216        """217        fields_dict = self.get_trivial_attr(iteration,218                                            self.iteration_type_dict)219        fields_dict['attr_keyval'] = dict((keyval.name, keyval.value)220                                          for keyval in iteration.attr_keyval)221        fields_dict['perf_keyval'] = dict((keyval.name, keyval.value)222                                          for keyval in iteration.perf_keyval)...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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
