mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-07-04 10:47:25 +02:00
Add initial audit log API
Introduce audit log API which logs all creations, modifications and deletions of annotated entities and everything which is stored inside a ConfigurationStore. Without the related Audit Log Plugin installed this API does nothing.
This commit is contained in:
committed by
SCM-Manager
parent
e74225e168
commit
56265be9a2
@@ -119,7 +119,8 @@ public class DefaultRepositoryManagerPerfTest {
|
||||
repositoryDAO,
|
||||
handlerSet,
|
||||
Providers.of(namespaceStrategy),
|
||||
repositoryPostProcessor);
|
||||
repositoryPostProcessor,
|
||||
Collections.emptySet());
|
||||
|
||||
setUpTestRepositories();
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ import sonia.scm.NoChangesMadeException;
|
||||
import sonia.scm.NotFoundException;
|
||||
import sonia.scm.SCMContext;
|
||||
import sonia.scm.ScmConstraintViolationException;
|
||||
import sonia.scm.TempSCMContextProvider;
|
||||
import sonia.scm.event.ScmEventBus;
|
||||
import sonia.scm.repository.api.HookContext;
|
||||
import sonia.scm.repository.api.HookContextFactory;
|
||||
@@ -88,9 +89,6 @@ import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
|
||||
import sonia.scm.TempSCMContextProvider;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
/**
|
||||
@@ -561,7 +559,7 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase<Repository> {
|
||||
when(namespaceStrategy.createNamespace(Mockito.any(Repository.class))).thenAnswer(invocation -> mockedNamespace);
|
||||
|
||||
return new DefaultRepositoryManager(contextProvider,
|
||||
keyGenerator, repositoryDAO, handlerSet, Providers.of(namespaceStrategy), postProcessor);
|
||||
keyGenerator, repositoryDAO, handlerSet, Providers.of(namespaceStrategy), postProcessor, emptySet());
|
||||
}
|
||||
|
||||
private RepositoryDAO createRepositoryDaoMock() {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
package sonia.scm.repository;
|
||||
|
||||
import org.apache.shiro.authz.UnauthorizedException;
|
||||
@@ -48,6 +48,7 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import static java.util.Collections.emptySet;
|
||||
import static java.util.Collections.singletonList;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
@@ -76,7 +77,6 @@ class DefaultRepositoryRoleManagerTest {
|
||||
@Mock
|
||||
private RepositoryPermissionProvider permissionProvider;
|
||||
|
||||
@InjectMocks
|
||||
private DefaultRepositoryRoleManager manager;
|
||||
|
||||
@BeforeEach
|
||||
@@ -103,6 +103,11 @@ class DefaultRepositoryRoleManagerTest {
|
||||
when(permissionProvider.availableRoles()).thenReturn(asList(CUSTOM_ROLE, SYSTEM_ROLE));
|
||||
}
|
||||
|
||||
@BeforeEach
|
||||
void initManager() {
|
||||
manager = new DefaultRepositoryRoleManager(dao, permissionProvider, emptySet());
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void cleanupContext() {
|
||||
ThreadContext.unbindSubject();
|
||||
|
||||
@@ -39,6 +39,7 @@ import sonia.scm.store.JAXBConfigurationStoreFactory;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Optional;
|
||||
|
||||
import static java.util.Collections.emptySet;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static sonia.scm.update.repository.MigrationStrategy.INLINE;
|
||||
|
||||
@@ -53,7 +54,7 @@ class DefaultMigrationStrategyDAOTest {
|
||||
@BeforeEach
|
||||
void initStore(@TempDir Path tempDir) {
|
||||
when(contextProvider.getBaseDirectory()).thenReturn(tempDir.toFile());
|
||||
storeFactory = new JAXBConfigurationStoreFactory(contextProvider, null, null);
|
||||
storeFactory = new JAXBConfigurationStoreFactory(contextProvider, null, null, emptySet());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -36,6 +36,9 @@ import sonia.scm.NotFoundException;
|
||||
import sonia.scm.store.JAXBConfigurationStoreFactory;
|
||||
import sonia.scm.user.xml.XmlUserDAO;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
import static java.util.Collections.emptySet;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
@@ -64,7 +67,7 @@ public class DefaultUserManagerTest extends UserManagerTestBase {
|
||||
|
||||
@Override
|
||||
public UserManager createManager() {
|
||||
return new DefaultUserManager(passwordService, createXmlUserDAO());
|
||||
return new DefaultUserManager(passwordService, createXmlUserDAO(), emptySet());
|
||||
}
|
||||
|
||||
@Before
|
||||
@@ -78,7 +81,7 @@ public class DefaultUserManagerTest extends UserManagerTestBase {
|
||||
|
||||
when(passwordService.encryptPassword(anyString())).thenAnswer(invocation -> invocation.getArgument(0));
|
||||
|
||||
userManager = new DefaultUserManager(passwordService, userDAO);
|
||||
userManager = new DefaultUserManager(passwordService, userDAO, emptySet());
|
||||
}
|
||||
|
||||
@Test(expected = InvalidPasswordException.class)
|
||||
@@ -161,6 +164,6 @@ public class DefaultUserManagerTest extends UserManagerTestBase {
|
||||
}
|
||||
|
||||
private XmlUserDAO createXmlUserDAO() {
|
||||
return new XmlUserDAO(new JAXBConfigurationStoreFactory(contextProvider, locationResolver, null));
|
||||
return new XmlUserDAO(new JAXBConfigurationStoreFactory(contextProvider, locationResolver, null, emptySet()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user