Search in sources :

Example 1 with DuplicateAPIException

use of org.wso2.carbon.apimgt.api.model.DuplicateAPIException in project carbon-apimgt by wso2.

the class APIProviderImplTest method testCreateNewAPIVersion_Exception.

@Test(expected = APIManagementException.class)
public void testCreateNewAPIVersion_Exception() throws RegistryException, UserStoreException, APIManagementException, IOException, DuplicateAPIException, APIPersistenceException, XMLStreamException {
    // Create Original API
    APIIdentifier apiId = new APIIdentifier("admin", "API1", "1.0.0");
    API api = new API(apiId);
    api.setContext("/test");
    api.setVisibility("Public");
    api.setStatus(APIConstants.CREATED);
    String newVersion = "1.0.0";
    // Create new API object
    APIIdentifier newApiId = new APIIdentifier("admin", "API1", "1.0.1");
    final API newApi = new API(newApiId);
    newApi.setStatus(APIConstants.CREATED);
    newApi.setContext("/test");
    APIProviderImplWrapper apiProvider = new APIProviderImplWrapper(apiPersistenceInstance, apimgtDAO, scopesDAO, null, null);
    Mockito.when(artifactManager.newGovernanceArtifact(any(QName.class))).thenReturn(artifact);
    Mockito.when(APIUtil.createAPIArtifactContent(artifact, api)).thenReturn(artifact);
    GenericArtifact artifactNew = Mockito.mock(GenericArtifact.class);
    Mockito.when(APIUtil.createAPIArtifactContent(artifact, newApi)).thenReturn(artifactNew);
    RegistryService registryService = Mockito.mock(RegistryService.class);
    UserRegistry userRegistry = Mockito.mock(UserRegistry.class);
    ServiceReferenceHolder serviceReferenceHolder = TestUtils.getServiceReferenceHolder();
    RealmService realmService = Mockito.mock(RealmService.class);
    TenantManager tenantManager = Mockito.mock(TenantManager.class);
    PowerMockito.when(ServiceReferenceHolder.getInstance()).thenReturn(serviceReferenceHolder);
    Mockito.when(serviceReferenceHolder.getRegistryService()).thenReturn(registryService);
    Mockito.when(registryService.getConfigSystemRegistry(Mockito.anyInt())).thenReturn(userRegistry);
    Mockito.when(serviceReferenceHolder.getRealmService()).thenReturn(realmService);
    Mockito.when(realmService.getTenantManager()).thenReturn(tenantManager);
    PublisherAPI publisherAPI = Mockito.mock(PublisherAPI.class);
    PowerMockito.when(apiPersistenceInstance.addAPI(any(Organization.class), any(PublisherAPI.class))).thenReturn(publisherAPI);
    apiProvider.addAPI(api);
    String targetPath = APIConstants.API_LOCATION + RegistryConstants.PATH_SEPARATOR + api.getId().getProviderName() + RegistryConstants.PATH_SEPARATOR + api.getId().getApiName() + RegistryConstants.PATH_SEPARATOR + newVersion + APIConstants.API_RESOURCE_NAME;
    String apiSourcePath = "API1/1.0.0/";
    PowerMockito.when(APIUtil.getAPIPath(apiId)).thenReturn(apiSourcePath);
    Mockito.when(apiProvider.registry.resourceExists(targetPath)).thenThrow(RegistryException.class);
    apiProvider.createNewAPIVersion(api.getUuid(), newVersion, false, "carbon.super");
}
Also used : GenericArtifact(org.wso2.carbon.governance.api.generic.dataobjects.GenericArtifact) ServiceReferenceHolder(org.wso2.carbon.apimgt.impl.internal.ServiceReferenceHolder) Organization(org.wso2.carbon.apimgt.persistence.dto.Organization) QName(javax.xml.namespace.QName) UserRegistry(org.wso2.carbon.registry.core.session.UserRegistry) RealmService(org.wso2.carbon.user.core.service.RealmService) PublisherAPI(org.wso2.carbon.apimgt.persistence.dto.PublisherAPI) APIIdentifier(org.wso2.carbon.apimgt.api.model.APIIdentifier) ImportExportAPI(org.wso2.carbon.apimgt.impl.importexport.ImportExportAPI) SubscribedAPI(org.wso2.carbon.apimgt.api.model.SubscribedAPI) PublisherAPI(org.wso2.carbon.apimgt.persistence.dto.PublisherAPI) API(org.wso2.carbon.apimgt.api.model.API) RegistryService(org.wso2.carbon.registry.core.service.RegistryService) TenantManager(org.wso2.carbon.user.core.tenant.TenantManager) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 2 with DuplicateAPIException

use of org.wso2.carbon.apimgt.api.model.DuplicateAPIException in project carbon-apimgt by wso2.

the class RestApiUtilTest method testisDueToResourceAlreadyExistsWithDuplicateAPIException.

@Test
public void testisDueToResourceAlreadyExistsWithDuplicateAPIException() throws Exception {
    DuplicateAPIException duplicateAPIException = new DuplicateAPIException("New Sample exception");
    Throwable testThrowable = new Throwable();
    PowerMockito.spy(RestApiUtil.class);
    PowerMockito.doReturn(duplicateAPIException).when(RestApiUtil.class, "getPossibleErrorCause", testThrowable);
    Assert.assertTrue("Invalid exception has been passed.", RestApiUtil.isDueToResourceAlreadyExists(testThrowable));
}
Also used : DuplicateAPIException(org.wso2.carbon.apimgt.api.model.DuplicateAPIException) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)2 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)2 QName (javax.xml.namespace.QName)1 API (org.wso2.carbon.apimgt.api.model.API)1 APIIdentifier (org.wso2.carbon.apimgt.api.model.APIIdentifier)1 DuplicateAPIException (org.wso2.carbon.apimgt.api.model.DuplicateAPIException)1 SubscribedAPI (org.wso2.carbon.apimgt.api.model.SubscribedAPI)1 ImportExportAPI (org.wso2.carbon.apimgt.impl.importexport.ImportExportAPI)1 ServiceReferenceHolder (org.wso2.carbon.apimgt.impl.internal.ServiceReferenceHolder)1 Organization (org.wso2.carbon.apimgt.persistence.dto.Organization)1 PublisherAPI (org.wso2.carbon.apimgt.persistence.dto.PublisherAPI)1 GenericArtifact (org.wso2.carbon.governance.api.generic.dataobjects.GenericArtifact)1 RegistryService (org.wso2.carbon.registry.core.service.RegistryService)1 UserRegistry (org.wso2.carbon.registry.core.session.UserRegistry)1 RealmService (org.wso2.carbon.user.core.service.RealmService)1 TenantManager (org.wso2.carbon.user.core.tenant.TenantManager)1