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"]
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
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