use of org.wso2.carbon.apimgt.api.model.Tier in project carbon-apimgt by wso2.
the class AbstractAPIManagerTestCase method testGetAllTiersForTenant.
@Test
public void testGetAllTiersForTenant() throws APIManagementException {
Mockito.when(privilegedCarbonContext.getTenantId()).thenReturn(-1234, -1, 1);
Map<String, Tier> tierMap = new HashMap<String, Tier>();
Tier tier1 = new Tier("tier1");
Tier tier2 = new Tier("tier2");
tierMap.put("Gold", tier1);
tierMap.put("Silver", tier2);
PowerMockito.mockStatic(APIUtil.class);
PowerMockito.when(APIUtil.getAllTiers()).thenReturn(tierMap);
AbstractAPIManager abstractAPIManager = new AbstractAPIManagerWrapper(null, null, null, null);
Assert.assertEquals(abstractAPIManager.getAllTiers(SAMPLE_TENANT_DOMAIN_1).size(), 2);
PowerMockito.when(APIUtil.getAllTiers(Mockito.anyInt())).thenReturn(tierMap);
Assert.assertEquals(abstractAPIManager.getAllTiers(SAMPLE_TENANT_DOMAIN_1).size(), 2);
// verify the next branch
Assert.assertEquals(abstractAPIManager.getAllTiers(SAMPLE_TENANT_DOMAIN_1).size(), 2);
}
use of org.wso2.carbon.apimgt.api.model.Tier in project carbon-apimgt by wso2.
the class AbstractAPIManagerTestCase method testGetTiersForTenant.
@Test
public void testGetTiersForTenant() throws APIManagementException {
Mockito.when(privilegedCarbonContext.getTenantId()).thenReturn(-1234, -1, 1);
Map<String, Tier> tierMap1 = new HashMap<String, Tier>();
Map<String, Tier> tierMap2 = new HashMap<String, Tier>();
Map<String, Tier> tierMap3 = new HashMap<String, Tier>();
Tier tier1 = new Tier("tier1");
Tier tier2 = new Tier("tier2");
Tier tier3 = new Tier("tier3");
tierMap1.put("Gold", tier1);
tierMap2.put("Gold", tier1);
tierMap2.put("Silver", tier2);
tierMap3.put("Gold", tier1);
tierMap3.put("Silver", tier2);
tierMap3.put("Platinum", tier3);
PowerMockito.mockStatic(APIUtil.class);
PowerMockito.when(APIUtil.getTiers()).thenReturn(tierMap1);
PowerMockito.when(APIUtil.getTiers(Mockito.anyInt())).thenReturn(tierMap2);
AbstractAPIManager abstractAPIManager = new AbstractAPIManagerWrapper(null, null, null, null);
PowerMockito.when(APIUtil.getTiersFromPolicies(Mockito.anyString(), Mockito.anyInt())).thenReturn(tierMap1);
Assert.assertEquals(abstractAPIManager.getTiers(SAMPLE_TENANT_DOMAIN_1).size(), 1);
// verify next branch of if
Assert.assertEquals(abstractAPIManager.getTiers(SAMPLE_TENANT_DOMAIN_1).size(), 1);
// condition
PowerMockito.when(APIUtil.getTiersFromPolicies(Mockito.anyString(), Mockito.anyInt())).thenReturn(tierMap2);
Assert.assertEquals(abstractAPIManager.getTiers(SAMPLE_TENANT_DOMAIN_1).size(), 2);
PowerMockito.when(APIUtil.getTiersFromPolicies(Mockito.anyString(), Mockito.anyInt())).thenReturn(tierMap3);
Assert.assertEquals(abstractAPIManager.getTiers(SAMPLE_TENANT_DOMAIN_1).size(), 3);
}
use of org.wso2.carbon.apimgt.api.model.Tier in project carbon-apimgt by wso2.
the class APIConsumerImplTest method testGetSubscribedAPIs.
@Test
public void testGetSubscribedAPIs() throws APIManagementException {
APIConsumerImpl apiConsumer = new APIConsumerImplWrapper();
apiConsumer.apiMgtDAO = apiMgtDAO;
Set<SubscribedAPI> originalSubscribedAPIs = new HashSet<SubscribedAPI>();
SubscribedAPI subscribedAPI = Mockito.mock(SubscribedAPI.class);
originalSubscribedAPIs.add(subscribedAPI);
Subscriber subscriber = new Subscriber("Subscriber");
Tier tier = Mockito.mock(Tier.class);
when(apiMgtDAO.getSubscribedAPIs("testorg", subscriber, "testID")).thenReturn(originalSubscribedAPIs);
when(subscribedAPI.getTier()).thenReturn(tier);
when(tier.getName()).thenReturn("tier");
assertNotNull(apiConsumer.getSubscribedAPIs("testorg", subscriber, "testID"));
}
use of org.wso2.carbon.apimgt.api.model.Tier in project carbon-apimgt by wso2.
the class APIConsumerImplTest method testAddApplicationInvalidTier.
@Test
public void testAddApplicationInvalidTier() throws APIManagementException {
APIConsumerImpl apiConsumer = new APIConsumerImplWrapper(apiMgtDAO);
Application application = Mockito.mock(Application.class);
Mockito.when(application.getName()).thenReturn("app");
Mockito.when(application.getTier()).thenReturn("tier1");
PowerMockito.when(application.getSubscriber()).thenReturn(new Subscriber("User1"));
PowerMockito.when(MultitenantUtils.getTenantDomain("userID")).thenReturn("carbon.super");
PowerMockito.when(APIUtil.isApplicationExist("userID", "app", "1", "testorg")).thenReturn(false);
Map<String, Tier> tierMap = new HashMap<>();
tierMap.put("tier2", new Tier("tier2"));
PowerMockito.when(APIUtil.getTiers(APIConstants.TIER_APPLICATION_TYPE, "testorg")).thenReturn(tierMap);
PowerMockito.when(APIUtil.findTier(tierMap.values(), "tier1")).thenReturn(null);
Mockito.when(apiMgtDAO.addApplication(application, "userID", "testorg")).thenReturn(1);
try {
apiConsumer.addApplication(application, "userID", "testorg");
Assert.fail();
} catch (APIManagementException e) {
Assert.assertEquals(e.getErrorHandler(), ExceptionCodes.TIER_NAME_INVALID);
}
}
use of org.wso2.carbon.apimgt.api.model.Tier in project carbon-apimgt by wso2.
the class APIConsumerImplTest method testAddSubscription.
@Test
public void testAddSubscription() throws APIManagementException {
API api = new API(new APIIdentifier(API_PROVIDER, "published_api", SAMPLE_API_VERSION));
api.setSubscriptionAvailability(APIConstants.SUBSCRIPTION_TO_ALL_TENANTS);
Application application = new Application(1);
api.setStatus(APIConstants.PUBLISHED);
Set<Tier> tiers = new HashSet<>();
tiers.add(new Tier("tier1"));
api.setAvailableTiers(tiers);
ApiTypeWrapper apiTypeWrapper = new ApiTypeWrapper(api);
apiTypeWrapper.setTier("tier1");
Mockito.when(apiMgtDAO.addSubscription(Mockito.eq(apiTypeWrapper), Mockito.eq(application), Mockito.anyString(), Mockito.anyString())).thenReturn(1);
SubscribedAPI subscribedAPI = new SubscribedAPI(UUID.randomUUID().toString());
Mockito.when(apiMgtDAO.getSubscriptionById(1)).thenReturn(subscribedAPI);
APIConsumerImpl apiConsumer = new APIConsumerImplWrapper(apiMgtDAO, SAMPLE_TENANT_DOMAIN_1);
Assert.assertEquals(apiConsumer.addSubscription(apiTypeWrapper, "user1", application).getSubscriptionUUID(), subscribedAPI.getUUID());
try {
api.setStatus(APIConstants.CREATED);
apiConsumer.addSubscription(apiTypeWrapper, "sub1", application);
Assert.fail("Resource not found exception not thrown for wrong api state");
} catch (APIManagementException e) {
Assert.assertTrue(e.getMessage().contains("Subscriptions not allowed on APIs/API Products in the state"));
}
}
Aggregations