Heat some vegetable oil in a pan over a low heat and gently sweat the shallots and garlic, for ten minutes or so, until they're soft. Set aside.
Heat a pan on a higher heat with a little oil. Add the mushrooms and a little salt and fry until no more moisture releases from the mushrooms. Add the Madeira and fry until completely reduced. Add the shallots and garlic to the pan and stir everything to combine.
Spread out the mixture on some good quality paper towels to absorb any remaining moisture.
Remove the beef fillet from it's pack and pat dry.
Heat a pan to a high heat and add a small amount of vegetable oil. Sear the fillet on all sides. The idea is to brown the outside but without cooking the centre of the fillet, so keep turning it in the pan.
Transfer the fillet to a plate to cool along with the duxelles.
Lay out a double layer of cling film, large enough to be wrapped around the fillet. We're going to roll the fillet in it. Layout the bresaola slices on the cling film, slightly overlapping each other. Spread the duxelles on top of the bresaola then lay the fillet across the bottom.
Take the cling film and use it to roll the fillet into a tight roll with the bresaola on the outside. Form a good tight parcel with the cling film, then wrap with more if you think it will need it. The idea is to keep everything tight while it chills.
Chill over night in the fridge.
Roll out the pastry, around 5mm thick and large enough to wrap the fillet parcel in.
Carefully unwrap the fillet from the cling film and lay it along the edge of the pastry.
Lift the pastry and roll the fillet until there is a 3-4cm overlap. Turn the Wellington so that the overlap is on the bottom.
Trim the ends and carefully tuck under the Wellington, then lift and transfer to a baking sheet.
Brush with the egg yolk and chill the whole thing in the fridge for around 30 mins.
Pre heat the oven to 220c (200c fan).
When you're ready to cook, give the Wellington another brush of egg and put into the oven.
On average the fillet will take around 45 minutes to cook to rare. I would recommend that you use a digital thermometer to measure the temperature accurately.
Move the fillet to a cooling rack and allow to rest for at least 30 minutes before serving.