FileDocCategorySizeDatePackage
TestAccountBuilder.javaAPI DocApache Lucene 2.1.03397Wed Feb 14 10:46:02 GMT 2007org.apache.lucene.gdata.server.administration

TestAccountBuilder.java

/** 
 * Copyright 2004 The Apache Software Foundation 
 * 
 * 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.apache.lucene.gdata.server.administration;

import java.io.IOException;
import java.io.StringReader;
import java.net.URL;

import junit.framework.TestCase;

import org.apache.lucene.gdata.data.GDataAccount;
import org.apache.lucene.gdata.data.GDataAccount.AccountRole;
import org.xml.sax.SAXException;

public class TestAccountBuilder extends TestCase {
    private StringReader reader;
    private String inputXML;
    private StringReader invalidReader;
    private String invalidInputXML;
    protected void setUp() throws Exception {
        this.inputXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                "<account>" +
                "<account-name>simon</account-name>" +
                "<password>simon</password>" +
                "<account-role>6</account-role>" +
                "<account-owner>" +
                "<name>simon willnauer</name>" +
                "<email-address>simon@gmail.com</email-address>" +
                "<url>http://www.javawithchopsticks.de</url>" +
                "</account-owner>" +
                "</account>";

        this.reader = new StringReader(this.inputXML);
        this.invalidInputXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
        "<account>" +
        "<account-name>simon</account-name>" +
        "<account-role>6</account-role>" +
        "<account-owner>" +
        "<name>simon willnauer</name>" +
        "<email-address>simon@gmail.com</email-address>" +
        "<url>http://www.javawithchopsticks.de</url>" +
        "</account-owner>" +
        "</account>";

        this.invalidReader = new StringReader(this.invalidInputXML);
        
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    /*
     * Test method for 'org.apache.lucene.gdata.server.administration.AdminEntityBuilder.buildUser(Reader)'
     */
    public void testBuildUser() throws IOException, SAXException {
        
        GDataAccount user = AccountBuilder.buildAccount(this.reader);
        assertEquals("simon",user.getName());
        assertEquals("simon willnauer",user.getAuthorname());
        assertEquals("simon@gmail.com",user.getAuthorMail());
        assertEquals("simon",user.getPassword());
        assertEquals(new URL("http://www.javawithchopsticks.de"),user.getAuthorLink());
        assertTrue(user.isUserInRole(AccountRole.ENTRYAMINISTRATOR));
        assertTrue(user.isUserInRole(AccountRole.FEEDAMINISTRATOR));
        assertFalse(user.isUserInRole(AccountRole.USERADMINISTRATOR));
        
    }
    
    public void testBuildUserWrongXML() throws IOException{
        try{
        AccountBuilder.buildAccount(this.invalidReader);
        fail("invalid xml");
        }catch (SAXException e) {
            
        }
    }

}