Package org.fusesource.restygwt.client.cache

Source Code of org.fusesource.restygwt.client.cache.VolatileQueueableCacheStorageTestGwt$ResponseMock

/**
* Copyright (C) 2009-2012 the original author or authors.
* See the notice.md file distributed with this work for additional
* information regarding copyright ownership.
*
* 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.fusesource.restygwt.client.cache;

import org.fusesource.restygwt.client.cache.CacheKey;
import org.fusesource.restygwt.client.cache.VolatileQueueableCacheStorage;
import org.fusesource.restygwt.client.cache.SimpleCacheKey;

import com.google.gwt.http.client.Header;
import com.google.gwt.http.client.Response;
import com.google.gwt.junit.client.GWTTestCase;
import com.google.gwt.user.client.Timer;


public class VolatileQueueableCacheStorageTestGwt extends GWTTestCase {

    static class ResponseMock extends Response {

        @Override
        public String getHeader(String header) {
            return null;
        }

        @Override
        public Header[] getHeaders() {
            return null;
        }

        @Override
        public String getHeadersAsString() {
            return null;
        }

        @Override
        public int getStatusCode() {
            return 0;
        }

        @Override
        public String getStatusText() {
            return null;
        }

        @Override
        public String getText() {
            return null;
        }
       
    }
    @Override
    public String getModuleName() {
        return "org.fusesource.restygwt.VolatileQueueableCacheStorageTestGwt";
    }
   
    public void testTimeout() throws Exception{
        final VolatileQueueableCacheStorage storage = new VolatileQueueableCacheStorage(100);
        final CacheKey key = new SimpleCacheKey("first");
        Response resp = new ResponseMock();

        storage.putResult(key, resp);
        // hashCode should be good enough
        assertEquals(resp.hashCode(), storage.getResultOrReturnNull(key).hashCode());
        Timer timer = new Timer() {

            @Override
            public void run() {
                assertNull(storage.getResultOrReturnNull(key));  
                finishTest();
            }
           
        };
        timer.schedule(200);
        delayTestFinish(250);
    }

    public void testPurge() throws Exception{
        final VolatileQueueableCacheStorage storage = new VolatileQueueableCacheStorage();
        final CacheKey key = new SimpleCacheKey("first");
        Response resp = new ResponseMock();
         
        storage.putResult(key, resp);
        // hashCode should be good enough
        assertEquals(resp.hashCode(), storage.getResultOrReturnNull(key).hashCode());
        storage.purge();
        assertNull(storage.getResultOrReturnNull(key));
    }
}
TOP

Related Classes of org.fusesource.restygwt.client.cache.VolatileQueueableCacheStorageTestGwt$ResponseMock

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.