use of ddf.security.service.impl.SubjectUtils in project ddf by codice.
the class ReliableResourceDownloaderTest method testIOExceptionDuringRead.
@Test
public void testIOExceptionDuringRead() throws Exception {
ResourceResponse mockResponse = getMockResourceResponse(mockStream);
when(mockStream.read(any(byte[].class))).thenThrow(new IOException());
int retries = 5;
downloaderConfig.setMaxRetryAttempts(retries);
DownloadStatusInfoImpl downloadStatusInfo = new DownloadStatusInfoImpl();
downloadStatusInfo.setSubjectOperations(new SubjectUtils());
ReliableResourceDownloader downloader = new ReliableResourceDownloader(downloaderConfig, new AtomicBoolean(), DOWNLOAD_ID, mockResponse, getMockRetriever());
downloader.setupDownload(mockMetacard, downloadStatusInfo);
downloader.run();
verify(mockPublisher, times(retries)).postRetrievalStatus(any(ResourceResponse.class), eq(ProductRetrievalStatus.RETRYING), any(Metacard.class), anyString(), anyLong(), eq(DOWNLOAD_ID));
}
use of ddf.security.service.impl.SubjectUtils in project ddf by codice.
the class ReliableResourceDownloaderTest method testCacheExceptionDuringWrite.
@Test
public void testCacheExceptionDuringWrite() throws Exception {
downloaderConfig.setCacheEnabled(true);
ResourceCacheImpl mockCache = mock(ResourceCacheImpl.class);
when(mockCache.isPending(anyString())).thenReturn(false);
when(mockCache.getProductCacheDirectory()).thenReturn(productCacheDirectory);
downloaderConfig.setResourceCache(mockCache);
mis = new MockInputStream(productInputFilename);
ResourceResponse mockResponse = getMockResourceResponse(mis);
ReliableResourceDownloader downloader = new ReliableResourceDownloader(downloaderConfig, new AtomicBoolean(), "123", mockResponse, getMockRetriever());
DownloadStatusInfoImpl downloadStatusInfo = new DownloadStatusInfoImpl();
downloadStatusInfo.setSubjectOperations(new SubjectUtils());
downloader.setupDownload(mockMetacard, downloadStatusInfo);
FileOutputStream mockFos = mock(FileOutputStream.class);
doThrow(new IOException()).when(mockFos).write(any(byte[].class), anyInt(), anyInt());
downloader.setFileOutputStream(mockFos);
downloader.run();
verify(mockPublisher, times(1)).postRetrievalStatus(any(ResourceResponse.class), eq(ProductRetrievalStatus.RETRYING), any(Metacard.class), anyString(), anyLong(), eq(DOWNLOAD_ID));
verify(mockCache, times(1)).removePendingCacheEntry(anyString());
assertThat(downloaderConfig.isCacheEnabled(), is(false));
}
use of ddf.security.service.impl.SubjectUtils in project ddf by codice.
the class FilterPluginTest method setup.
@Before
public void setup() {
AuthorizingRealm realm = mock(AuthorizingRealm.class);
when(realm.getName()).thenReturn("mockRealm");
when(realm.isPermitted(any(PrincipalCollection.class), any(Permission.class))).then(makeDecision());
Collection<org.apache.shiro.realm.Realm> realms = new ArrayList<>();
realms.add(realm);
DefaultSecurityManager manager = new DefaultSecurityManager();
manager.setRealms(realms);
SimplePrincipalCollection principalCollection = new SimplePrincipalCollection(new Principal() {
@Override
public String getName() {
return "testuser";
}
}, realm.getName());
Subject systemSubject = new MockSubject(manager, principalCollection);
plugin = new FilterPlugin(new Security()) {
@Override
protected Subject getSystemSubject() {
return systemSubject;
}
};
plugin.setPermissions(new PermissionsImpl());
plugin.setSubjectOperations(new SubjectUtils());
plugin.setSecurityLogger(mock(SecurityLogger.class));
QueryRequestImpl request = getSampleRequest();
Map<String, Serializable> properties = new HashMap<>();
Subject subject = new MockSubject(manager, principalCollection);
properties.put(SecurityConstants.SECURITY_SUBJECT, subject);
request.setProperties(properties);
incomingResponse = new QueryResponseImpl(request);
ResourceRequest resourceRequest = mock(ResourceRequest.class);
when(resourceRequest.getProperties()).thenReturn(properties);
resourceResponse = new ResourceResponseImpl(resourceRequest, mock(Resource.class));
resourceResponse.setProperties(properties);
DeleteRequest deleteRequest = mock(DeleteRequest.class);
when(deleteRequest.getProperties()).thenReturn(properties);
List<Metacard> deletedMetacards = new ArrayList<>();
deletedMetacards.add(getExactRolesMetacard());
deleteResponse = new DeleteResponseImpl(deleteRequest, properties, deletedMetacards);
List<Metacard> badDeletedMetacards = new ArrayList<>();
badDeletedMetacards.add(getMoreRolesMetacard());
badDeleteResponse = new DeleteResponseImpl(deleteRequest, properties, badDeletedMetacards);
createRequest = new CreateRequestImpl(getExactRolesMetacard());
createRequest.setProperties(properties);
badCreateRequest = new CreateRequestImpl(getMoreRolesMetacard());
badCreateRequest.setProperties(properties);
updateRequest = new UpdateRequestImpl(getExactRolesMetacard().getId(), getExactRolesMetacard());
updateRequest.setProperties(properties);
ResultImpl result1 = new ResultImpl(getMoreRolesMetacard());
ResultImpl result2 = new ResultImpl(getMissingRolesMetacard());
ResultImpl result3 = new ResultImpl(getExactRolesMetacard());
ResultImpl result4 = new ResultImpl(getNoRolesMetacard());
ResultImpl result5 = new ResultImpl(getNoSecurityAttributeMetacard());
incomingResponse.addResult(result1, false);
incomingResponse.addResult(result2, false);
incomingResponse.addResult(result3, false);
incomingResponse.addResult(result4, false);
incomingResponse.addResult(result5, true);
}
use of ddf.security.service.impl.SubjectUtils in project ddf by codice.
the class ActivityEventPublisherTest method setupPublisher.
@Override
protected void setupPublisher() {
actionProvider = mock(ActionProvider.class);
Action downloadAction = mock(Action.class);
try {
when(actionProvider.getAction(metacard)).thenReturn(downloadAction);
when(downloadAction.getUrl()).thenReturn(new URL("http://example.com/download"));
} catch (Exception e) {
LOGGER.warn("Could not set download action URL", e);
}
publisher = new DownloadsStatusEventPublisher(eventAdmin, ImmutableList.of(actionProvider));
publisher.setSubjectOperations(new SubjectUtils());
publisher.setNotificationEnabled(false);
}
use of ddf.security.service.impl.SubjectUtils in project ddf by codice.
the class NotificationEventPublisherTest method setupPublisher.
@Override
protected void setupPublisher() {
actionProvider = mock(ActionProvider.class);
Action downloadAction = mock(Action.class);
try {
when(actionProvider.getAction(metacard)).thenReturn(downloadAction);
when(downloadAction.getUrl()).thenReturn(new URL("http://example.com/download"));
} catch (Exception e) {
LOGGER.warn("Could not set download action URL", e);
}
publisher = new DownloadsStatusEventPublisher(eventAdmin, ImmutableList.of(actionProvider));
publisher.setSubjectOperations(new SubjectUtils());
publisher.setActivityEnabled(false);
}
Aggregations