Blanch the green beans in boiling salted water until just crisp-tender. Immediately place them in a bowl of ice water to stop them from cooking.
In a sauté pan, heat the olive oil and melt the butter. Add the onion and garlic and cook until the onions are sweated and translucent. Add the tomatoes and mushrooms and sauté, stirring often, for 5-7 minutes or until the mushrooms are tender.
Add the beans, season with salt and pepper, and cook until beans are warmed through. Remove from the heat, stir in the cranberries and serve.