@@ -0,0 +1,2775 @@
+/*%0A * See the NOTICE file distributed with this work for additional%0A * information regarding copyright ownership.%0A *%0A * This is free software; you can redistribute it and/or modify it%0A * under the terms of the GNU Lesser General Public License as%0A * published by the Free Software Foundation; either version 2.1 of%0A * the License, or (at your option) any later version.%0A *%0A * This software is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%0A * Lesser General Public License for more details.%0A *%0A * You should have received a copy of the GNU Lesser General Public%0A * License along with this software; if not, write to the Free%0A * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA%0A * 02110-1301 USA, or see the FSF site: http://www.fsf.org.%0A */%0Apackage org.xwiki.query.internal;%0A%0Aimport org.junit.jupiter.api.Test;%0Aimport org.xwiki.model.reference.DocumentReference;%0Aimport org.xwiki.query.Query;%0Aimport org.xwiki.query.QueryException;%0Aimport org.xwiki.query.SecureQuery;%0Aimport org.xwiki.security.authorization.AuthorExecutor;%0Aimport org.xwiki.security.authorization.ContextualAuthorizationManager;%0Aimport org.xwiki.test.junit5.mockito.ComponentTest;%0Aimport org.xwiki.test.junit5.mockito.InjectComponentManager;%0Aimport org.xwiki.test.junit5.mockito.MockComponent;%0Aimport org.xwiki.test.mockito.MockitoComponentManager;%0A%0Aimport static org.mockito.ArgumentMatchers.any;%0Aimport static org.mockito.ArgumentMatchers.eq;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.verify;%0A%0A/**%0A * Validate %7B@link ScriptQuery%7D.%0A * %0A * @version $Id$%0A */%0A@ComponentTest%0Aclass ScriptQueryTest%0A%7B%0A    @InjectComponentManager%0A    private MockitoComponentManager componentManager;%0A%0A    @MockComponent%0A    private AuthorExecutor authorExecutor;%0A%0A    @MockComponent%0A    private ContextualAuthorizationManager authorization;%0A%0A    @Test%0A    void execute() throws QueryException%0A    %7B%0A        Query query = mock(Query.class);%0A        ScriptQuery scriptQuery = new ScriptQuery(query, this.componentManager);%0A%0A        scriptQuery.execute();%0A%0A        verify(query).execute();%0A    %7D%0A%0A    @Test%0A    void executeWithSwitchedAuthor() throws Exception%0A    %7B%0A        SecureQuery query = mock(SecureQuery.class);%0A        ScriptQuery scriptQuery = new ScriptQuery(query, this.componentManager);%0A%0A        DocumentReference author = new DocumentReference(%22wiki%22, %22XWiki%22, %22author%22);%0A        DocumentReference document = new DocumentReference(%22wiki%22, %22space%22, %22document%22);%0A%0A        scriptQuery.setQueryAuthor(author, document);%0A%0A        scriptQuery.execute();%0A%0A        verify(this.authorExecutor).call(any(), eq(author), eq(document));%0A    %7D%0A%7D%0A

Improve query author check * add test