A friend is trust worthy. A friend is loving. A friend is caring. A friend is not selfish. A friend will comfort you when you are down, put up with you when you are being unreasonable, and will straighten you out when you are wrong. A friend will always welcome you in, no matter what the situation. A friend doesn't care about looks, or age, but loves you for who you really are. A friend is really, truly, amazing.
I don't get why some people, usually women, tend to assume that "perfect" friends/boyfriends are the people who constantly put up with their shit. As an exercise, I'd recommend to anyone who holds this sort of view to apply it to themselves. Be trustworthy, loving, caring. Don't be selfish, be attentive and comfort your friends when they're down, put up with them when they're being unreasonable and straighten them out when they're wrong. I'm sure relationships would be much more fulfilling if everyone who expected such special treatment followed those rules.