def test_should_install_requirements_file_dependency(self, exec_command, get_package_version, constraint_file): dependency = RequirementsFile("requirements.txt") install_dependency(self.logger, self.project, dependency) exec_command( PIP_EXEC_STANZA + ["install", '-r', "requirements.txt"], ANY, env=ANY, shell=False)
def test_should_install_requirements_file_dependency(self): dependency = RequirementsFile("requirements.txt") install_dependency(self.logger, self.project, dependency) verify(pybuilder.plugins.python.install_dependencies_plugin).execute_command( "pip install '-rrequirements.txt'", any_value(), shell=True)
def test_should_install_requirements_file_dependency(self): dependency = RequirementsFile("requirements.txt") install_dependency(self.logger, self.project, dependency) verify(pybuilder.plugins.python.install_dependencies_plugin ).execute_command( [PIP_EXECUTABLE, "install", '-r', "requirements.txt"], any_value(), env=any_value(), shell=False)
def _run_tavern_tests_in_dir(test_dir: str, logger: Logger, project: Project, reactor: Reactor, role=None): logger.info("Running tavern tests: {}".format(test_dir)) if not os.path.exists(test_dir): logger.info("Skipping tavern run: no tests") return False logger.info( f"Found {len(os.listdir(test_dir))} files in tavern test directory") # todo is this unique enough for each run? output_file, run_name = get_test_report_file(project, test_dir) from sys import path as syspath syspath.insert(0, test_dir) # install any requirements that my exist requirements_file = os.path.join(test_dir, "requirements.txt") if os.path.exists(requirements_file): dependency = RequirementsFile(requirements_file) install_dependencies( logger, project, dependency, reactor.pybuilder_venv, f"{prepare_logs_directory(project)}/install_tavern_pip_dependencies.log" ) extra_args = [ project.expand(prop) for prop in project.get_property(TAVERN_ADDITIONAL_ARGS, []) ] args = ["--junit-xml", f"{output_file}", test_dir] + extra_args if project.get_property("verbose"): args.append("-s") args.append("-v") os.environ['TARGET'] = project.get_property(INTEGRATION_TARGET_URL) os.environ[ENVIRONMENT] = project.get_property(ENVIRONMENT) logger.info( f"Running against: {project.get_property(INTEGRATION_TARGET_URL)} ") cache_wd = os.getcwd() try: os.chdir(test_dir) ret = pytest.main(args) finally: os.chdir(cache_wd) if role: CloudwatchLogs(project.get_property(ENVIRONMENT), project.get_property(APPLICATION), role, logger).print_latest() if ret != 0: raise BuildFailedException( f"Tavern tests failed see complete output here - {output_file}") return True
def test_should_install_requirements_file_dependency(self, *_): dependency = RequirementsFile("requirements.txt") install_dependencies(self.logger, self.project, dependency, self.pyb_env, "install_batch") self.pyb_env.execute_command.assert_called_with( self.pyb_env.executable + PIP_MODULE_STANZA + ["install", "-r", "requirements.txt"], cwd=ANY, env=ANY, error_file_name=ANY, outfile_name=ANY, shell=False, no_path_search=True)
def test_requirements_should_always_be_greater_than_dependencies_even_when_name_matches( self): dependency = Dependency("foo") requirements = RequirementsFile("foo") self.assertTrue(requirements > dependency)
def test_requirements_should_always_be_greater_than_dependencies(self): dependency = Dependency("foo") requirements = RequirementsFile("requirements.txt") self.assertTrue(requirements > dependency)
def test_requirements_file_should_be_unequal_to_dependency_even_when_name_matches( self): dependency = Dependency("foo") requirements = RequirementsFile("foo") self.assertTrue(dependency != requirements)
def test_requirements_file_should_be_unequal_to_dependency(self): dependency = Dependency("foo") requirements = RequirementsFile("requirements.txt") self.assertTrue(dependency != requirements)
def test_requirements_file_should_not_be_equal_to_dependency(self): dependency = Dependency("foo") requirements = RequirementsFile("requirements.txt") self.assertFalse(dependency == requirements)
def test_requirements_file_should_be_lesser_than_other_when_name_is_lesser( self): requirements_file = RequirementsFile("requirements.txt") dev_requirements_file = RequirementsFile("requirements-dev.txt") self.assertTrue(requirements_file > dev_requirements_file)
def test_requirements_file_should_be_unequal_to_other_when_names_differ( self): requirements_file = RequirementsFile("requirements.txt") dev_requirements_file = RequirementsFile("requirements-dev.txt") self.assertTrue(requirements_file != dev_requirements_file)
def test_requirements_file_should_not_be_equal_to_other_when_names_differ( self): requirements_file = RequirementsFile("requirements.txt") dev_requirements_file = RequirementsFile("requirements-dev.txt") self.assertFalse(requirements_file == dev_requirements_file)
def test_requirements_file_should_not_be_unequal_to_itself(self): requirements_file = RequirementsFile("requirements.txt") self.assertFalse(requirements_file != requirements_file)
def test_requirements_file_should_be_equal_to_itself(self): requirements_file = RequirementsFile("requirements.txt") self.assertTrue(requirements_file == requirements_file)
def configure_pytest(project, logger): test_requirement = RequirementsFile("unittest/test_requirements.txt") install_dependency(logger, project, [test_requirement]) project.get_property("pytest_extra_args").append("-xsvv") project.get_property("pytest_extra_args").append( "--junitxml=target/reports/junit.xml")