def METHOD_NAME():
    @strawberry.federation.type(keys=["upc"])
    class Product:
        upc: str
        name: Optional[str]
        price: Optional[int]
        weight: Optional[int]
    @strawberry.federation.type(extend=True)
    class Query:
        @strawberry.field
        def top_products(self, first: int) -> List[Product]:
            return []
    schema = strawberry.federation.Schema(query=Query, enable_federation_2=True)
    query = """
        query {
            __type(name: "_Entity") {
                kind
                possibleTypes {
                    name
                }
            }
        }
    """
    result = schema.execute_sync(query)
    assert not result.errors
    assert result.data == {
        "__type": {"kind": "UNION", "possibleTypes": [{"name": "Product"}]}
    }