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

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

Introduction

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

Prototype

public void setRegion(Region<K, V> region) 

Source Link

Document

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

Usage

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

@Test
public void createRegionSnapshotService() {
    Region mockRegion = mock(Region.class, "MockRegion");
    RegionSnapshotService mockRegionSnapshotService = mock(RegionSnapshotService.class,
            "MockRegionSnapshotService");

    when(mockRegion.getSnapshotService()).thenReturn(mockRegionSnapshotService);

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean();

    factoryBean.setRegion(mockRegion);

    SnapshotServiceAdapter adapter = factoryBean.create();

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

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

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

@Test
public void onApplicationEventWhenMatchUsingEventSnapshotMetadataPerformsExport() throws Exception {
    Region mockRegion = mock(Region.class, "MockRegion");

    SnapshotApplicationEvent mockSnapshotEvent = mock(ExportSnapshotApplicationEvent.class,
            "MockExportSnapshotApplicationEvent");

    SnapshotMetadata eventSnapshotMetadata = newSnapshotMetadata(snapshotDat);

    final SnapshotServiceAdapter mockSnapshotService = mock(SnapshotServiceAdapter.class,
            "MockSnapshotServiceAdapter");

    when(mockSnapshotEvent.isCacheSnapshotEvent()).thenReturn(false);
    when(mockSnapshotEvent.matches(eq(mockRegion))).thenReturn(true);
    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(toArray(eventSnapshotMetadata));

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override/*from ww w. ja  v a  2s.  c o  m*/
        public SnapshotServiceAdapter getObject() throws Exception {
            return mockSnapshotService;
        }
    };

    factoryBean.setExports(toArray(newSnapshotMetadata()));
    factoryBean.setRegion(mockRegion);

    assertThat(factoryBean.getExports()[0], is(not(sameInstance(eventSnapshotMetadata))));
    assertThat(factoryBean.getRegion(), is(sameInstance(mockRegion)));

    factoryBean.onApplicationEvent(mockSnapshotEvent);

    verify(mockSnapshotEvent, times(1)).isCacheSnapshotEvent();
    verify(mockSnapshotEvent, times(1)).matches(eq(mockRegion));
    verify(mockSnapshotEvent, times(1)).getSnapshotMetadata();
    verify(mockSnapshotService, times(1)).doExport(eq(eventSnapshotMetadata));
}

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

@Test
public void onApplicationEventWhenNoMatchDoesNotPerformImport() throws Exception {
    Region mockRegion = mock(Region.class, "MockRegion");

    SnapshotApplicationEvent mockSnapshotEvent = mock(ImportSnapshotApplicationEvent.class,
            "MockImportSnapshotApplicationEvent");

    final SnapshotServiceAdapter mockSnapshotService = mock(SnapshotServiceAdapter.class,
            "MockSnapshotServiceAdapter");

    when(mockSnapshotEvent.isCacheSnapshotEvent()).thenReturn(false);
    when(mockSnapshotEvent.matches(any(Region.class))).thenReturn(false);
    when(mockSnapshotEvent.getSnapshotMetadata()).thenReturn(null);

    SnapshotServiceFactoryBean factoryBean = new SnapshotServiceFactoryBean() {
        @Override/*from  ww w  .j a v a  2 s  . co  m*/
        public SnapshotServiceAdapter getObject() throws Exception {
            return mockSnapshotService;
        }
    };

    factoryBean.setImports(toArray(newSnapshotMetadata()));
    factoryBean.setRegion(mockRegion);

    assertThat(factoryBean.getImports()[0], isA(SnapshotMetadata.class));
    assertThat(factoryBean.getRegion(), is(equalTo(mockRegion)));

    factoryBean.onApplicationEvent(mockSnapshotEvent);

    verify(mockSnapshotEvent, times(1)).isCacheSnapshotEvent();
    verify(mockSnapshotEvent, times(1)).matches(eq(mockRegion));
    verify(mockSnapshotEvent, never()).getSnapshotMetadata();
    verify(mockSnapshotService, never()).doImport(any(SnapshotMetadata.class));
}

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);// w w w . ja va2s  . 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 ww  w  . java  2 s .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   w w  w.jav a  2 s.c om*/
    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 w ww. j a  va  2  s.  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));
}