Single word for someone who doesn't let anyone walk all over them (antonym of 'pushover')

She was caring, and yet she was _______

What I'm tring to say is that although she cared for others, she was strong enough to not let them dictate her actions. In other words, she did things for people because she was a good person, but it didn't mean she would do anything for anyone just because she was told to do so.

A single word is preferable.

Currently, what I have is 'she was no pushover', which is very close, but maybe not the best fit here. Kind of looking for an antonym of pushover which suits my case better.

(Thesaurus.com and Oxford don't list any close antonyms, btw.)


You could say that she was resolute

adjective
admirably purposeful, determined, and unwavering.

(oxforddictionaries.com)

Or simply firm

  1. Indicating or possessed of determination or resolution: a firm voice.
  2. Constant; steadfast

(thefreedictionary.com)

For two words, you might say she was nobody's fool

A person who cannot be duped or taken advantage of, as in You can't put anything over on Ryan-he's nobody's fool.

(thefreedictionary.com)


Uncompromising

adjective

showing an unwillingness to make concessions to others, especially by changing one's ways or opinions.

"as an uncompromising Protestant he felt that his country ought to be at war with Spain"

To put it in your provided context, you would say "she was uncompromising".

Similar words which carry slightly different connotations but might suit better: obdurate, inflexible, unyielding or obstinate. Slightly more colloquial term to similar effect: pig-headed.


To take "no pushover" to the extreme:

She was indomitable

adjective
impossible to subdue or defeat.
"a woman of indomitable spirit"

(oxforddictionaries.com)