Package net.sourceforge.squirrel_sql.client.update

Source Code of net.sourceforge.squirrel_sql.client.update.UpdateXmlSerializerTest

/*
* Copyright (C) 2007 Rob Manning
* manningr@users.sourceforge.net
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
package net.sourceforge.squirrel_sql.client.update;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

import net.sourceforge.squirrel_sql.BaseSQuirreLJUnit4TestCase;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.ArtifactXmlBean;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.ChannelXmlBean;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.ModuleXmlBean;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.ReleaseXmlBean;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.UpdateXmlSerializer;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.UpdateXmlSerializerImpl;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class UpdateXmlSerializerTest extends BaseSQuirreLJUnit4TestCase {

    UpdateXmlSerializer serializerUnderTest = null;
    ArtifactXmlBean squirrel_jar = null;
    ArtifactXmlBean fw_jar = null;
    ChannelXmlBean channelBean = null;
    ReleaseXmlBean releaseBean = null;
   
    @Before
    public void setUp() throws Exception {
        serializerUnderTest = new UpdateXmlSerializerImpl();
        setupXmlBeans();
    }

    @After
    public void tearDown() throws Exception {
        serializerUnderTest = null;
        squirrel_jar = null;
        fw_jar = null;
    }
   
    @Test
    public void testWriteAndReadSuccessfully() throws Exception  {
        File f = File.createTempFile("Test-ReleaseXmlSerializerTest", ".xml");
        String filename = f.getAbsolutePath();
        assertTrue(f.canRead());
        assertTrue(f.canWrite());
        //System.out.println("Persisting to file : "+filename);
        serializerUnderTest.write(channelBean, filename);
        ChannelXmlBean newBean = serializerUnderTest.readChannelBean(filename);
        assertEquals(channelBean, newBean);
       
        assertEquals(1, newBean.getCurrentRelease().getModules().size());
        assertEquals(2, newBean.getCurrentRelease().getModules().iterator().next().getArtifacts().size());
       
        //printFile(filename);
        if (!f.delete()) {
            System.err.println("Failed to delete file");
        }
    }

    /* Helper methods */
   
    private void printFile(String filename) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader(filename));
            String line = null;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
   
    /**
     * This will produce the objects that create a Release XML document.
     */
    private void setupXmlBeans() {
        String channel = "snashot";
        String release = "Snapshot-20070922_1258";
       
        releaseBean = new ReleaseXmlBean("snapshot", release);
       
        releaseBean.addmodule(getCoreModule(release));
       
        channelBean = new ChannelXmlBean();
        channelBean.setName(channel);
        channelBean.setCurrentRelease(releaseBean);
    }
   
    private ModuleXmlBean getCoreModule(String release) {
        squirrel_jar = new ArtifactXmlBean("squirrel-sql.jar", "jar",
                release, 3048902, 322169161);
        fw_jar = new ArtifactXmlBean("fw.jar", "jar", release,
                1707852, 2069219788);
        ModuleXmlBean core = new ModuleXmlBean();
        core.addArtifact(squirrel_jar);
        core.addArtifact(fw_jar);    
        return core;
    }
}
TOP

Related Classes of net.sourceforge.squirrel_sql.client.update.UpdateXmlSerializerTest

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.