Schiliro is to be tried on charges that include recklessly endangering another person, false imprisonment, and furnishing alcohol to someone under 21.
Dorsam, a former neighbor, said he received a text message from Schiliro while at a friend's house indicating the mayor had been drinking and wanted to talk. Dorsam texted back that he already had plans, but eventually he agreed to go to Schiliro's house.
After the police car delivered him, Dorsam went to Schiliro's television room at the back of the house. The mayor allegedly poured him wine and told him to drink. Dorsam said he drank three glasses, the first time he had consumed wine.
Schiliro knocked over a small table, breaking the glasses and cutting himself, Dorsam said.
Schiliro "seemed stressed," Dorsam testified. "We talked about him being bi [bisexual]."
Schiliro said he was attracted to Dorsam, and Dorsam said that while the situation was "awkward," he was not going to judge him. Schiliro asked at least 20 times if he could perform oral sex on Dorsam, Dorsam said.
Three times during the 31/2 hours he was there, Schiliro held guns to his own head, Dorsam testified.
The first two times Dorsam was able to take the guns from Schiliro, who would leave the room and return with another weapon.
Dorsam said the two would stop to talk politics, speculating about Schiliro's potential run for sheriff. At one point, Schiliro asked him to hold up his shirt to make sure he was not wearing a wire, Dorsam said.
Schiliro fired the third gun into a stack of papers, Dorsam said.
"This boy for a short time was a hostage," said the prosecutor, Michael R. Galantino.
When defense attorney Michael Malloy asked if Dorsam could have walked out of the house when Schiliro was out of the room, he said, "Yes."
"It doesn't make any sense to me," Malloy said. "I've never heard anyone who can't leave when they have the guns."
Schiliro sold the weapons shortly after the encounter, has entered an alcohol-treatment program and is undergoing counseling.
Contact Mari A. Schaefer at 610-313-8111, firstname.lastname@example.org or @MariSchaefer on Twitter.