Я пытаюсь передать проверенный экземпляр домена с именем событие методу show () контроллеров, но show () не может найти событие вВопрос и, следовательно, возвращает ноль.
Обратите внимание, что следующий фрагмент все еще в работе.
def "trying to show an event containing malicous code"() {
given: "An event named with malicous code"
mockDomain(Event)
def event = Mock(Event)
event.title >> "<script type=\"text/javascript\">alert(\"XSS\");</script>"
event.id >> 1
// Do I have to actually create a full-blown event considering all
// constraints here?
when: "I try to show that event"
controller.params.id = 1
def result = controller.show()
then: "The resulting title will be encoded HTML"
result.eventInstance.title == event.title.encodeAsHTML()
}
Это начало метода show () контроллеров:
def show = {
def eventInstance = Event.get(params.id)
// The event exists
if (eventInstance) {
// some processing here
return [eventInstance: eventInstance, isSubscribed: sub ? true:false, sidebar: 'sidebar']
}
- Есть ли простое решение или мне нужно будет создать полноценное событие, учитывающее все ограничения?
- Если Мне нужно создать полное событиегде бы я разместить соответствующий метод?(В настоящее время мы используем createEvent () метод в BootStrap.groovy для начальной настройки, поэтому повторять эту функцию здесь не СУХОЙ).