Search in sources :

Example 86 with 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;
}
Also used : FileSystem(com.nytimes.android.external.fs3.filesystem.FileSystem) File(java.io.File) BufferedSource(okio.BufferedSource)

Example 87 with BufferedSource

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);
    Single<BufferedSource> value = Single.just(source);
    when(fetcher.fetch(barCode)).thenReturn(value);
    when(fileReader.read(barCode)).thenReturn(Maybe.<BufferedSource>empty()).thenReturn(value.toMaybe());
    when(fileWriter.write(barCode, source)).thenReturn(Single.just(true));
    Foo result = simpleStore.get(barCode).blockingGet();
    assertThat(result.bar).isEqualTo(KEY);
    result = simpleStore.get(barCode).blockingGet();
    assertThat(result.bar).isEqualTo(KEY);
    verify(fetcher, times(1)).fetch(barCode);
}
Also used : GsonSourceParser(com.nytimes.android.external.store3.middleware.GsonSourceParser) BarCode(com.nytimes.android.external.store3.base.impl.BarCode) Gson(com.google.gson.Gson) BufferedSource(okio.BufferedSource) Test(org.junit.Test)

Example 88 with BufferedSource

use of okio.BufferedSource in project Store by NYTimes.

the class JacksonSourceParserStoreTest method setUp.

@Before
public void setUp() throws Exception {
    MockitoAnnotations.initMocks(this);
    BufferedSource bufferedSource = source(sourceString);
    assertNotNull(bufferedSource);
    when(fetcher.fetch(barCode)).thenReturn(Single.just(bufferedSource));
    when(persister.read(barCode)).thenReturn(Maybe.<BufferedSource>empty()).thenReturn(Maybe.just(bufferedSource));
    when(persister.write(barCode, bufferedSource)).thenReturn(Single.just(true));
}
Also used : BufferedSource(okio.BufferedSource) Before(org.junit.Before)

Example 89 with BufferedSource

use of okio.BufferedSource in project Store by NYTimes.

the class JacksonSourceParserStoreTest method testCustomJsonFactorySourceParser.

@Test
public void testCustomJsonFactorySourceParser() {
    JsonFactory jsonFactory = new JsonFactory();
    Parser<BufferedSource, Foo> parser = JacksonParserFactory.createSourceParser(jsonFactory, Foo.class);
    Store<Foo, BarCode> store = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(persister).fetcher(fetcher).parser(parser).open();
    Foo result = store.get(barCode).blockingGet();
    validateFoo(result);
    verify(fetcher, times(1)).fetch(barCode);
}
Also used : Foo(com.nytimes.android.external.store3.middleware.jackson.data.Foo) BarCode(com.nytimes.android.external.store3.base.impl.BarCode) JsonFactory(com.fasterxml.jackson.core.JsonFactory) BufferedSource(okio.BufferedSource) Test(org.junit.Test)

Example 90 with BufferedSource

use of okio.BufferedSource in project Store by NYTimes.

the class JacksonSourceParserStoreTest method testDefaultJacksonSourceParser.

@Test
public void testDefaultJacksonSourceParser() {
    Parser<BufferedSource, Foo> parser = JacksonParserFactory.createSourceParser(Foo.class);
    Store<Foo, BarCode> store = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(persister).fetcher(fetcher).parser(parser).open();
    Foo result = store.get(barCode).blockingGet();
    validateFoo(result);
    verify(fetcher, times(1)).fetch(barCode);
}
Also used : Foo(com.nytimes.android.external.store3.middleware.jackson.data.Foo) BarCode(com.nytimes.android.external.store3.base.impl.BarCode) BufferedSource(okio.BufferedSource) Test(org.junit.Test)

Aggregations

BufferedSource (okio.BufferedSource)97 Test (org.junit.Test)51 IOException (java.io.IOException)23 Buffer (okio.Buffer)23 Request (okhttp3.Request)10 Response (okhttp3.Response)10 Gson (com.google.gson.Gson)8 EOFException (java.io.EOFException)8 ResponseBody (okhttp3.ResponseBody)8 BarCode (com.nytimes.android.external.store.base.impl.BarCode)7 BarCode (com.nytimes.android.external.store3.base.impl.BarCode)7 Charset (java.nio.charset.Charset)7 MediaType (okhttp3.MediaType)7 MockResponse (okhttp3.mockwebserver.MockResponse)7 File (java.io.File)6 InputStream (java.io.InputStream)6 Headers (okhttp3.Headers)6 RequestBody (okhttp3.RequestBody)6 BufferedSink (okio.BufferedSink)6 List (java.util.List)4