Package org.wso2.carbon.registry.social.impl.test.people.userprofile

Source Code of org.wso2.carbon.registry.social.impl.test.people.userprofile.PersonManagerImplTest

/*
*  Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
*  WSO2 Inc. licenses this file to you under the Apache License,
*  Version 2.0 (the "License"); you may not use this file except
*  in compliance with the License.
*  You may obtain a copy of the License at
*
*    http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.wso2.carbon.registry.social.impl.test.people.userprofile;

import org.apache.commons.dbcp.BasicDataSource;
import org.wso2.carbon.registry.social.api.people.userprofile.Person;
import org.wso2.carbon.registry.social.api.people.userprofile.model.ListField;
import org.wso2.carbon.registry.social.api.people.userprofile.model.Name;
import org.wso2.carbon.registry.social.impl.people.userprofile.PersonManagerImpl;
import org.wso2.carbon.registry.social.impl.people.userprofile.model.PersonImpl;
import org.wso2.carbon.registry.social.impl.people.userprofile.model.impl.ListFieldImpl;
import org.wso2.carbon.registry.social.impl.people.userprofile.model.impl.NameImpl;
import org.wso2.carbon.registry.social.impl.test.SocialImplTestConstants;
import org.wso2.carbon.user.core.UserRealm;
import org.wso2.carbon.user.core.common.DefaultRealm;
import org.wso2.carbon.user.api.RealmConfiguration;
import org.wso2.carbon.utils.dbcreator.DatabaseCreator;

import java.io.File;
import java.io.InputStream;
import java.rmi.registry.Registry;
import java.util.ArrayList;
import java.util.List;

public class PersonManagerImplTest extends BaseTestCase {

    private BasicDataSource ds;
    private PersonManagerImpl personManager;
    public static final String JDBC_TEST_USERMGT_XML = "user-mgt-test.xml";
    private static String TEST_URL = "jdbc:h2:target/PersonManagerImplTest/CARBON_TEST";
    private UserRealm realm = null;
    private Registry registry;

    public void setUp() throws Exception {
        super.setUp();
    }


    public void initObjStuff() throws Exception {

        String dbFolder = "target/PersonManagerTest";
        if ((new File(dbFolder)).exists()) {
            deleteDir(new File(dbFolder));
        }

        BasicDataSource ds = new BasicDataSource();
        ds.setDriverClassName(SocialImplTestConstants.DB_DRIVER);
        ds.setUrl(TEST_URL);
        DatabaseCreator creator = new DatabaseCreator(ds);
        creator.createRegistryDatabase();

        realm = new DefaultRealm();
        InputStream inStream = this.getClass().getClassLoader().getResource(
                PersonManagerImplTest.JDBC_TEST_USERMGT_XML).openStream();
        RealmConfiguration realmConfig = TestRealmConfigBuilder
                .buildRealmConfigWithJDBCConnectionUrl(inStream, TEST_URL);
        realm.init(realmConfig, ClaimTestUtil.getClaimTestData(), ClaimTestUtil
                .getProfileTestData(), 0);

    }

    public void testCreatePerson() throws Exception {
        initObjStuff();
        personManager = new PersonManagerImpl();
        personManager.setUserStoreManager(realm.getUserStoreManager());
        personManager.setClaimManager(realm.getClaimManager());
        Person person = new PersonImpl();
        person.setId("admin12");
        person.setNickname("abcd");
        person.setAboutMe("About Me");
        Name personName = new NameImpl();
        personName.setGivenName("Admin");
        personName.setFamilyName("Abcd");
        person.setName(personName);
        ListField email = new ListFieldImpl();
        email.setValue("admin@abcd.org");
        List<ListField> emails = new ArrayList<ListField>();
        emails.add(email);
        person.setEmails(emails);
        ListField telephone = new ListFieldImpl();
        telephone.setValue("99999999");
        List<ListField> teleList = new ArrayList<ListField>();
        teleList.add(telephone);
        person.setPhoneNumbers(teleList);
        personManager.savePerson("admin12", person);
        Person person2;
        person2 = personManager.getPerson("admin12", new String[]{"NAME", "EMAILS", "ABOUT_ME", "PHONE_NUMBERS"});
        assertNotNull(person2);
        assertEquals(person2.getId(), "admin12");
        assertNotNull(person2.getName());
        assertNotNull(person2.getAboutMe());
        assertEquals(person2.getAboutMe(), "About Me");
        assertNotNull(person2.getName().getGivenName());
        assertEquals(person2.getName().getGivenName(), "Admin");
        assertNotNull(person2.getEmails());
        assertNotNull(person2.getEmails().get(0));
        assertEquals(person2.getEmails().size(), 1);
        assertEquals(person2.getEmails().get(0).getValue(), "admin@abcd.org");
        assertEquals(person2.getPhoneNumbers().get(0).getValue(), "99999999");


    }

    public void testGetPerson1() throws Exception {
        initObjStuff();
        personManager = new PersonManagerImpl();
        personManager.setUserStoreManager(realm.getUserStoreManager());
        personManager.setClaimManager(realm.getClaimManager());
        Person person = new PersonImpl();
        person.setId("admin");
        person.setNickname("abcd");
        person.setAboutMe("About Me");
        Name personName = new NameImpl();
        personName.setGivenName("Admin");
        personName.setFamilyName("Abcd");
        person.setName(personName);
        ListField email = new ListFieldImpl();
        email.setValue("admin@abcd.org");
        List<ListField> emails = new ArrayList<ListField>();
        emails.add(email);
        person.setEmails(emails);
        ListField telephone = new ListFieldImpl();
        telephone.setValue("99999999");
        List<ListField> teleList = new ArrayList<ListField>();
        teleList.add(telephone);
        person.setPhoneNumbers(teleList);
        personManager.savePerson("admin", person);
        Person person2 = personManager.getPerson("admin");
        assertNotNull(person2);
        assertEquals(person2.getEmails().get(0).getValue(), "admin@abcd.org");
        assertNull(person2.getAddresses().get(0).getCountry());
    }


    public void testUpdatePerson() throws Exception {
        initObjStuff();
        personManager = new PersonManagerImpl();
        personManager.setUserStoreManager(realm.getUserStoreManager());
        personManager.setClaimManager(realm.getClaimManager());
        Person person = new PersonImpl();
        person.setId("abcd");
        person.setNickname("abcdQQ");
        person.setAboutMe("About Me");
        Name personName = new NameImpl();
        personName.setGivenName("Admin");
        personName.setFamilyName("Abcd");
        person.setName(personName);
        ListField email = new ListFieldImpl();
        email.setValue("abcd@abcd.org");
        List<ListField> emails = new ArrayList<ListField>();
        emails.add(email);
        person.setEmails(emails);
        ListField telephone = new ListFieldImpl();
        telephone.setValue("123456");
        List<ListField> teleList = new ArrayList<ListField>();
        teleList.add(telephone);
        person.setPhoneNumbers(teleList);
        personManager.savePerson("abcd", person);
        Person person2 = personManager.getPerson("abcd");
        assertNotNull(person2);
        person.setAboutMe("My name is abcd");
        personManager.updatePerson("abcd", person);
        person2 = personManager.getPerson("abcd");
        assertNotNull(person2);
        assertEquals(person2.getAboutMe(), "My name is abcd");


    }

    public void testRemovePerson() throws Exception {
        initObjStuff();
        personManager = new PersonManagerImpl();
        personManager.setUserStoreManager(realm.getUserStoreManager());
        personManager.setClaimManager(realm.getClaimManager());
        Person person = new PersonImpl();
        person.setId("wwww");
        person.setNickname("abcd");
        person.setAboutMe("About Me");
        Name personName = new NameImpl();
        personName.setGivenName("Admin");
        personName.setFamilyName("Abcd");
        person.setName(personName);
        ListField email = new ListFieldImpl();
        email.setValue("admin@abcd.org");
        List<ListField> emails = new ArrayList<ListField>();
        emails.add(email);
        person.setEmails(emails);
        ListField telephone = new ListFieldImpl();
        telephone.setValue("99999999");
        List<ListField> teleList = new ArrayList<ListField>();
        teleList.add(telephone);
        person.setPhoneNumbers(teleList);
        personManager.savePerson("wwww", person);
        Person person2;
        person2 = personManager.getPerson("wwww1", new String[]{"NAME", "EMAILS", "ABOUT_ME", "PHONE_NUMBERS"});
        assertNull(person2);
        person2 = personManager.getPerson("wwww1");
        assertNull(person2);
        person2 = personManager.getPerson("wwww");
        assertNotNull(person2);
        personManager.removePerson("wwww");
        person2 = personManager.getPerson("wwww");
        assertNull(person2);


    }

    public void testGetPeople() throws Exception {
        initObjStuff();
        personManager = new PersonManagerImpl();
        personManager.setUserStoreManager(realm.getUserStoreManager());
        personManager.setClaimManager(realm.getClaimManager());
        Person person = new PersonImpl();
        person.setId("user1");
        person.setNickname("User-1");
        person.setAboutMe("About Me");
        Name personName = new NameImpl();
        personName.setGivenName("User1");
        personName.setFamilyName("Abcd");
        person.setName(personName);
        ListField email = new ListFieldImpl();
        email.setValue("user1@abcd.org");
        List<ListField> emails = new ArrayList<ListField>();
        emails.add(email);
        person.setEmails(emails);
        ListField telephone = new ListFieldImpl();
        telephone.setValue("99999999");
        List<ListField> teleList = new ArrayList<ListField>();
        teleList.add(telephone);
        person.setPhoneNumbers(teleList);
        personManager.savePerson("user1", person);
        Person[] person2;
        person2 = personManager.getPeople(new String[]{"user1"}, "SELF", null, new String[]{"NAME", "EMAILS", "ABOUT_ME", "PHONE_NUMBERS"});
        assertNotNull(person2);
        assertEquals(person2.length, 1);
        person.setId("user2");
        person.setNickname("User-2");
        person.setAboutMe("About Me");
        personName = new NameImpl();
        personName.setGivenName("User2");
        personName.setFamilyName("Abcd");
        person.setName(personName);
        email = new ListFieldImpl();
        email.setValue("user2@abcd.org");
        emails = new ArrayList<ListField>();
        emails.add(email);
        person.setEmails(emails);
        telephone = new ListFieldImpl();
        telephone.setValue("123456");
        teleList = new ArrayList<ListField>();
        teleList.add(telephone);
        person.setPhoneNumbers(teleList);
        personManager.savePerson("user2", person);
        person2 = personManager.getPeople(new String[]{"user1"}, "ALL", null, new String[]{"NAME", "EMAILS", "ABOUT_ME", "PHONE_NUMBERS"});
        assertNotNull(person2);
        //user1, user2, admin,www,abcd -- all users added in the test
        assertEquals(person2.length, 5);
         person2 = personManager.getPeople(new String[]{"user1","user2"}, "SELF", null, new String[]{"NAME", "EMAILS", "ABOUT_ME", "PHONE_NUMBERS"});
        assertNotNull(person2);
        assertEquals(person2.length, 2);
        assertEquals(person2[0].getAboutMe(), "About Me");
        //TODO: test GroupId=FRIENDS

    }
}
TOP

Related Classes of org.wso2.carbon.registry.social.impl.test.people.userprofile.PersonManagerImplTest

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.