Example usage for org.springframework.data.gemfire.snapshot SnapshotServiceFactoryBean setCache

List of usage examples for org.springframework.data.gemfire.snapshot SnapshotServiceFactoryBean setCache

Introduction

In this page you can find the example usage for org.springframework.data.gemfire.snapshot SnapshotServiceFactoryBean setCache.

Prototype

public void setCache(Cache cache) 

Source Link

Document

Sets a reference to the Pivotal GemFire Cache for which the snapshot will be taken.

Usage

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void setAndGetCacheSuccessfully() {
    Cache mockCache = mock(Cache.class, "MockCache");
    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);

    assertThat(factoryBean.getCache(), is(sameInstance(mockCache)));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void createCacheSnapshotService() {
    Cache mockCache = mock(Cache.class, "MockCache");
    CacheSnapshotService mockCacheSnapshotService = mock(CacheSnapshotService.class,
            "MockCacheSnapshotService");

    when(mockCache.getSnapshotService()).thenReturn(mockCacheSnapshotService);

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);

    SnapshotServiceAdapter adapter = factoryBean.create();

    assertThat(adapter, is(instanceOf(CacheSnapshotServiceAdapter.class)));

    verify(mockCache, times(1)).getSnapshotService();
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void importCacheSnapshotOnInitialization() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    CacheSnapshotService mockCacheSnapshotService = mock(CacheSnapshotService.class,
            "MockCacheSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService()).thenReturn(mockCacheSnapshotService);
    when(mockCacheSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    SnapshotMetadata[] expectedImports = toArray(
            newSnapshotMetadata(FileSystemUtils.USER_HOME, mockSnapshotFilterOne),
            newSnapshotMetadata(mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);
    factoryBean.setImports(expectedImports);
    factoryBean.setRegion(null);// ww  w. j a va  2  s.c  om

    assertThat(factoryBean.getObject(), is(nullValue()));
    assertThat((Class<SnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(SnapshotServiceAdapter.class)));

    factoryBean.afterPropertiesSet();

    assertThat(factoryBean.getObject(), is(instanceOf(CacheSnapshotServiceAdapter.class)));
    assertThat((Class<CacheSnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(CacheSnapshotServiceAdapter.class)));

    verify(mockCache, times(1)).getSnapshotService();
    verify(mockCacheSnapshotService, times(2)).createOptions();
    verify(mockCacheSnapshotService, times(1)).load(
            eq(FileSystemUtils.safeListFiles(FileSystemUtils.USER_HOME,
                    FileSystemUtils.FileOnlyFilter.INSTANCE)),
            eq(SnapshotFormat.GEMFIRE), eq(mockSnapshotOptionsOne));
    verify(mockCacheSnapshotService, times(1)).load(
            eq(FileSystemUtils.safeListFiles(FileSystemUtils.WORKING_DIRECTORY,
                    FileSystemUtils.FileOnlyFilter.INSTANCE)),
            eq(SnapshotFormat.GEMFIRE), eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
@SuppressWarnings("unchecked")
public void importRegionSnapshotOnInitialization() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    Region mockRegion = mock(Region.class, "MockRegion");

    RegionSnapshotService mockRegionSnapshotService = mock(RegionSnapshotService.class,
            "MockRegionSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService())
            .thenThrow(new UnsupportedOperationException("operation not supported"));
    when(mockRegion.getSnapshotService()).thenReturn(mockRegionSnapshotService);
    when(mockRegionSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    File snapshotDatTwo = mockFile("snapshot-2.dat");

    SnapshotMetadata[] expectedImports = toArray(newSnapshotMetadata(snapshotDat, mockSnapshotFilterOne),
            newSnapshotMetadata(snapshotDatTwo, mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);
    factoryBean.setImports(expectedImports);
    factoryBean.setRegion(mockRegion);/*from w ww .ja v  a  2  s .com*/

    assertThat(factoryBean.getObject(), is(nullValue()));
    assertThat((Class<SnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(SnapshotServiceAdapter.class)));

    factoryBean.afterPropertiesSet();

    assertThat(factoryBean.getObject(), is(instanceOf(RegionSnapshotServiceAdapter.class)));
    assertThat((Class<RegionSnapshotServiceAdapter>) factoryBean.getObjectType(),
            is(equalTo(RegionSnapshotServiceAdapter.class)));

    verify(mockCache, never()).getSnapshotService();
    verify(mockRegion, times(1)).getSnapshotService();
    verify(mockRegionSnapshotService, times(2)).createOptions();
    verify(mockRegionSnapshotService, times(1)).load(eq(snapshotDat), eq(SnapshotFormat.GEMFIRE),
            eq(mockSnapshotOptionsOne));
    verify(mockRegionSnapshotService, times(1)).load(eq(snapshotDatTwo), eq(SnapshotFormat.GEMFIRE),
            eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void exportCacheSnapshotOnDestroy() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    CacheSnapshotService mockCacheSnapshotService = mock(CacheSnapshotService.class,
            "MockCacheSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService()).thenReturn(mockCacheSnapshotService);
    when(mockCacheSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    SnapshotMetadata[] expectedExports = toArray(newSnapshotMetadata(mockSnapshotFilterOne),
            newSnapshotMetadata(mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);
    factoryBean.setExports(expectedExports);
    factoryBean.setImports(null);/*  www  .j av  a  2 s  .  com*/
    factoryBean.setRegion(null);
    factoryBean.afterPropertiesSet();
    factoryBean.destroy();

    assertThat(factoryBean.getObject(), is(instanceOf(CacheSnapshotServiceAdapter.class)));

    verify(mockCache, times(1)).getSnapshotService();
    verify(mockCacheSnapshotService, times(2)).createOptions();
    verify(mockCacheSnapshotService, times(1)).save(eq(expectedExports[0].getLocation()),
            eq(expectedExports[0].getFormat()), eq(mockSnapshotOptionsOne));
    verify(mockCacheSnapshotService, times(1)).save(eq(expectedExports[1].getLocation()),
            eq(expectedExports[1].getFormat()), eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}

From source file:org.springframework.data.gemfire.snapshot.SnapshotServiceFactoryBeanTest.java

@Test
public void exportRegionSnapshotOnDestroy() throws Exception {
    Cache mockCache = mock(Cache.class, "MockCache");

    Region mockRegion = mock(Region.class, "MockRegion");

    RegionSnapshotService mockRegionSnapshotService = mock(RegionSnapshotService.class,
            "MockRegionSnapshotService");

    SnapshotFilter mockSnapshotFilterOne = mock(SnapshotFilter.class, "MockSnapshotFilterOne");
    SnapshotFilter mockSnapshotFilterTwo = mock(SnapshotFilter.class, "MockSnapshotFilterTwo");

    SnapshotOptions mockSnapshotOptionsOne = mock(SnapshotOptions.class, "MockSnapshotOptionsOne");
    SnapshotOptions mockSnapshotOptionsTwo = mock(SnapshotOptions.class, "MockSnapshotOptionsTwo");

    when(mockCache.getSnapshotService())
            .thenThrow(new UnsupportedOperationException("operation not supported"));
    when(mockRegion.getSnapshotService()).thenReturn(mockRegionSnapshotService);
    when(mockRegionSnapshotService.createOptions()).thenReturn(mockSnapshotOptionsOne)
            .thenReturn(mockSnapshotOptionsTwo);
    when(mockSnapshotOptionsOne.setFilter(eq(mockSnapshotFilterOne))).thenReturn(mockSnapshotOptionsOne);
    when(mockSnapshotOptionsTwo.setFilter(eq(mockSnapshotFilterTwo))).thenReturn(mockSnapshotOptionsTwo);

    SnapshotMetadata[] expectedExports = toArray(newSnapshotMetadata(mockSnapshotFilterOne),
            newSnapshotMetadata(mockSnapshotFilterTwo));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setCache(mockCache);
    factoryBean.setExports(expectedExports);
    factoryBean.setImports(null);/* www  .j  a  va2  s .c om*/
    factoryBean.setRegion(mockRegion);
    factoryBean.afterPropertiesSet();
    factoryBean.destroy();

    assertThat(factoryBean.getObject(), is(instanceOf(RegionSnapshotServiceAdapter.class)));

    verify(mockCache, never()).getSnapshotService();
    verify(mockRegion, times(1)).getSnapshotService();
    verify(mockRegionSnapshotService, times(2)).createOptions();
    verify(mockRegionSnapshotService, times(1)).save(eq(expectedExports[0].getLocation()),
            eq(expectedExports[0].getFormat()), eq(mockSnapshotOptionsOne));
    verify(mockRegionSnapshotService, times(1)).save(eq(expectedExports[1].getLocation()),
            eq(expectedExports[1].getFormat()), eq(mockSnapshotOptionsTwo));
    verify(mockSnapshotOptionsOne, times(1)).setFilter(eq(mockSnapshotFilterOne));
    verify(mockSnapshotOptionsTwo, times(1)).setFilter(eq(mockSnapshotFilterTwo));
}