def equals_and_hash_expected_difference_test():
    """
    quick check to make sure I am not causing problems by feeding a dict
    to frozenset.
    """
    bi_builder_C = _create_build_info_builder()
    module_builder_C = Module.Builder(id=Id(group_id="defend.against.fruit",
                                            artifact_id="pointy-stick",
                                            version="5.2"),
                                      properties={'ape', 'lets swing'})
    bi_builder_C.add_module(module_builder_C.build())
    build_info_C = bi_builder_C.build()

    bi_builder_D = _create_build_info_builder()
    module_builder_D = Module.Builder(
        id=Id(group_id="defend.against.fruit",
              artifact_id="pointy-stick",
              version="5.2"),
        properties={'ape', 'lets make funny faces'})
    bi_builder_D.add_module(module_builder_D.build())
    build_info_D = bi_builder_D.build()

    assert build_info_C != build_info_D, \
        "different property values should result in unequal BuildInfo " \
        "instances"

    assert build_info_C.__hash__() != build_info_D.__hash__(), \
        "different property values should result in unequal hash values"
def single_module_with_missing_module_attributes_test():
    module_builder = Module.Builder(
        id=None,
        #id=Id(
        #   group_id="defend.against.fruit",
        #   artifact_id="pointy-stick",
        #   version="5.2"),
        properties={
            'banana': 'monkey love',
            'orange': 'gorilla color'
        })

    module_test_helper.add_some_artifacts(module_builder)

    module_test_helper.add_some_dependencies(module_builder)

    module = module_builder.build()

    bi_builder = _create_build_info_builder()
    bi_builder.add_module(module)

    build_info = bi_builder.build()

    module_test_helper.round_trip_to_and_from_wire_format(
        build_info, BuildInfo.from_json_data, _assert_basic_attributes)
Example #3
0
def _build_info(args):
    my_build_number = args.number
    my_build_name = args.name

    bi_builder = BuildInfo.Builder(
        version="2.2.2",
        name=my_build_name,
        number=my_build_number,
        # Looks like valid values are "GENERIC", "MAVEN", "ANT", "IVY" and
        # "GRADLE".
        type='GENERIC',
        # Looks like time format is very specific
        started="2013-03-21T10:49:01.143-0500",
        duration_millis=10000,
        artifactory_principal="dude",
        agent=Agent(name="defend_against_fruit", version="5.2"),
        build_agent=Agent(name="TeamCity", version="1.3"),
        build_retention=BuildRetention(
            count=-1,
            delete_build_artifacts=False,
            # Is this for TeamCity "pinned" builds?
            build_numbers_not_to_be_discarded=[111, 999]))
    module_builder = Module.Builder(id=Id(
        group_id="python", artifact_id="daf_fruit_dist", version="1.2.15"))
    module_builder.add_artifact(
        type=PYTHON_SDIST,
        name="daf_fruit_dist-1.2.15.tar.gz",
        sha1="0a66f5619bcce7a441740e154cd97bad04189d86",
        md5="2a17acbb714e7b696c58b4ca6e07c611")
    module_builder.add_artifact(
        type=PYTHON_FREEZE,
        name="daf_fruit_dist-1.2.15-requirements.txt",
        sha1="06e5f0080b6b15704be9d78e801813d802a90625",
        md5="254c0e43bbf5979f8b34ff0428ed6931")
    module_builder.add_dependency(
        type=PYTHON_SDIST,
        id=Id(group_id="python", artifact_id="nose", version="1.2.1"),
        sha1="02cc3ffdd7a1ce92cbee388c4a9e939a79f66ba5",
        md5="735e3f1ce8b07e70ee1b742a8a53585a")

    bi_builder.add_module(module_builder.build())
    build_info = bi_builder.build()
    logging.debug(build_info_to_text(build_info))

    publish_build_info(username=args.username,
                       password=args.password,
                       repo_base_url=args.base_url,
                       build_info=build_info,
                       verify_cert=not args.ignore_cert_errors)
def create_module_builder(
        artifacts=None,
        dependencies=None,
        treat_none_as_empty=True):

    module_builder = Module.Builder(
        id=Id(
            group_id="defend.against.fruit",
            artifact_id="pointy-stick",
            version="5.2"),
        properties={'banana': 'monkey love', 'orange': 'gorilla color'},
        artifacts=artifacts,
        dependencies=dependencies,
        treat_none_as_empty=treat_none_as_empty
    )
    return module_builder