def test_to_dict_rm(fixture_rm_build_details_json):

    rm_model = RmModel(
        id=2,
        arches=["x86_64"],
        state="in_progress",
        state_reason="state_reason",
        request_type="rm",
        state_history=[],
        batch=1,
        batch_annotations={"batch_annotations": 1},
        logs={},
        updated="updated",
        user="******",
        binary_image="binary_image",
        binary_image_resolved="binary_image_resolved",
        bundles=["bundles1"],
        bundle_mapping={"bundle_mapping": "map"},
        from_index="from_index",
        from_index_resolved="from_index_resolved",
        index_image="index_image",
        removed_operators=["operator1"],
        organization="organization",
        distribution_scope="null",
    )

    model = RmModel.from_dict(fixture_rm_build_details_json).to_dict()
    assert model == rm_model.to_dict()
def test_from_dict_success(
    fixture_add_build_details_json,
    fixture_rm_build_details_json,
    fixture_regenerate_bundle_build_details_json,
    fixture_optional_args_missing_json,
    fixture_merge_index_image_build_details_json,
):

    model1 = IIBBuildDetailsModel.from_dict(fixture_add_build_details_json)
    assert model1 == AddModel(**fixture_add_build_details_json)

    model2 = IIBBuildDetailsModel.from_dict(fixture_rm_build_details_json)
    assert model2 == RmModel(**fixture_rm_build_details_json)

    model3 = IIBBuildDetailsModel.from_dict(
        fixture_regenerate_bundle_build_details_json)
    assert model3 == RegenerateBundleModel(
        **fixture_regenerate_bundle_build_details_json)

    model4 = IIBBuildDetailsModel.from_dict(fixture_optional_args_missing_json)
    assert model4 == RegenerateBundleModel(
        **fixture_optional_args_missing_json)

    model5 = IIBBuildDetailsModel.from_dict(
        fixture_merge_index_image_build_details_json)
    assert model5 == MergeIndexImageModel(
        **fixture_merge_index_image_build_details_json)
def test_rm_model_attributes(fixture_rm_build_details_json):
    model = RmModel.from_dict(fixture_rm_build_details_json)

    assert model.binary_image == model._data["binary_image"]
    assert model.binary_image_resolved == model._data["binary_image_resolved"]
    assert model.bundles == model._data["bundles"]
    assert model.bundle_mapping == model._data["bundle_mapping"]
    assert model.from_index == model._data["from_index"]
    assert model.from_index_resolved == model._data["from_index_resolved"]
    assert model.index_image == model._data["index_image"]
    assert model.removed_operators == model._data["removed_operators"]
    assert model.organization == model._data["organization"]
    assert model.distribution_scope == model._data["distribution_scope"]
Exemple #4
0
def test_iib_client(
    fixture_add_build_details_json,
    fixture_rm_build_details_json,
    fixture_regenerate_bundle_build_details_json,
    fixture_create_empty_index_build_details_json,
    fixture_builds_page1_json,
):
    with requests_mock.Mocker() as m:
        m.register_uri(
            "POST",
            "/api/v1/builds/add",
            status_code=200,
            json=fixture_add_build_details_json,
        )
        m.register_uri(
            "POST",
            "/api/v1/builds/rm",
            status_code=200,
            json=fixture_rm_build_details_json,
        )

        m.register_uri(
            "POST",
            "/api/v1/builds/regenerate-bundle",
            status_code=200,
            json=fixture_regenerate_bundle_build_details_json,
        )
        m.register_uri(
            "POST",
            "/api/v1/builds/create-empty-index",
            status_code=200,
            json=fixture_create_empty_index_build_details_json,
        )
        m.register_uri(
            "GET", "/api/v1/builds", status_code=200, json=fixture_builds_page1_json
        )
        m.register_uri(
            "GET",
            "/api/v1/builds/1",
            status_code=200,
            json=fixture_add_build_details_json,
        )
        m.register_uri(
            "GET",
            "/api/v1/builds/2",
            status_code=200,
            json=fixture_rm_build_details_json,
        )
        m.register_uri(
            "GET",
            "/api/v1/builds/3",
            status_code=200,
            json=fixture_regenerate_bundle_build_details_json,
        )
        m.register_uri(
            "GET",
            "/api/v1/builds/4",
            status_code=200,
            json=fixture_create_empty_index_build_details_json,
        )

        iibc = IIBClient("fake-host")
        ret = iibc.add_bundles(
            "index-image", ["bundles-map"], [], binary_image="binary"
        )
        assert ret == AddModel.from_dict(fixture_add_build_details_json)
        ret = iibc.add_bundles(
            "index-image",
            ["bundles-map"],
            [],
            binary_image="binary",
            cnr_token="cnr",
            organization="org",
            overwrite_from_index=True,
            overwrite_from_index_token="str",
            build_tags=["extra-tag1"],
        )
        assert ret == AddModel.from_dict(fixture_add_build_details_json)
        assert (
            iibc.add_bundles(
                "index-image",
                ["bundles-map"],
                [],
                binary_image="binary",
                raw=True,
            )
            == fixture_add_build_details_json
        )
        assert (
            iibc.remove_operators(
                "index-image",
                ["operator1"],
                [],
                binary_image="binary",
                build_tags=["v4.5-2020-10-10"],
                overwrite_from_index=True,
                overwrite_from_index_token="str",
            )
            == RmModel.from_dict(fixture_rm_build_details_json)
        )
        assert (
            iibc.remove_operators(
                "index-image", ["operator1"], [], binary_image="binary", raw=True
            )
            == fixture_rm_build_details_json
        )

        assert iibc.regenerate_bundle(
            bundle_image="bundle_image",
            organization="organization",
        ) == RegenerateBundleModel.from_dict(
            fixture_regenerate_bundle_build_details_json
        )
        assert (
            iibc.regenerate_bundle(
                bundle_image="bundle_image", organization="organization", raw=True
            )
            == fixture_regenerate_bundle_build_details_json
        )

        assert iibc.create_empty_index(
            index_image="from_index",
            binary_image="binary_image",
            labels={"version": "v1"},
        ) == CreateEmptyIndexModel.from_dict(
            fixture_create_empty_index_build_details_json
        )
        assert (
            iibc.create_empty_index(
                index_image="from_index",
                binary_image="binary_image",
                labels={"version": "v1"},
                raw=True,
            )
            == fixture_create_empty_index_build_details_json
        )

        # get_builds - request_type is "add"
        assert iibc.get_build(1) == IIBBuildDetailsModel.from_dict(
            fixture_add_build_details_json
        )
        assert iibc.get_build(1, raw=True) == fixture_add_build_details_json

        # get_builds - request_type is "rm"
        assert iibc.get_build(2) == IIBBuildDetailsModel.from_dict(
            fixture_rm_build_details_json
        )
        assert iibc.get_build(2, raw=True) == fixture_rm_build_details_json

        # get_builds - request_type is "regenerate-bundle"
        assert iibc.get_build(3) == IIBBuildDetailsModel.from_dict(
            fixture_regenerate_bundle_build_details_json
        )
        assert (
            iibc.get_build(3, raw=True) == fixture_regenerate_bundle_build_details_json
        )
        # get_builds - request_type is "create-empty-index"
        assert iibc.get_build(4) == IIBBuildDetailsModel.from_dict(
            fixture_create_empty_index_build_details_json
        )
        assert (
            iibc.get_build(4, raw=True) == fixture_create_empty_index_build_details_json
        )

        assert iibc.get_builds() == IIBBuildDetailsPager.from_dict(
            iibc, fixture_builds_page1_json
        )
        assert iibc.get_builds(raw=True) == fixture_builds_page1_json
Exemple #5
0
def test_iib_client(
    fixture_add_build_details_json,
    fixture_rm_build_details_json,
    fixture_regenerate_bundle_build_details_json,
    fixture_builds_page1_json,
):
    with requests_mock.Mocker() as m:
        m.register_uri(
            "POST",
            "/api/v1/builds/add",
            status_code=200,
            json=fixture_add_build_details_json,
        )
        m.register_uri(
            "POST",
            "/api/v1/builds/rm",
            status_code=200,
            json=fixture_rm_build_details_json,
        )

        m.register_uri(
            "POST",
            "/api/v1/builds/regenerate-bundle",
            status_code=200,
            json=fixture_regenerate_bundle_build_details_json,
        )
        m.register_uri("GET",
                       "/api/v1/builds",
                       status_code=200,
                       json=fixture_builds_page1_json)
        m.register_uri(
            "GET",
            "/api/v1/builds/1",
            status_code=200,
            json=fixture_add_build_details_json,
        )
        m.register_uri(
            "GET",
            "/api/v1/builds/2",
            status_code=200,
            json=fixture_rm_build_details_json,
        )
        m.register_uri(
            "GET",
            "/api/v1/builds/3",
            status_code=200,
            json=fixture_regenerate_bundle_build_details_json,
        )

        iibc = IIBClient("fake-host")
        assert iibc.add_bundles("index-image", ["bundles-map"], [],
                                binary_image="binary") == AddModel.from_dict(
                                    fixture_add_build_details_json)
        assert (iibc.add_bundles(
            "index-image",
            ["bundles-map"],
            [],
            binary_image="binary",
            cnr_token="cnr",
            organization="org",
            overwrite_from_index=True,
            overwrite_from_index_token="str",
        ) == AddModel.from_dict(fixture_add_build_details_json))
        assert (iibc.add_bundles("index-image", ["bundles-map"], [],
                                 binary_image="binary",
                                 raw=True) == fixture_add_build_details_json)
        assert (iibc.remove_operators(
            "index-image",
            ["operator1"],
            [],
            binary_image="binary",
            overwrite_from_index=True,
            overwrite_from_index_token="str",
        ) == RmModel.from_dict(fixture_rm_build_details_json))
        assert (iibc.remove_operators(
            "index-image", ["operator1"], [], binary_image="binary",
            raw=True) == fixture_rm_build_details_json)

        assert iibc.regenerate_bundle(
            bundle_image="bundle_image",
            organization="organization",
        ) == RegenerateBundleModel.from_dict(
            fixture_regenerate_bundle_build_details_json)
        assert (iibc.regenerate_bundle(
            bundle_image="bundle_image", organization="organization",
            raw=True) == fixture_regenerate_bundle_build_details_json)

        # get_builds - request_type is "add"
        assert iibc.get_build(1) == IIBBuildDetailsModel.from_dict(
            fixture_add_build_details_json)
        assert iibc.get_build(1, raw=True) == fixture_add_build_details_json

        # get_builds - request_type is "rm"
        assert iibc.get_build(2) == IIBBuildDetailsModel.from_dict(
            fixture_rm_build_details_json)
        assert iibc.get_build(2, raw=True) == fixture_rm_build_details_json

        # get_builds - request_type is "regenerate-bundle"
        assert iibc.get_build(3) == IIBBuildDetailsModel.from_dict(
            fixture_regenerate_bundle_build_details_json)
        assert (iibc.get_build(
            3, raw=True) == fixture_regenerate_bundle_build_details_json)

        assert iibc.get_builds() == IIBBuildDetailsPager.from_dict(
            iibc, fixture_builds_page1_json)
        assert iibc.get_builds(raw=True) == fixture_builds_page1_json