Search in sources :

Example 1 with InMemoryRealmService

use of org.wso2.carbon.identity.common.testng.realm.InMemoryRealmService in project carbon-identity-framework by wso2.

the class CarbonBasedTestListener method createRealmService.

private RealmService createRealmService(WithRealmService withRealmService, boolean reuseIfAvailable) throws UserStoreException {
    if (testSessionRealmService != null && reuseIfAvailable) {
        return testSessionRealmService;
    }
    try {
        int tenantId = withRealmService.tenantId();
        String tenantDomain = withRealmService.tenantDomain();
        PrivilegedCarbonContext.startTenantFlow();
        PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(tenantId);
        PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(tenantDomain);
        testSessionRealmService = new InMemoryRealmService(tenantId);
        UserStoreManager userStoreManager = testSessionRealmService.getTenantUserRealm(tenantId).getUserStoreManager();
        ((MockUserStoreManager) userStoreManager).addSecondaryUserStoreManager("PRIMARY", (MockUserStoreManager) userStoreManager);
        IdentityTenantUtil.setRealmService(testSessionRealmService);
        TenantManager tenantManager = new InMemoryTenantManager();
        testSessionRealmService.setTenantManager(tenantManager);
        RegistryDataHolder.getInstance().setRealmService(testSessionRealmService);
        OSGiDataHolder.getInstance().setUserRealmService(testSessionRealmService);
        Class[] singletonClasses = withRealmService.injectToSingletons();
        for (Class singletonClass : singletonClasses) {
            Object instance = getSingletonInstance(singletonClass);
            if (instance != null) {
                setInstanceValue(testSessionRealmService, RealmService.class, singletonClass, instance);
            } else {
                setInstanceValue(testSessionRealmService, RealmService.class, singletonClass, null);
            }
        }
    } finally {
        PrivilegedCarbonContext.endTenantFlow();
    }
    return testSessionRealmService;
}
Also used : MockUserStoreManager(org.wso2.carbon.identity.common.testng.realm.MockUserStoreManager) ITestClass(org.testng.ITestClass) MockUserStoreManager(org.wso2.carbon.identity.common.testng.realm.MockUserStoreManager) UserStoreManager(org.wso2.carbon.user.api.UserStoreManager) InMemoryTenantManager(org.wso2.carbon.identity.common.testng.realm.InMemoryTenantManager) TenantManager(org.wso2.carbon.user.api.TenantManager) InMemoryTenantManager(org.wso2.carbon.identity.common.testng.realm.InMemoryTenantManager) InMemoryRealmService(org.wso2.carbon.identity.common.testng.realm.InMemoryRealmService)

Example 2 with InMemoryRealmService

use of org.wso2.carbon.identity.common.testng.realm.InMemoryRealmService in project carbon-identity-framework by wso2.

the class ApplicationManagementServiceImplTest method setupConfiguration.

private void setupConfiguration() throws UserStoreException, RegistryException {
    String carbonHome = Paths.get(System.getProperty("user.dir"), "target", "test-classes", "repository").toString();
    System.setProperty(CarbonBaseConstants.CARBON_HOME, carbonHome);
    System.setProperty(CarbonBaseConstants.CARBON_CONFIG_DIR_PATH, Paths.get(carbonHome, "conf").toString());
    PrivilegedCarbonContext.startTenantFlow();
    PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(SUPER_TENANT_DOMAIN_NAME);
    PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(SUPER_TENANT_ID);
    PrivilegedCarbonContext.getThreadLocalCarbonContext();
    // Configure RealmService.
    PrivilegedCarbonContext.startTenantFlow();
    PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(SUPER_TENANT_ID);
    PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantDomain(SUPER_TENANT_DOMAIN_NAME);
    InMemoryRealmService testSessionRealmService = new InMemoryRealmService(SUPER_TENANT_ID);
    UserStoreManager userStoreManager = testSessionRealmService.getTenantUserRealm(SUPER_TENANT_ID).getUserStoreManager();
    ((MockUserStoreManager) userStoreManager).addSecondaryUserStoreManager("PRIMARY", (MockUserStoreManager) userStoreManager);
    IdentityTenantUtil.setRealmService(testSessionRealmService);
    RegistryDataHolder.getInstance().setRealmService(testSessionRealmService);
    OSGiDataHolder.getInstance().setUserRealmService(testSessionRealmService);
    IdentityCoreServiceDataHolder.getInstance().setRealmService(testSessionRealmService);
    ApplicationManagementServiceComponentHolder holder = ApplicationManagementServiceComponentHolder.getInstance();
    setInstanceValue(testSessionRealmService, RealmService.class, ApplicationManagementServiceComponentHolder.class, holder);
    // Configure Registry Service.
    RegistryService mockRegistryService = mock(RegistryService.class);
    UserRegistry mockRegistry = mock(UserRegistry.class);
    when(mockRegistryService.getGovernanceUserRegistry(anyString(), anyInt())).thenReturn(mockRegistry);
    OSGiDataHolder.getInstance().setRegistryService(mockRegistryService);
    CarbonCoreDataHolder.getInstance().setRegistryService(mockRegistryService);
    PrivilegedCarbonContext.getThreadLocalCarbonContext().setRegistry(RegistryType.USER_GOVERNANCE, mockRegistryService.getRegistry());
    when(mockRegistry.resourceExists(anyString())).thenReturn(FALSE);
    Collection mockPermissionNode = mock(Collection.class);
    when(mockRegistry.newCollection()).thenReturn(mockPermissionNode);
    when(mockRegistry.get(anyString())).thenReturn(mockPermissionNode);
}
Also used : MockUserStoreManager(org.wso2.carbon.identity.common.testng.realm.MockUserStoreManager) ApplicationManagementServiceComponentHolder(org.wso2.carbon.identity.application.mgt.internal.ApplicationManagementServiceComponentHolder) UserRegistry(org.wso2.carbon.registry.core.session.UserRegistry) Collection(org.wso2.carbon.registry.core.Collection) Matchers.anyString(org.mockito.Matchers.anyString) MockUserStoreManager(org.wso2.carbon.identity.common.testng.realm.MockUserStoreManager) UserStoreManager(org.wso2.carbon.user.api.UserStoreManager) RegistryService(org.wso2.carbon.registry.core.service.RegistryService) InMemoryRealmService(org.wso2.carbon.identity.common.testng.realm.InMemoryRealmService)

Aggregations

InMemoryRealmService (org.wso2.carbon.identity.common.testng.realm.InMemoryRealmService)2 MockUserStoreManager (org.wso2.carbon.identity.common.testng.realm.MockUserStoreManager)2 UserStoreManager (org.wso2.carbon.user.api.UserStoreManager)2 Matchers.anyString (org.mockito.Matchers.anyString)1 ITestClass (org.testng.ITestClass)1 ApplicationManagementServiceComponentHolder (org.wso2.carbon.identity.application.mgt.internal.ApplicationManagementServiceComponentHolder)1 InMemoryTenantManager (org.wso2.carbon.identity.common.testng.realm.InMemoryTenantManager)1 Collection (org.wso2.carbon.registry.core.Collection)1 RegistryService (org.wso2.carbon.registry.core.service.RegistryService)1 UserRegistry (org.wso2.carbon.registry.core.session.UserRegistry)1 TenantManager (org.wso2.carbon.user.api.TenantManager)1