org.forumj.dbextreme.db.service.test.user.tests.CreateUserTest.java Source code

Java tutorial

Introduction

Here is the source code for org.forumj.dbextreme.db.service.test.user.tests.CreateUserTest.java

Source

/*
 * Copyright Andrew V. Pogrebnyak
 * 
 * Licensed 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.forumj.dbextreme.db.service.test.user.tests;

import static org.forumj.dbextreme.db.dao.FJDao.*;
import static org.junit.Assert.*;

import java.io.IOException;
import java.sql.*;

import org.apache.commons.configuration.ConfigurationException;
import org.forumj.common.db.entity.IUser;
import org.forumj.common.db.service.*;
import org.forumj.common.web.Locale;
import org.forumj.dbextreme.db.entity.User;
import org.junit.*;

/**
 * 
 * @author <a href="mailto:an.pogrebnyak@gmail.com">Andrew V. Pogrebnyak</a>
 */
public class CreateUserTest {

    private static UserService service = FJServiceHolder.getUserService();
    private static IUser testUser1 = service.getUserObject();
    private static IUser testUser2 = service.getUserObject();
    private static IUser testUser3 = service.getUserObject();
    private static String query = "SELECT * FROM users WHERE id = ?";

    @Test
    public void createUser1Test() throws ConfigurationException, SQLException, IOException {
        service.create(testUser1);
        IUser user = loadUser(testUser1.getId());
        testEqualsUsers(testUser1, user);
    }

    @Test
    public void createUser2Test() throws ConfigurationException, SQLException, IOException {
        service.create(testUser2);
        IUser user = loadUser(testUser2.getId());
        testEqualsUsers(testUser2, user);
    }

    @Test
    public void createUser3Test() throws ConfigurationException, SQLException, IOException {
        service.create(testUser3);
        IUser user = loadUser(testUser3.getId());
        testEqualsUsers(testUser3, user);
    }

    @BeforeClass
    public static void prepare() throws SQLException, ConfigurationException {
        prepareUser1();
        prepareUser2();
        prepareUser3();
    }

    private static void prepareUser1() {
        testUser1.setNick("nick1");
        testUser1.setPass("pass1");
        testUser1.setEmail("mail");
        testUser1.setName("name");
        testUser1.setFam("fam");
        testUser1.setSex("M");
        testUser1.setBith(new Date(new java.util.Date().getTime()));
        testUser1.setPass2("pass2");
        testUser1.setShowMail(true);
        testUser1.setShowName(true);
        testUser1.setCity("city");
        testUser1.setShowCity(true);
        testUser1.setCountry("country");
        testUser1.setShowCountry(true);
        testUser1.setShowSex(true);
        testUser1.setIcq("icq");
        testUser1.setShowIcq(true);
        testUser1.setShowBithday(true);
        testUser1.setLanguge(Locale.UA);
        testUser1.setHideIp(true);
        testUser1.setView(5);
        testUser1.setPp(66);
        testUser1.setPt(77);
        testUser1.setAvatar("avatar");
        testUser1.setShowAvatar(true);
        testUser1.setAvatarApproved(true);
        testUser1.setWantSeeAvatars(true);
        testUser1.setTimeZone(7);
        testUser1.setFooter("footer");
        testUser1.setBan(1);
        testUser1.setActivateCode(45567678);
        testUser1.setIsActive(true);
    }

    private static void prepareUser2() {
        testUser2.setNick("nick2");
        testUser2.setPass("pass11112");
        testUser2.setEmail("mail2");
        testUser2.setName("name");
        testUser2.setFam("fam");
        testUser2.setSex("M");
        testUser2.setBith(new Date(new java.util.Date().getTime()));
        testUser2.setPass2("pass2");
        testUser2.setShowMail(false);
        testUser2.setShowName(false);
        testUser2.setCity("city");
        testUser2.setShowCity(false);
        testUser2.setCountry("country");
        testUser2.setShowCountry(false);
        testUser2.setShowSex(false);
        testUser2.setIcq("icq");
        testUser2.setShowIcq(false);
        testUser2.setShowBithday(false);
        testUser2.setLanguge(Locale.RU);
        testUser2.setHideIp(false);
        testUser2.setView(6);
        testUser2.setPp(66);
        testUser2.setPt(77);
        testUser2.setAvatar("avatar");
        testUser2.setShowAvatar(false);
        testUser2.setAvatarApproved(false);
        testUser2.setWantSeeAvatars(false);
        testUser2.setTimeZone(7);
        testUser2.setFooter("footer");
        testUser2.setBan(0);
        testUser2.setActivateCode(45567678);
        testUser2.setIsActive(false);
    }

    private static void prepareUser3() {
        testUser3.setNick("nick");
        testUser3.setPass("pass1");
        testUser3.setEmail("mail");
        testUser3.setName("name");
        testUser3.setFam("fam");
        testUser3.setSex("M");
        testUser3.setBith(new Date(new java.util.Date().getTime()));
        testUser3.setPass2("pass2");
        testUser3.setShowMail(true);
        testUser3.setShowName(true);
        testUser3.setCity("city");
        testUser3.setShowCity(true);
        testUser3.setCountry("country");
        testUser3.setShowCountry(true);
        testUser3.setShowSex(true);
        testUser3.setIcq("icq");
        testUser3.setShowIcq(true);
        testUser3.setShowBithday(true);
        testUser3.setLanguge(Locale.UA);
        testUser3.setHideIp(true);
        testUser3.setView(7);
        testUser3.setPp(66);
        testUser3.setPt(77);
        testUser3.setAvatar("avatar");
        testUser3.setShowAvatar(true);
        testUser3.setAvatarApproved(true);
        testUser3.setWantSeeAvatars(true);
        testUser3.setTimeZone(7);
        testUser3.setFooter("footer");
        testUser3.setBan(1);
        testUser3.setActivateCode(45567678);
        testUser3.setIsActive(true);
    }

    private IUser loadUser(Long userId) throws SQLException, ConfigurationException {
        IUser result = null;
        Connection conn = null;
        PreparedStatement st = null;
        try {
            conn = getConnection();
            st = conn.prepareStatement(query);
            st.setLong(1, userId);
            ResultSet rs = st.executeQuery();
            if (rs.next()) {
                result = new User();
                result.setId(rs.getLong("id"));
                result.setNick(rs.getString("nick"));
                result.setPass(rs.getString("pass"));
                result.setPass2(rs.getString("pass2"));
                result.setPp(rs.getInt("pp_def"));
                result.setPt(rs.getInt("pt_def"));
                result.setView(rs.getInt("view_def"));
                result.setTimeZone(rs.getInt("fd_timezone"));
                result.setWantSeeAvatars(rs.getInt("v_avatars") > 0);
                result.setBan(rs.getInt("ban"));
                result.setAvatar(rs.getString("avatar"));
                result.setAvatarApproved(rs.getInt("ok_avatar") > 0);
                result.setShowAvatar(rs.getInt("s_avatar") > 0);
                result.setName(rs.getString("name"));
                result.setFam(rs.getString("fam"));
                result.setSex(rs.getString("sex"));
                result.setBith(rs.getDate("bith"));
                result.setReg(rs.getTimestamp("reg"));
                result.setShowMail(rs.getBoolean("smail"));
                result.setShowName(rs.getBoolean("sname"));
                result.setCity(rs.getString("city"));
                result.setShowCity(rs.getBoolean("scity"));
                result.setCountry(rs.getString("country"));
                result.setShowCountry(rs.getBoolean("scountry"));
                result.setShowSex(rs.getBoolean("ssex"));
                result.setShowBithday(rs.getBoolean("sbith"));
                result.setIcq(rs.getString("icq"));
                result.setShowIcq(rs.getBoolean("sicq"));
                result.setHideIp(rs.getBoolean("h_ip"));
                result.setLanguge(Locale.valueOfInteger(rs.getInt("lang")));
                result.setFooter(rs.getString("footer"));
                result.setActivateCode(rs.getInt("activate_code"));
                result.setIsActive(rs.getInt("is_active") > 0);
                result.setEmail(rs.getString("mail"));
            }
        } finally {
            try {
                if (conn != null) {
                    conn.close();
                }
                if (st != null) {
                    st.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return result;
    }

    private void testEqualsUsers(IUser expected, IUser user) {
        //TODO FixMe!
        user.setReg(null);
        //TODO FixMe!
        user.setBith(expected.getBith());
        assertEquals(expected, user);
    }
}