Package org.exist.security

Source Code of org.exist.security.AccountTest

package org.exist.security;

import java.lang.reflect.Method;
import org.easymock.classextension.ConstructorArgs;
import org.easymock.classextension.EasyMock;
import org.exist.security.internal.AccountImpl;
import static org.easymock.classextension.EasyMock.expect;
import static org.easymock.classextension.EasyMock.replay;
import static org.easymock.classextension.EasyMock.verify;
import org.exist.Database;
import org.exist.config.Configuration;
import org.exist.security.internal.SecurityManagerImpl;
import org.junit.Ignore;
import org.junit.Test;

/**
*
* @author aretter
*/
public class AccountTest {

    @Ignore
    @Test
    public void testGroupFallback() throws NoSuchMethodException, PermissionDeniedException {

//        final String mockRealmId = "mock";
        final String testAccountName = "testUser";
        final String testGroupName = "testGroup";

        Database mockDatabase = EasyMock.createMock(Database.class);

        SecurityManagerImpl mockSecurityManager = EasyMock.createMock(SecurityManagerImpl.class,
                new ConstructorArgs(
                    SecurityManagerImpl.class.getConstructor(Database.class),
                    new Object[] {
                        mockDatabase
                    }
                )
        );

        Configuration mockConfiguration = EasyMock.createMock(Configuration.class);

        AbstractRealm mockRealm = EasyMock.createMock(AbstractRealm.class,
                new ConstructorArgs(
                    AbstractRealm.class.getDeclaredConstructor(SecurityManager.class, Configuration.class),
                    new Object[] {
                        mockSecurityManager,
                        mockConfiguration
                    }
                )
        );

        AccountImpl mockAccountImpl = EasyMock.createMock(AccountImpl.class,
            new ConstructorArgs(
                AccountImpl.class.getDeclaredConstructor(AbstractRealm.class, String.class),
                new Object[] {
                    mockRealm,
                    testAccountName
                }
            ),
            new Method[]{
                AccountImpl.class.getMethod("getRealm"),
                AccountImpl.class.getMethod("addGroup", Group.class)
            }
        );

       
        expect(mockAccountImpl.getRealm()).andReturn(mockRealm);
        expect(mockRealm.getGroup(testGroupName)).andReturn(null);
        //expect(mockAccountImpl.getRealm()).andReturn(mockRealm);
        //expect(mockRealm.getSecurityManager()).andReturn(mockSecurityManager);

        replay();

        mockAccountImpl.addGroup(testGroupName);

        verify();
    }
}
TOP

Related Classes of org.exist.security.AccountTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.