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

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

Introduction

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

Prototype

@Override
public SnapshotServiceAdapter<K, V> getObject() throws Exception 

Source Link

Document

Gets the reference to the Pivotal GemFire Snapshot Service created by this FactoryBean.

Usage

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);/*from   ww  w .  ja  va  2 s.c  o  m*/
    factoryBean.setImports(expectedImports);
    factoryBean.setRegion(null);

    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);//from w  ww  .jav a 2s  .c  o  m
    factoryBean.setImports(expectedImports);
    factoryBean.setRegion(mockRegion);

    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);/*from ww w  .  j av a2  s.com*/
    factoryBean.setExports(expectedExports);
    factoryBean.setImports(null);
    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);/*from   ww  w  .  jav  a  2s  .c  o m*/
    factoryBean.setExports(expectedExports);
    factoryBean.setImports(null);
    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));
}