Package org.apache.lucene.gdata.storage.lucenestorage.recover

Source Code of org.apache.lucene.gdata.storage.lucenestorage.recover.TestRevocerReader

/**
* 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.storage.lucenestorage.recover;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import junit.framework.TestCase;

import org.apache.lucene.gdata.server.registry.GDataServerRegistry;
import org.apache.lucene.gdata.storage.lucenestorage.StorageEntryWrapper;
import org.apache.lucene.gdata.storage.lucenestorage.StorageEntryWrapper.StorageOperation;
import org.apache.lucene.gdata.utils.ProvidedServiceStub;

import com.google.gdata.data.DateTime;

public class TestRevocerReader extends TestCase {
    private RecoverReader recReader;
    private static final String feedId = "myFeed";
    private static final String entryId = "myID";
    private static final Long timestamp = System.currentTimeMillis();
    private String title = "myTitle";
    private static final DateTime dateTime = DateTime.now();
    private String delete = "D;"+feedId+";"+entryId+";"+timestamp+";\n###########\n";
    private String insert = "I;"+feedId+";"+entryId+";"+timestamp+";" +ProvidedServiceStub.SERVICE_NAME+";"+RecoverWriter.META_DATA_ENTRY_SEPARATOR+
    "<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'><atom:id>"+entryId+"</atom:id><atom:updated>"+dateTime.toString()+"</atom:updated><atom:title type='text'>" + this.title+
    "</atom:title></atom:entry>"+RecoverWriter.META_DATA_ENTRY_SEPARATOR+RecoverWriter.STORAGE_OPERATION_SEPARATOR+RecoverWriter.META_DATA_ENTRY_SEPARATOR;
    protected void setUp() throws Exception {
        this.recReader = new RecoverReader();
        GDataServerRegistry.getRegistry().registerService(new ProvidedServiceStub());
       
    }

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

    /*
     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.recover.RecoverReader.getNonDeleteEntries(Reader)'
     */
    public void testRecoverDeletedEntries() throws IOException {
        StringReader reader = new StringReader(this.delete);
        assertNotNull(this.recReader.recoverEntries(new BufferedReader(reader)));
        reader = new StringReader(this.delete);
        List<StorageEntryWrapper> recList = this.recReader.recoverEntries(new BufferedReader(reader));
        assertEquals(1,recList.size());
        StorageEntryWrapper delWrapper = recList.get(0);
        assertEquals(StorageOperation.DELETE,delWrapper.getOperation());
        assertEquals(feedId,delWrapper.getFeedId());
        assertEquals(entryId,delWrapper.getEntryId());
       
    }
    public void testRecoverInsertedEntries() throws IOException {
       
        StringReader reader = new StringReader(this.insert);
        List<StorageEntryWrapper> recList = this.recReader.recoverEntries(new BufferedReader(reader));
        assertEquals(1,recList.size());
        StorageEntryWrapper insWrapper = recList.get(0);
        assertEquals(StorageOperation.INSERT,insWrapper.getOperation());
        assertEquals(feedId,insWrapper.getFeedId());
        assertEquals(entryId,insWrapper.getEntryId());
        assertEquals(dateTime,insWrapper.getEntry().getUpdated());
        assertEquals(this.title,insWrapper.getEntry().getTitle().getPlainText());
       
       
    }
   
    public void testRecoverReader()throws IOException{
        StringReader reader = new StringReader(this.insert+this.delete);
        List<StorageEntryWrapper> recList = this.recReader.recoverEntries(new BufferedReader(reader));
        assertEquals(2,recList.size());
        assertEquals(StorageOperation.INSERT,recList.get(0).getOperation());
        assertEquals(StorageOperation.DELETE,recList.get(1).getOperation());
       
        reader = new StringReader("some corrupted\n###########\n"+this.insert);
        recList = this.recReader.recoverEntries(new BufferedReader(reader));
        assertEquals(1,recList.size());
        assertEquals(StorageOperation.INSERT,recList.get(0).getOperation());
       
    }
}
TOP

Related Classes of org.apache.lucene.gdata.storage.lucenestorage.recover.TestRevocerReader

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.