Invalidate cache when namespace of repo was changed

This commit is contained in:
René Pfeuffer
2020-09-18 17:52:49 +02:00
parent bbfe2b08bc
commit 7ac3481879
2 changed files with 18 additions and 1 deletions

View File

@@ -162,7 +162,12 @@ public class AuthorizationChangedEventProducer {
Repository repository = event.getItem();
if (isAuthorizationDataModified(repository.getPermissions(), event.getItemBeforeModification().getPermissions())) {
logger.debug(
"fire authorization changed event, because a relevant field of repository {}/{} has changed", repository.getNamespace(), repository.getName()
"fire authorization changed event, because the permissions of repository {}/{} have changed", repository.getNamespace(), repository.getName()
);
fireEventForEveryUser();
} else if (!event.getItem().getNamespace().equals(event.getItemBeforeModification().getNamespace())) {
logger.debug(
"fire authorization changed event, because the namespace of repository {}/{} has changed", repository.getNamespace(), repository.getName()
);
fireEventForEveryUser();
} else {

View File

@@ -220,6 +220,18 @@ public class AuthorizationChangedEventProducerTest {
assertEventIsNotFired();
}
@Test
public void testOnRepositoryNamespaceChanged()
{
Repository repositoryModified = RepositoryTestData.createHeartOfGold();
repositoryModified.setName("test123");
Repository repository = RepositoryTestData.createHeartOfGold();
repositoryModified.setNamespace("new_namespace");
producer.onEvent(new RepositoryModificationEvent(HandlerEventType.CREATE, repositoryModified, repository));
assertGlobalEventIsFired();
}
private void resetStoredEvent(){
producer.event = null;
}