use of okio.BufferedSource in project Store by NYTimes.
the class SourceDiskDaoStoreTest method testSimple.
@Test
public void testSimple() {
MockitoAnnotations.initMocks(this);
GsonSourceParser<Foo> parser = new GsonSourceParser<>(new Gson(), Foo.class);
Store<Foo, BarCode> store = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(diskDAO).fetcher(fetcher).parser(parser).open();
Foo foo = new Foo();
foo.bar = barCode.getKey();
String sourceData = new Gson().toJson(foo);
BufferedSource source = source(sourceData);
Observable<BufferedSource> value = Observable.just(source);
when(fetcher.fetch(barCode)).thenReturn(value);
when(diskDAO.read(barCode)).thenReturn(Observable.<BufferedSource>empty()).thenReturn(value);
when(diskDAO.write(barCode, source)).thenReturn(Observable.just(true));
Foo result = store.get(barCode).toBlocking().first();
assertThat(result.bar).isEqualTo(KEY);
result = store.get(barCode).toBlocking().first();
assertThat(result.bar).isEqualTo(KEY);
verify(fetcher, times(1)).fetch(barCode);
}
use of okio.BufferedSource in project Store by NYTimes.
the class SourceFilerReaderWriterStoreTest method testSimple.
@Test
public void testSimple() {
MockitoAnnotations.initMocks(this);
GsonSourceParser<Foo> parser = new GsonSourceParser<>(new Gson(), Foo.class);
Store<Foo, BarCode> simpleStore = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(fileReader, fileWriter).fetcher(fetcher).parser(parser).open();
Foo foo = new Foo();
foo.bar = barCode.getKey();
String sourceData = new Gson().toJson(foo);
BufferedSource source = source(sourceData);
Observable<BufferedSource> value = Observable.just(source);
when(fetcher.fetch(barCode)).thenReturn(value);
when(fileReader.read(barCode)).thenReturn(Observable.<BufferedSource>empty()).thenReturn(value);
when(fileWriter.write(barCode, source)).thenReturn(Observable.just(true));
Foo result = simpleStore.get(barCode).toBlocking().first();
assertThat(result.bar).isEqualTo(KEY);
result = simpleStore.get(barCode).toBlocking().first();
assertThat(result.bar).isEqualTo(KEY);
verify(fetcher, times(1)).fetch(barCode);
}
use of okio.BufferedSource in project Store by NYTimes.
the class FilePersisterTest method readExists.
@Test
public void readExists() throws FileNotFoundException {
when(fileSystem.exists(resolvedPath)).thenReturn(true);
when(fileSystem.read(resolvedPath)).thenReturn(bufferedSource);
BufferedSource returnedValue = fileSystemPersister.read(simple).toBlocking().single();
assertThat(returnedValue).isEqualTo(bufferedSource);
}
use of okio.BufferedSource in project Store by NYTimes.
the class MultiTest method createAndPopulateTestFileSystem.
private FileSystem createAndPopulateTestFileSystem() throws IOException {
File baseDir = createTempDir();
FileSystem fileSystem = FileSystemFactory.create(baseDir);
for (String path : fileData.keySet()) {
for (String data : fileData.get(path)) {
BufferedSource source = source(data);
fileSystem.write(path, source);
source.close();
}
}
assertThat(fileSystem.list("/").size()).isEqualTo(fileData.size());
return fileSystem;
}
use of okio.BufferedSource in project Store by NYTimes.
the class RecordPersisterTest method readExists.
@Test
public void readExists() throws FileNotFoundException {
when(fileSystem.exists(simple.toString())).thenReturn(true);
when(fileSystem.read(simple.toString())).thenReturn(bufferedSource);
BufferedSource returnedValue = sourcePersister.read(simple).toBlocking().single();
assertThat(returnedValue).isEqualTo(bufferedSource);
}
Aggregations