/* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.activiti.standalone.escapeclause; import org.activiti.engine.repository.Model; import org.activiti.engine.repository.ModelQuery; public class ModelQueryEscapeClauseTest extends AbstractEscapeClauseTestCase { private String modelOneId; private String modelTwoId; @Override protected void setUp() throws Exception { Model model = repositoryService.newModel(); model.setTenantId("mytenant%"); model.setName("my model%"); model.setKey("someKey1"); model.setCategory("test%"); repositoryService.saveModel(model); modelOneId = model.getId(); model = repositoryService.newModel(); model.setTenantId("mytenant_"); model.setName("my model_"); model.setKey("someKey2"); model.setCategory("test_"); repositoryService.saveModel(model); modelTwoId = model.getId(); repositoryService.addModelEditorSource(modelOneId, "bytes".getBytes("utf-8")); repositoryService.addModelEditorSource(modelTwoId, "bytes".getBytes("utf-8")); super.setUp(); } @Override protected void tearDown() throws Exception { super.tearDown(); repositoryService.deleteModel(modelOneId); repositoryService.deleteModel(modelTwoId); } public void testQueryByNameLike() throws Exception { ModelQuery query = repositoryService.createModelQuery().modelNameLike("%\\%%"); Model model = query.singleResult(); assertNotNull(model); assertEquals("someKey1", model.getKey()); assertEquals("bytes", new String(repositoryService.getModelEditorSource(model.getId()), "utf-8")); assertEquals(1, query.list().size()); assertEquals(1, query.count()); query = repositoryService.createModelQuery().modelNameLike("%\\_%"); model = query.singleResult(); assertNotNull(model); assertEquals("someKey2", model.getKey()); assertEquals("bytes", new String(repositoryService.getModelEditorSource(model.getId()), "utf-8")); assertEquals(1, query.list().size()); assertEquals(1, query.count()); } public void testQueryByCategoryLike() throws Exception { ModelQuery query = repositoryService.createModelQuery().modelCategoryLike("%\\%%"); Model model = query.singleResult(); assertNotNull(model); assertEquals("someKey1", model.getKey()); assertEquals("bytes", new String(repositoryService.getModelEditorSource(model.getId()), "utf-8")); assertEquals(1, query.list().size()); assertEquals(1, query.count()); query = repositoryService.createModelQuery().modelCategoryLike("%\\_%"); model = query.singleResult(); assertNotNull(model); assertEquals("someKey2", model.getKey()); assertEquals("bytes", new String(repositoryService.getModelEditorSource(model.getId()), "utf-8")); assertEquals(1, query.list().size()); assertEquals(1, query.count()); } public void testQueryByTenantIdLike() throws Exception { ModelQuery query = repositoryService.createModelQuery().modelTenantIdLike("%\\%%"); Model model = query.singleResult(); assertNotNull(model); assertEquals("someKey1", model.getKey()); assertEquals("bytes", new String(repositoryService.getModelEditorSource(model.getId()), "utf-8")); assertEquals(1, query.list().size()); assertEquals(1, query.count()); query = repositoryService.createModelQuery().modelTenantIdLike("%\\_%"); model = query.singleResult(); assertNotNull(model); assertEquals("someKey2", model.getKey()); assertEquals("bytes", new String(repositoryService.getModelEditorSource(model.getId()), "utf-8")); assertEquals(1, query.list().size()); assertEquals(1, query.count()); } }