We know Snape knows Sirius is an Animagus as of Parting of the Ways in GoF. We also know that he is aware of Lupin's lycanthropy and has been for a long time.

Simple, right? Here's the problem: When precisely did he find out about Sirius's (or James's, or Peter's, if he even knew about them prior to PoA/Peter's defection, respectively) Animagus status? The Ministry didn't have the information, the dementors at Azkaban didn't know, but looking closely at Parting of the Ways, Snape doesn't seem all that surprised.

I realize this question probably has no true 'answer', but I need to know what would be generally accepted because the setting of my current fic depends on it.