Best Python code snippet using lisa_python
test_lisa_runner.py
Source:test_lisa_runner.py  
...55            [],56            [x for x in envs],57        )58        runner = generate_runner(None)59        test_results = test_testsuite.generate_cases_result()60        runner._merge_test_requirements(61            test_results=test_results,62            existing_environments=envs,63            platform_type=constants.PLATFORM_MOCK,64        )65        # 3 cases create 3 environments.66        self.assertListEqual(67            ["generated_0", "generated_1", "generated_2"],68            list(envs),69        )70        self.verify_test_results(71            expected_test_order=["mock_ut1", "mock_ut2", "mock_ut3"],72            expected_envs=["", "", ""],73            expected_status=[TestStatus.QUEUED, TestStatus.QUEUED, TestStatus.QUEUED],74            expected_message=["", "", ""],75            test_results=test_results,76        )77    def test_merge_req(self) -> None:78        # each test case will create an environment candidate.79        env_runbook = generate_env_runbook(remote=True)80        envs = load_environments(env_runbook)81        self.assertListEqual(82            ["customized_0"],83            list(envs),84        )85        runner = generate_runner(env_runbook)86        test_results = test_testsuite.generate_cases_result()87        runner._merge_test_requirements(88            test_results=test_results,89            existing_environments=envs,90            platform_type=constants.PLATFORM_MOCK,91        )92        self.assertListEqual(93            ["customized_0", "generated_1", "generated_2", "generated_3"],94            list(envs),95        )96        self.assertListEqual(97            [98                TestStatus.QUEUED,99                TestStatus.QUEUED,100                TestStatus.QUEUED,101            ],102            [x.status for x in test_results],103        )104    def test_merge_req_create_on_use_new(self) -> None:105        # same runbook as test_merge_req_run_not_create_on_equal106        # but all 3 cases asks a new env, so create 3 envs107        # note, when running cases, predefined env will be treat as a new env.108        env_runbook = generate_env_runbook(remote=True)109        envs = load_environments(env_runbook)110        self.assertListEqual(111            ["customized_0"],112            list(envs),113        )114        runner = generate_runner(env_runbook)115        test_results = test_testsuite.generate_cases_result()116        for test_result in test_results:117            test_result.runtime_data.use_new_environment = True118        runner._merge_test_requirements(119            test_results=test_results,120            existing_environments=envs,121            platform_type=constants.PLATFORM_MOCK,122        )123        # All 3 cases needed a new environment, so it created 3.124        self.assertListEqual(125            ["customized_0", "generated_1", "generated_2", "generated_3"],126            list(envs),127        )128        self.verify_test_results(129            expected_test_order=["mock_ut1", "mock_ut2", "mock_ut3"],130            expected_envs=["", "", ""],131            expected_status=[TestStatus.QUEUED, TestStatus.QUEUED, TestStatus.QUEUED],132            expected_message=["", "", ""],133            test_results=test_results,134        )135    def test_merge_req_all_generated(self) -> None:136        # force to use existing env, not to create new.137        # this case doesn't provide predefined env, but no case skipped on this stage.138        env_runbook = generate_env_runbook(is_single_env=False)139        envs = load_environments(env_runbook)140        self.assertListEqual(141            [],142            list(envs),143        )144        runner = generate_runner(None)145        test_results = test_testsuite.generate_cases_result()146        runner._merge_test_requirements(147            test_results=test_results,148            existing_environments=envs,149            platform_type=constants.PLATFORM_MOCK,150        )151        self.assertListEqual(152            ["generated_0", "generated_1", "generated_2"],153            list(envs),154        )155        self.verify_test_results(156            expected_test_order=["mock_ut1", "mock_ut2", "mock_ut3"],157            expected_envs=["", "", ""],158            expected_status=[159                TestStatus.QUEUED,160                TestStatus.QUEUED,161                TestStatus.QUEUED,162            ],163            expected_message=["", "", ""],164            test_results=test_results,165        )166    def test_merge_req_platform_type_checked(self) -> None:167        # check if current platform supported,168        # for example, some case run on azure only.169        # platform check happens in runner, so this case is here170        # a simple check is enough. More covered by search_space.SetSpace171        env_runbook = generate_env_runbook(is_single_env=False)172        envs = load_environments(env_runbook)173        self.assertListEqual(174            [],175            list(envs),176        )177        runner = generate_runner(None)178        test_results = test_testsuite.generate_cases_result()179        for test_result in test_results:180            metadata = test_result.runtime_data.metadata181            metadata.requirement = simple_requirement(182                supported_platform_type=["does-not-exist"]183            )184        runner._merge_test_requirements(185            test_results=test_results,186            existing_environments=envs,187            platform_type=constants.PLATFORM_MOCK,188        )189        platform_unsupported = "capability cannot support some of requirement"190        self.verify_test_results(191            expected_test_order=["mock_ut1", "mock_ut2", "mock_ut3"],192            expected_envs=["", "", ""],...test_testsuite.py
Source:test_testsuite.py  
...121    )122    suite_metadata2(MockTestSuite2)123    ut_cases[2](MockTestSuite2.mock_ut3)124    return ut_cases125def generate_cases_result() -> List[TestResult]:126    case_metadata = generate_cases_metadata()127    case_results = [TestResult("0", TestCaseRuntimeData(x)) for x in case_metadata]128    return case_results129def select_and_check(130    ut: TestCase, case_runbook: List[Any], expected_descriptions: List[str]131) -> List[TestCaseRuntimeData]:132    runbook = RunbookBuilder._validate_and_load({constants.TESTCASE: case_runbook})133    case_metadata = generate_cases_metadata()134    runbook.testcase = parse_testcase_filters(runbook.testcase_raw)135    filters = cast(List[schema.TestCase], runbook.testcase)136    selected = select_testcases(filters, case_metadata)137    ut.assertListEqual(expected_descriptions, [case.description for case in selected])138    return selected139class TestSuiteTestCase(TestCase):140    def generate_suite_instance(self) -> MockTestSuite:141        case_results = generate_cases_result()142        self.case_results = case_results[:2]143        suite_metadata = case_results[0].runtime_data.metadata.suite144        runbook = generate_runbook(is_single_env=True, local=True, remote=True)145        envs = load_environments(runbook)146        self.default_env = list(envs.values())[0]147        assert self.default_env148        test_suite = MockTestSuite(149            metadata=suite_metadata,150        )151        return test_suite152    def setUp(self) -> None:153        cleanup_cases_metadata()154    def test_expanded_nodespace(self) -> None:155        cases = generate_cases_metadata()...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!!
