13713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick// Copyright 2011 Google Inc. All Rights Reserved. 23713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 33713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpackage com.android.volley.utils; 43713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 53713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.Cache; 63713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 73713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport java.util.Random; 83713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 93713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpublic class CacheTestUtils { 103713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 113713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick /** 123713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Makes a random cache entry. 133713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * @param data Data to use, or null to use random data 143713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * @param isExpired Whether the TTLs should be set such that this entry is expired 153713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * @param needsRefresh Whether the TTLs should be set such that this entry needs refresh 163713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick */ 173713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public static Cache.Entry makeRandomCacheEntry( 183713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick byte[] data, boolean isExpired, boolean needsRefresh) { 193713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick Random random = new Random(); 203713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick Cache.Entry entry = new Cache.Entry(); 213713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick if (data != null) { 223713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick entry.data = data; 233713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } else { 243713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick entry.data = new byte[random.nextInt(1024)]; 253713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 263713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick entry.etag = String.valueOf(random.nextLong()); 273713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick entry.serverDate = random.nextLong(); 283713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick entry.ttl = isExpired ? 0 : Long.MAX_VALUE; 293713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick entry.softTtl = needsRefresh ? 0 : Long.MAX_VALUE; 303713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return entry; 313713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 323713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 333713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick /** 343713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Like {@link #makeRandomCacheEntry(byte[], boolean, boolean)} but 353713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * defaults to an unexpired entry. 363713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick */ 373713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public static Cache.Entry makeRandomCacheEntry(byte[] data) { 383713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return makeRandomCacheEntry(data, false, false); 393713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 403713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick} 41