def test_get_app_catalog_subscription_raises_service_error(
        compute_client, list_all_resources_patch):
    list_all_resources_patch.side_effect = ServiceError(
        500, "InternalServerError", dict(), "Internal Server Error")
    with pytest.raises(ServiceError) as exc_info:
        oci_app_catalog_subscription.get_app_catalog_subscription(
            compute_client, get_module())
    se = exc_info.value
    assert se.status == 500
    assert se.code == "InternalServerError"
    assert se.message == "Internal Server Error"
def test_get_app_catalog_subscription_returns_None_if_subscription_does_not_exist(
        compute_client, list_all_resources_patch):
    app_catalog_subscription = get_app_catalog_subscription()
    list_all_resources_patch.return_value = [app_catalog_subscription]
    get_app_catalog_subscription_return_value = oci_app_catalog_subscription.get_app_catalog_subscription(
        compute_client, get_module(listing_resource_version="2.0"))
    list_all_resources_patch.assert_called_once()
    assert get_app_catalog_subscription_return_value is None
def test_get_app_catalog_subscription_returns_existing_subscription(
        compute_client, list_all_resources_patch):
    app_catalog_subscription = get_app_catalog_subscription()
    list_all_resources_patch.return_value = [app_catalog_subscription]
    existing_app_catalog_subscription = oci_app_catalog_subscription.get_app_catalog_subscription(
        compute_client, get_module())
    list_all_resources_patch.assert_called_once()
    assert (existing_app_catalog_subscription["compartment_id"] ==
            app_catalog_subscription.compartment_id)
    assert (existing_app_catalog_subscription["listing_id"] ==
            app_catalog_subscription.listing_id)
    assert (existing_app_catalog_subscription["listing_resource_version"] ==
            app_catalog_subscription.listing_resource_version)