Can i just clarify the following-
When you spy on a city you only see the troops that are currently IN that city and not the troops the BELONG to it.
I send all of my units out to farm someone. Your spy lands whilst they are out- Your spy will show that i have NO troops in that city.
If Someone supports me with 50 biremes but i remove all of my own units and then you land a spy your spy will tell you that i have 50 biremes in my city, but not that they are not MY biremes.
If i supported myself as did my alliance and you landed a spy sucessfully, your spy would show you all of the units wthin my city, but again, not that those units were not my own.