use of org.wso2.carbon.registry.core.ResourceImpl in project carbon-apimgt by wso2.
the class APIConsumerImplTest method testGetRecentlyAddedAPIs.
@Test
public void testGetRecentlyAddedAPIs() throws Exception {
Registry userRegistry = Mockito.mock(Registry.class);
APIConsumerImpl apiConsumer = new APIConsumerImplWrapper(userRegistry, apiMgtDAO);
UserRegistry userRegistry1 = Mockito.mock(UserRegistry.class);
APIManagerConfiguration apiManagerConfiguration = Mockito.mock(APIManagerConfiguration.class);
APIManagerConfigurationService apiManagerConfigurationService = Mockito.mock(APIManagerConfigurationService.class);
Mockito.when(serviceReferenceHolder.getAPIManagerConfigurationService()).thenReturn(apiManagerConfigurationService);
Mockito.when(apiManagerConfigurationService.getAPIManagerConfiguration()).thenReturn(apiManagerConfiguration);
Mockito.when(apiManagerConfiguration.getFirstProperty(Mockito.anyString())).thenReturn("true", "false");
API api = Mockito.mock(API.class);
Set<API> recentlyAddedAPI = new HashSet<API>();
recentlyAddedAPI.add(api);
PowerMockito.mockStatic(Caching.class);
CacheManager cacheManager = Mockito.mock(CacheManager.class);
Cache<Object, Object> cache = Mockito.mock(Cache.class);
Mockito.when(Caching.getCacheManager(Mockito.anyString())).thenReturn(cacheManager);
Mockito.when(cacheManager.getCache(Mockito.anyString())).thenReturn(cache);
Mockito.when(cache.get(Mockito.anyObject())).thenReturn(recentlyAddedAPI);
Resource resource = new ResourceImpl();
resource.setProperty("overview_status", "overview_status");
resource.setProperty("store_view_roles", "store_view_roles");
String path = "testPath";
Mockito.when(APIUtil.getAPIPath((APIIdentifier) Mockito.anyObject())).thenReturn(path);
Mockito.when(userRegistry1.get(Mockito.anyString())).thenReturn(resource);
PowerMockito.mockStatic(GovernanceUtils.class);
PowerMockito.doNothing().when(APIUtil.class, "loadTenantRegistry", Mockito.anyInt());
PowerMockito.when(APIUtil.isAllowDisplayMultipleVersions()).thenReturn(true, false);
System.setProperty(CARBON_HOME, "");
Mockito.when(registryService.getGovernanceUserRegistry(Mockito.anyString(), Mockito.anyInt())).thenReturn(userRegistry1);
Mockito.when(registryService.getGovernanceSystemRegistry(Mockito.anyInt())).thenReturn(userRegistry1);
GenericArtifactManager artifactManager = Mockito.mock(GenericArtifactManager.class);
PowerMockito.when(APIUtil.getArtifactManager((UserRegistry) (Mockito.anyObject()), Mockito.anyString())).thenReturn(artifactManager);
GenericArtifact artifact = Mockito.mock(GenericArtifact.class);
GenericArtifact[] genericArtifacts = new GenericArtifact[] { artifact };
Mockito.when(artifactManager.findGovernanceArtifacts(Mockito.anyString())).thenReturn(genericArtifacts);
APIIdentifier apiId1 = new APIIdentifier("admin", "API1", "1.0.0");
API api1 = new API(apiId1);
Mockito.when(APIUtil.getAPI(artifact)).thenReturn(api1);
// set isAllowDisplayMultipleVersions true
assertNotNull(apiConsumer.getRecentlyAddedAPIs(10, "testDomain"));
// set isAllowDisplayMultipleVersions false
assertNotNull(apiConsumer.getRecentlyAddedAPIs(10, "testDomain"));
}
use of org.wso2.carbon.registry.core.ResourceImpl in project carbon-apimgt by wso2.
the class APIConsumerImplTest method testGetPublishedAPIsByProvider1.
@Test
public void testGetPublishedAPIsByProvider1() throws APIManagementException, RegistryException, org.wso2.carbon.user.core.UserStoreException {
APIConsumerImpl apiConsumer = new APIConsumerImplWrapper(userRegistry, apiMgtDAO);
String providerId = "1";
API api = new API(new APIIdentifier(API_PROVIDER, SAMPLE_API_NAME, SAMPLE_API_VERSION));
API api1 = new API(new APIIdentifier(API_PROVIDER, "pizza_api", "2.0.0"));
PowerMockito.when(APIUtil.isAllowDisplayMultipleVersions()).thenReturn(true, false);
PowerMockito.when(APIUtil.isAllowDisplayAPIsWithMultipleStatus()).thenReturn(true, false);
PowerMockito.when(APIUtil.getArtifactManager(userRegistry, APIConstants.API_KEY)).thenReturn(genericArtifactManager);
PowerMockito.when(APIUtil.getMountedPath(Mockito.any(), Mockito.anyString())).thenReturn("system/governance");
PowerMockito.when(APIUtil.getAPI(Mockito.any())).thenReturn(api);
PowerMockito.when(APIUtil.replaceEmailDomainBack(Mockito.anyString())).thenReturn(providerId);
PowerMockito.when(APIUtil.getLcStateFromArtifact((GovernanceArtifact) Mockito.any())).thenReturn(APIConstants.PUBLISHED);
GenericArtifact genericArtifact1 = new GenericArtifactImpl(new QName("local"), "artifact1");
GenericArtifact genericArtifact2 = new GenericArtifactImpl(new QName("local"), "artifact2");
GenericArtifact[] genericArtifacts = new GenericArtifact[] { genericArtifact1, genericArtifact2 };
Mockito.when(genericArtifactManager.findGenericArtifacts((Map<String, List<String>>) Mockito.any())).thenThrow(GovernanceException.class).thenReturn(genericArtifacts);
PowerMockito.mockStatic(GovernanceUtils.class);
PowerMockito.when(GovernanceUtils.getArtifactPath(Mockito.any(), Mockito.anyString())).thenReturn("/path1");
PowerMockito.when(RegistryUtils.getAbsolutePath(Mockito.any(), Mockito.anyString())).thenReturn("/path1");
Assert.assertNull(apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "John"));
Assert.assertEquals(0, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "John").size());
Mockito.when(authorizationManager.isUserAuthorized(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(true);
Resource resource = new ResourceImpl();
resource.setUUID(UUID.randomUUID().toString());
Mockito.when(userRegistry.get(Mockito.anyString())).thenReturn(resource);
GenericArtifact genericArtifact = Mockito.mock(GenericArtifactImpl.class);
Mockito.when(genericArtifactManager.getGenericArtifact(Mockito.anyString())).thenReturn(genericArtifact);
Assert.assertEquals(1, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 1, API_PROVIDER, "John").size());
api.setVisibility("specific_to_roles");
PowerMockito.when(MultitenantUtils.getTenantDomain(Mockito.anyString())).thenReturn("carbon.super", "carbon.super", SAMPLE_TENANT_DOMAIN_1);
PowerMockito.when(APIUtil.getAPI((GenericArtifact) Mockito.any())).thenReturn(api, api1);
Assert.assertEquals(1, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "John").size());
Mockito.when(authorizationManager.isRoleAuthorized(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(true);
Assert.assertEquals(1, apiConsumer.getPublishedAPIsByProvider("1", "", 5, API_PROVIDER, "John").size());
}
use of org.wso2.carbon.registry.core.ResourceImpl in project carbon-apimgt by wso2.
the class APIConsumerImplTest method testGetPublishedAPIsByProvider2.
@Test
public void testGetPublishedAPIsByProvider2() throws APIManagementException, RegistryException, org.wso2.carbon.user.core.UserStoreException {
APIConsumerImpl apiConsumer = new APIConsumerImplWrapper(userRegistry, apiMgtDAO);
String providerId = "2";
API api = new API(new APIIdentifier(API_PROVIDER, SAMPLE_API_NAME, SAMPLE_API_VERSION));
API api1 = new API(new APIIdentifier(API_PROVIDER, SAMPLE_API_NAME, "2.0.0"));
PowerMockito.mockStatic(APIUtil.class);
PowerMockito.when(APIUtil.isAllowDisplayMultipleVersions()).thenReturn(true, false);
PowerMockito.when(APIUtil.isAllowDisplayAPIsWithMultipleStatus()).thenReturn(true, false);
PowerMockito.when(APIUtil.getArtifactManager(userRegistry, APIConstants.API_KEY)).thenReturn(genericArtifactManager);
PowerMockito.when(APIUtil.getMountedPath(Mockito.any(), Mockito.anyString())).thenReturn("system/governance");
PowerMockito.when(APIUtil.getAPI(Mockito.any())).thenReturn(api);
PowerMockito.when(APIUtil.replaceEmailDomainBack(Mockito.anyString())).thenReturn(providerId);
PowerMockito.when(APIUtil.getLcStateFromArtifact((GovernanceArtifact) Mockito.any())).thenReturn(APIConstants.PUBLISHED);
GenericArtifact genericArtifact1 = new GenericArtifactImpl(new QName("local"), "artifact1");
GenericArtifact genericArtifact2 = new GenericArtifactImpl(new QName("local"), "artifact2");
GenericArtifact[] genericArtifacts = new GenericArtifact[] { genericArtifact1, genericArtifact2 };
Mockito.when(genericArtifactManager.findGenericArtifacts((Map<String, List<String>>) Mockito.any())).thenReturn(genericArtifacts);
PowerMockito.mockStatic(GovernanceUtils.class);
PowerMockito.when(GovernanceUtils.getArtifactPath(Mockito.any(), Mockito.anyString())).thenReturn("/path1");
PowerMockito.when(RegistryUtils.getAbsolutePath(Mockito.any(), Mockito.anyString())).thenReturn("/path1");
Association association = new Association();
association.setDestinationPath("/destPath1");
Association association2 = new Association();
association2.setDestinationPath("/destPath2");
Association[] associations = new Association[] { association, association2 };
Mockito.when(userRegistry.getAssociations(Mockito.anyString(), Mockito.anyString())).thenThrow(RegistryException.class).thenReturn(associations);
try {
apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "");
Assert.fail("Registry exception not thrown for error scenario");
} catch (APIManagementException e) {
Assert.assertTrue(e.getMessage().contains("Failed to get Published APIs for provider :"));
}
Assert.assertEquals(0, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 2, API_PROVIDER, "").size());
Mockito.when(authorizationManager.isUserAuthorized(Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenThrow(UserStoreException.class).thenThrow(org.wso2.carbon.user.core.UserStoreException.class).thenReturn(true);
try {
apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "");
Assert.fail("User store exception not thrown for error scenario");
} catch (APIManagementException e) {
Assert.assertTrue(e.getMessage().contains("Failed to get Published APIs for provider :"));
}
try {
apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "");
Assert.fail("User store exception not thrown for error scenario");
} catch (APIManagementException e) {
Assert.assertTrue(e.getMessage().contains("Failed to get Published APIs for provider :"));
}
Resource resource = new ResourceImpl();
resource.setUUID(UUID.randomUUID().toString());
Mockito.when(userRegistry.get(Mockito.anyString())).thenReturn(resource);
GenericArtifact genericArtifact = Mockito.mock(GenericArtifactImpl.class);
Mockito.when(genericArtifact.getLifecycleState(Mockito.anyString())).thenReturn(APIConstants.PUBLISHED);
Mockito.when(genericArtifactManager.getGenericArtifact(Mockito.anyString())).thenReturn(genericArtifact);
Assert.assertEquals(1, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 1, API_PROVIDER, "").size());
PowerMockito.when(APIUtil.getAPI((GenericArtifact) Mockito.any())).thenReturn(api, api1);
Assert.assertEquals(1, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "").size());
PowerMockito.when(APIUtil.isAllowDisplayAPIsWithMultipleStatus()).thenReturn(true);
Set<API> apiSet = apiConsumer.getPublishedAPIsByProvider("1", "test_user", 5, API_PROVIDER, "");
Assert.assertEquals(1, apiSet.size());
Assert.assertTrue(apiSet.contains(api1));
String apiOwner = "Smith";
PowerMockito.when(APIUtil.replaceEmailDomainBack(apiOwner)).thenReturn(apiOwner);
api.setApiOwner("John");
PowerMockito.when(APIUtil.isAllowDisplayMultipleVersions()).thenReturn(true);
Assert.assertEquals(1, apiConsumer.getPublishedAPIsByProvider(apiOwner, "test_user", 1, apiOwner, "").size());
Assert.assertEquals(0, apiConsumer.getPublishedAPIsByProvider("1", "test_user", 1, apiOwner, "").size());
}
use of org.wso2.carbon.registry.core.ResourceImpl in project carbon-apimgt by wso2.
the class LifecycleModificationHandler method clearConfigCache.
private void clearConfigCache(RequestContext requestContext) {
Resource resource = requestContext.getResource();
if (resource instanceof ResourceImpl) {
ResourceImpl resourceImpl = (ResourceImpl) resource;
if (resourceImpl != null && APIConstants.API_LIFE_CYCLE.equals(resourceImpl.getName())) {
Cache lcCache = Caching.getCacheManager(APIConstants.API_MANAGER_CACHE_MANAGER).getCache(APIConstants.LC_CACHE_NAME);
String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain();
String cacheName = tenantDomain + "_" + APIConstants.LC_CACHE_NAME;
if (lcCache.containsKey(cacheName)) {
lcCache.remove(cacheName);
if (log.isDebugEnabled()) {
log.debug("Lifecycle cache cleared for tenant domain " + tenantDomain);
}
}
}
}
}
use of org.wso2.carbon.registry.core.ResourceImpl in project carbon-apimgt by wso2.
the class CustomAPIIndexHandlerTest method testPut.
/**
* This method tests whether the CustomAPIIndexer works correctly under different circumstances without throwing
* Exception.
*
* @throws RegistryException Registry Exception.
*/
@Test
public void testPut() throws RegistryException {
// Resource without property.
Resource resource = new ResourceImpl();
RequestContext requestContext = Mockito.mock(RequestContext.class);
Mockito.doReturn(Mockito.mock(Registry.class)).when(requestContext).getRegistry();
ResourcePath resourcePath = Mockito.mock(ResourcePath.class);
Mockito.doReturn(resource).when(requestContext).getResource();
Mockito.doReturn(resourcePath).when(requestContext).getResourcePath();
CustomAPIIndexHandler customAPIIndexHandler = new CustomAPIIndexHandler();
customAPIIndexHandler.put(requestContext);
// Resource with property.
resource.setProperty(APIConstants.CUSTOM_API_INDEXER_PROPERTY, "true");
Mockito.doReturn(resource).when(requestContext).getResource();
customAPIIndexHandler.put(requestContext);
}
Aggregations