Update to my husband's case. As I wrote earlier he had his citizenship test and passed on December 21, 2016. Because we live in Washington, DC, he has to take the oath at a courthouse in DC where it's only administered on the 2nd Tuesday of each month.
After the test his online USCIS account was soon updated to show he had passed and said the "Oath has been scheduled and a letter will be mailed" but no date was given. We waited a few weeks and as some on this board suggested we checked
https://egov.uscis.gov/casestatus/landing.do
You enter your receipt number and it gives your case status. This site said his letter had been mailed so he called the customer service number. The first time he could not get additional information, but on January 23 it said that a letter had been mailed that day. It finally arrived on January 30 and his oath is scheduled for February 14!
So from his test date of Dec 21 to mailing of the oath appointment letter took about 1 month. We tried to be patient knowing that Christmas week through Inauguration would probably slow things down in government offices.
If you haven't checked
https://egov.uscis.gov/casestatus/landing.do
try it as it does sometimes have more up to date information.