There are several issues with your code but the biggest is your None case - you cannot add a reference to a temp Vec into the HashMap because the HashMap is storing references to Vecs coming from outside the Test type.
Is there a reason you don’t want to do HashMap<String, Vec<String>>?
I'm not exactly sure what I should be storing here, super new to Rust. Was just making a guess at what should be stored there. Wouldn't the vector need to be mutable, so I can add / remove items from it in the future?
No worries about being new - you’ve come to the right place.
If the HashMap owns the Vec, as in what I suggested above, then in turn your Test type owns it. If you have mutable access to Test (which you do since you’re borrowing it &mut) you can also mutate the vec. It’s a package deal.
I would recommend reading the Rust book if you’ve not done that yet. It’ll cover things like this.
Note that, unfortunately, doing the “get or insert into HashMap” in the most straightforward way bumps into a limitation of the current borrow checker. Here’s a blog that provides details: Baby Steps.
The entry() API allows you to sidestep this problem and, as a bonus, makes the code more concise.