コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
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
コード例 #5
0
    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)
コード例 #6
0
    def test_requirements_should_always_be_greater_than_dependencies_even_when_name_matches(
            self):
        dependency = Dependency("foo")
        requirements = RequirementsFile("foo")

        self.assertTrue(requirements > dependency)
コード例 #7
0
    def test_requirements_should_always_be_greater_than_dependencies(self):
        dependency = Dependency("foo")
        requirements = RequirementsFile("requirements.txt")

        self.assertTrue(requirements > dependency)
コード例 #8
0
    def test_requirements_file_should_be_unequal_to_dependency_even_when_name_matches(
            self):
        dependency = Dependency("foo")
        requirements = RequirementsFile("foo")

        self.assertTrue(dependency != requirements)
コード例 #9
0
    def test_requirements_file_should_be_unequal_to_dependency(self):
        dependency = Dependency("foo")
        requirements = RequirementsFile("requirements.txt")

        self.assertTrue(dependency != requirements)
コード例 #10
0
    def test_requirements_file_should_not_be_equal_to_dependency(self):
        dependency = Dependency("foo")
        requirements = RequirementsFile("requirements.txt")

        self.assertFalse(dependency == requirements)
コード例 #11
0
 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)
コード例 #12
0
 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)
コード例 #13
0
 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)
コード例 #14
0
 def test_requirements_file_should_not_be_unequal_to_itself(self):
     requirements_file = RequirementsFile("requirements.txt")
     self.assertFalse(requirements_file != requirements_file)
コード例 #15
0
 def test_requirements_file_should_be_equal_to_itself(self):
     requirements_file = RequirementsFile("requirements.txt")
     self.assertTrue(requirements_file == requirements_file)
コード例 #16
0
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")