Exemplo n.º 1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void testWithDeleteHistoryPermissionOnProcessDefinition()
        public virtual void testWithDeleteHistoryPermissionOnProcessDefinition()
        {
            // given
            UserOperationLogQuery query = historyService.createUserOperationLogQuery().processDefinitionKey("timerBoundaryProcess").beforeTimestamp(new DateTime(1549110000000l));

            // assume
            assertTrue(query.count() == 1 || query.count() == 2);

            string        logId             = query.list().get(0).Id;
            string        processInstanceId = query.list().get(0).ProcessInstanceId;
            Authorization auth = authorizationService.createNewAuthorization(org.camunda.bpm.engine.authorization.Authorization_Fields.AUTH_TYPE_GRANT);

            auth.UserId      = USER_ID;
            auth.Permissions = new Permissions[] { Permissions.DELETE_HISTORY };
            auth.Resource    = Resources.PROCESS_DEFINITION;
            auth.ResourceId  = "timerBoundaryProcess";

            authorizationService.saveAuthorization(auth);

            engineRule.ProcessEngineConfiguration.AuthorizationEnabled = true;

            // when
            historyService.deleteUserOperationLogEntry(logId);

            // then
            assertEquals(0, query.processInstanceId(processInstanceId).count());
        }
Exemplo n.º 2
0
        protected internal virtual void verifyVariableOperationAsserts(int countAssertValue, string operationType, string category)
        {
            UserOperationLogQuery logQuery = query().entityType(EntityTypes.VARIABLE).operationType(operationType);

            assertEquals(countAssertValue, logQuery.count());

            if (countAssertValue > 1)
            {
                IList <UserOperationLogEntry> logEntryList = logQuery.list();

                foreach (UserOperationLogEntry logEntry in logEntryList)
                {
                    assertEquals(process.ProcessDefinitionId, logEntry.ProcessDefinitionId);
                    assertEquals(process.ProcessInstanceId, logEntry.ProcessInstanceId);
                    assertEquals(category, logEntry.Category);
                }
            }
            else
            {
                UserOperationLogEntry logEntry = logQuery.singleResult();
                assertEquals(process.ProcessDefinitionId, logEntry.ProcessDefinitionId);
                assertEquals(process.ProcessInstanceId, logEntry.ProcessInstanceId);
                assertEquals(category, logEntry.Category);
            }
        }
Exemplo n.º 3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUpMock()
        public virtual void setUpMock()
        {
            IList <UserOperationLogEntry> entries = MockProvider.createUserOperationLogEntries();

            queryMock = mock(typeof(UserOperationLogQuery));
            when(queryMock.list()).thenReturn(entries);
            when(queryMock.listPage(anyInt(), anyInt())).thenReturn(entries);
            when(queryMock.count()).thenReturn((long)entries.Count);
            when(processEngine.HistoryService.createUserOperationLogQuery()).thenReturn(queryMock);
        }
Exemplo n.º 4
0
        protected internal virtual void verifyQueryResults(UserOperationLogQuery query, int countExpected)
        {
            assertEquals(countExpected, query.list().size());
            assertEquals(countExpected, query.count());

            if (countExpected == 1)
            {
                assertNotNull(query.singleResult());
            }
            else if (countExpected > 1)
            {
                verifySingleResultFails(query);
            }
            else if (countExpected == 0)
            {
                assertNull(query.singleResult());
            }
        }
Exemplo n.º 5
0
        public virtual void testCaseInstanceId()
        {
            // create new task
            task = taskService.newTask();
            taskService.saveTask(task);

            UserOperationLogQuery query = queryOperationDetails(OPERATION_TYPE_UPDATE);

            assertEquals(0, query.count());

            // set case instance id and save task
            task.CaseInstanceId = "aCaseInstanceId";
            taskService.saveTask(task);

            assertEquals(1, query.count());

            UserOperationLogEntry entry = query.singleResult();

            assertNotNull(entry);

            assertNull(entry.OrgValue);
            assertEquals("aCaseInstanceId", entry.NewValue);
            assertEquals(CASE_INSTANCE_ID, entry.Property);

            // change case instance id and save task
            task.CaseInstanceId = "anotherCaseInstanceId";
            taskService.saveTask(task);

            assertEquals(2, query.count());

            IList <UserOperationLogEntry> entries = query.list();

            assertEquals(2, entries.Count);

            foreach (UserOperationLogEntry currentEntry in entries)
            {
                if (!currentEntry.Id.Equals(entry.Id))
                {
                    assertEquals("aCaseInstanceId", currentEntry.OrgValue);
                    assertEquals("anotherCaseInstanceId", currentEntry.NewValue);
                    assertEquals(CASE_INSTANCE_ID, currentEntry.Property);
                }
            }
        }
Exemplo n.º 6
0
        public virtual IList <UserOperationLogEntryDto> queryUserOperationEntries(UriInfo uriInfo, int?firstResult, int?maxResults)
        {
            UserOperationLogQueryDto queryDto = new UserOperationLogQueryDto(objectMapper, uriInfo.QueryParameters);
            UserOperationLogQuery    query    = queryDto.toQuery(processEngine);

            if (firstResult == null && maxResults == null)
            {
                return(UserOperationLogEntryDto.map(query.list()));
            }
            else
            {
                if (firstResult == null)
                {
                    firstResult = 0;
                }
                if (maxResults == null)
                {
                    maxResults = int.MaxValue;
                }
                return(UserOperationLogEntryDto.map(query.listPage(firstResult, maxResults)));
            }
        }
Exemplo n.º 7
0
        public virtual void assertUserOperationLogs()
        {
            IList <ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list();

            UserOperationLogQuery userOperationLogQuery = historyService.createUserOperationLogQuery().operationType(org.camunda.bpm.engine.history.UserOperationLogEntry_Fields.OPERATION_TYPE_DELETE);

            IList <UserOperationLogEntry> userOperationLogs = userOperationLogQuery.list();

            assertEquals(3, userOperationLogs.Count);

            foreach (ProcessDefinition processDefinition in processDefinitions)
            {
                UserOperationLogEntry userOperationLogEntry = userOperationLogQuery.deploymentId(processDefinition.DeploymentId).singleResult();

                assertEquals(EntityTypes.PROCESS_DEFINITION, userOperationLogEntry.EntityType);
                assertEquals(processDefinition.Id, userOperationLogEntry.ProcessDefinitionId);
                assertEquals(processDefinition.Key, userOperationLogEntry.ProcessDefinitionKey);
                assertEquals(processDefinition.DeploymentId, userOperationLogEntry.DeploymentId);

                assertEquals(org.camunda.bpm.engine.history.UserOperationLogEntry_Fields.OPERATION_TYPE_DELETE, userOperationLogEntry.OperationType);

                assertEquals("cascade", userOperationLogEntry.Property);
                assertFalse(Convert.ToBoolean(userOperationLogEntry.OrgValue));
                assertTrue(Convert.ToBoolean(userOperationLogEntry.NewValue));

                assertEquals(USER_ID, userOperationLogEntry.UserId);

                assertEquals(org.camunda.bpm.engine.history.UserOperationLogEntry_Fields.CATEGORY_TASK_WORKER, userOperationLogEntry.Category);

                assertNull(userOperationLogEntry.JobDefinitionId);
                assertNull(userOperationLogEntry.ProcessInstanceId);
                assertNull(userOperationLogEntry.CaseInstanceId);
                assertNull(userOperationLogEntry.CaseDefinitionId);
            }

            assertEquals(6, historyService.createUserOperationLogQuery().count());
        }