@Test public void shouldNotContinueIfRepoIdIsChanged() { when(goConfigService.isUserAdmin(currentUser)).thenReturn(true); when(goConfigService.getPackageRepository(repoId)).thenReturn(oldPackageRepo); when(entityHashingService.md5ForEntity(oldPackageRepo)).thenReturn("md5"); HttpLocalizedOperationResult expectResult = new HttpLocalizedOperationResult(); expectResult.unprocessableEntity( LocalizedMessage.string("PACKAGE_REPOSITORY_ID_CHANGED", "repository")); UpdatePackageRepositoryCommand command = new UpdatePackageRepositoryCommand( goConfigService, packageRepositoryService, newPackageRepo, currentUser, "md5", entityHashingService, result, "old-repo-id"); assertThat(command.canContinue(cruiseConfig), is(false)); assertThat(result, is(expectResult)); }
@Test public void shouldNotContinueIfTheUserSubmittedStaleEtag() throws Exception { when(goConfigService.isUserAdmin(currentUser)).thenReturn(true); when(goConfigService.getPackageRepository(repoId)).thenReturn(oldPackageRepo); when(entityHashingService.md5ForEntity(oldPackageRepo)).thenReturn("foobar"); HttpLocalizedOperationResult expectResult = new HttpLocalizedOperationResult(); expectResult.stale( LocalizedMessage.string("STALE_RESOURCE_CONFIG", "Package Repository", repoId)); UpdatePackageRepositoryCommand command = new UpdatePackageRepositoryCommand( goConfigService, packageRepositoryService, newPackageRepo, currentUser, "md5", entityHashingService, result, repoId); assertThat(command.canContinue(cruiseConfig), is(false)); assertThat(result, is(expectResult)); }