Preheat oven to 400°F.
For the topping, heat olive oil over medium heat and melt in butter. Add garlic, swirl a minute to infuse garlic flavor, then remove. Add breadcrumbs and lightly toast. Cool breadcrumbs and toss in parsley and grated cheeses.
Bring large pot of water to a boil for the pasta.
Heat a large skillet over medium to medium-high heat. Melt butter; when it foams, add mushrooms and lightly brown. Add shallots and celery, and stir 5-7 minutes to soften. Sprinkle in flour and stir a minute or so; whisk in sherry or wine, stock, milk or half-and-half, and season with salt and white pepper. Cook to thicken to coat back of spoon.
Salt water and cook noodles to al dente. Drain.
Add tuna to sauce and combine with noodles. Transfer to a casserole dish, top with cheese and breadcrumb mixture, and bake to brown and bubbly, 20 minutes.