use of org.apache.jackrabbit.oak.spi.state.NodeStore in project jackrabbit-oak by apache.
the class S3DataStoreStatsTest method testIsFileSyncedBinarySyncedAndBinariesNotSyncedReturnsFalse.
@Test
public void testIsFileSyncedBinarySyncedAndBinariesNotSyncedReturnsFalse() throws Exception {
Blob mockBlob2 = mock(Blob.class);
final String id2 = getIdForInputStream(getStream("testContents2"));
when(mockBlob2.getContentIdentity()).thenReturn(id2);
Blob mockBlob3 = mock(Blob.class);
final String id3 = getIdForInputStream(getStream("testContents3"));
when(mockBlob2.getContentIdentity()).thenReturn(id3);
List<Blob> blobPropList = Lists.newArrayList(mockBlob2, mockBlob3);
NodeStore nodeStore = initNodeStore(Optional.of(mockBlob), Optional.<Blob>absent(), Optional.<String>absent(), Optional.<Integer>absent(), Optional.of(blobPropList));
stats = new S3DataStoreStats();
stats.nodeStore = nodeStore;
stats.s3ds = autoSyncMockS3ds;
assertSyncedFalse(stats, autoSyncMockS3ds, new FileInputStream(testFile), getStream("testContents2"));
}
use of org.apache.jackrabbit.oak.spi.state.NodeStore in project jackrabbit-oak by apache.
the class S3DataStoreStatsTest method testIsFileSyncedBinaryAndBinariesSyncedReturnsTrue.
@Test
public void testIsFileSyncedBinaryAndBinariesSyncedReturnsTrue() throws Exception {
Blob mockBlob2 = mock(Blob.class);
final String id2 = getIdForInputStream(getStream("testContents2"));
when(mockBlob2.getContentIdentity()).thenReturn(id2);
Blob mockBlob3 = mock(Blob.class);
final String id3 = getIdForInputStream(getStream("testContents3"));
when(mockBlob2.getContentIdentity()).thenReturn(id3);
List<Blob> blobPropList = Lists.newArrayList(mockBlob2, mockBlob3);
NodeStore nodeStore = initNodeStore(Optional.of(mockBlob), Optional.<Blob>absent(), Optional.<String>absent(), Optional.<Integer>absent(), Optional.of(blobPropList));
stats = new S3DataStoreStats();
stats.nodeStore = nodeStore;
stats.s3ds = autoSyncMockS3ds;
assertSyncedFalse(stats, autoSyncMockS3ds, new FileInputStream(testFile), getStream("testContents2"), getStream("testContents3"));
}
use of org.apache.jackrabbit.oak.spi.state.NodeStore in project jackrabbit-oak by apache.
the class S3DataStoreStatsTest method testIsFileSyncedMultipleBinaryPropertiesNotAllSyncedReturnsFalse.
@Test
public void testIsFileSyncedMultipleBinaryPropertiesNotAllSyncedReturnsFalse() throws Exception {
Blob mockBlob2 = mock(Blob.class);
final String id2 = getIdForInputStream(getStream("testContents2"));
when(mockBlob2.getContentIdentity()).thenReturn(id2);
NodeStore nodeStore = initNodeStore(Optional.of(mockBlob), Optional.of(mockBlob2), Optional.<String>absent(), Optional.<Integer>absent(), Optional.<List<Blob>>absent());
stats = new S3DataStoreStats();
stats.nodeStore = nodeStore;
stats.s3ds = autoSyncMockS3ds;
assertSyncedFalse(stats, autoSyncMockS3ds, new FileInputStream(testFile));
}
use of org.apache.jackrabbit.oak.spi.state.NodeStore in project jackrabbit-oak by apache.
the class AsyncIndexUpdateTest method testAsyncDoubleSubtree.
/**
* Async Index Test with 2 index defs at different tree locations
* <ul>
* <li>Add an index definition</li>
* <li>Add some content</li>
* <li>Search & verify</li>
* </ul>
*
*/
@Test
public void testAsyncDoubleSubtree() throws Exception {
NodeStore store = new MemoryNodeStore();
IndexEditorProvider provider = new PropertyIndexEditorProvider();
NodeBuilder builder = store.getRoot().builder();
createIndexDefinition(builder.child(INDEX_DEFINITIONS_NAME), "rootIndex", true, false, ImmutableSet.of("foo"), null).setProperty(ASYNC_PROPERTY_NAME, "async");
createIndexDefinition(builder.child("newchild").child("other").child(INDEX_DEFINITIONS_NAME), "subIndex", true, false, ImmutableSet.of("foo"), null).setProperty(ASYNC_PROPERTY_NAME, "async");
builder.child("testRoot").setProperty("foo", "abc");
builder.child("newchild").child("other").child("testChild").setProperty("foo", "xyz");
// merge it back in
store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
AsyncIndexUpdate async = new AsyncIndexUpdate("async", store, provider);
async.run();
NodeState root = store.getRoot();
// first check that the index content nodes exist
checkPathExists(root, INDEX_DEFINITIONS_NAME, "rootIndex", INDEX_CONTENT_NODE_NAME);
checkPathExists(root, "newchild", "other", INDEX_DEFINITIONS_NAME, "subIndex", INDEX_CONTENT_NODE_NAME);
PropertyIndexLookup lookup = new PropertyIndexLookup(root);
assertEquals(ImmutableSet.of("testRoot"), find(lookup, "foo", "abc"));
PropertyIndexLookup lookupChild = new PropertyIndexLookup(root.getChildNode("newchild").getChildNode("other"));
assertEquals(ImmutableSet.of("testChild"), find(lookupChild, "foo", "xyz"));
assertEquals(ImmutableSet.<String>of(), find(lookupChild, "foo", "abc"));
}
use of org.apache.jackrabbit.oak.spi.state.NodeStore in project jackrabbit-oak by apache.
the class AsyncIndexUpdateTest method testAsyncDouble.
/**
* Async Index Test with 2 index defs at the same location
* <ul>
* <li>Add an index definition</li>
* <li>Add some content</li>
* <li>Search & verify</li>
* </ul>
*
*/
@Test
public void testAsyncDouble() throws Exception {
NodeStore store = new MemoryNodeStore();
IndexEditorProvider provider = new PropertyIndexEditorProvider();
NodeBuilder builder = store.getRoot().builder();
createIndexDefinition(builder.child(INDEX_DEFINITIONS_NAME), "rootIndex", true, false, ImmutableSet.of("foo"), null).setProperty(ASYNC_PROPERTY_NAME, "async");
createIndexDefinition(builder.child(INDEX_DEFINITIONS_NAME), "rootIndexSecond", true, false, ImmutableSet.of("bar"), null).setProperty(ASYNC_PROPERTY_NAME, "async");
builder.child("testRoot").setProperty("foo", "abc").setProperty("bar", "def");
builder.child("testSecond").setProperty("bar", "ghi");
// merge it back in
store.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
AsyncIndexUpdate async = new AsyncIndexUpdate("async", store, provider);
async.run();
NodeState root = store.getRoot();
// first check that the index content nodes exist
checkPathExists(root, INDEX_DEFINITIONS_NAME, "rootIndex", INDEX_CONTENT_NODE_NAME);
checkPathExists(root, INDEX_DEFINITIONS_NAME, "rootIndexSecond", INDEX_CONTENT_NODE_NAME);
PropertyIndexLookup lookup = new PropertyIndexLookup(root);
assertEquals(ImmutableSet.of("testRoot"), find(lookup, "foo", "abc"));
assertEquals(ImmutableSet.<String>of(), find(lookup, "foo", "def"));
assertEquals(ImmutableSet.<String>of(), find(lookup, "foo", "ghi"));
assertEquals(ImmutableSet.<String>of(), find(lookup, "bar", "abc"));
assertEquals(ImmutableSet.of("testRoot"), find(lookup, "bar", "def"));
assertEquals(ImmutableSet.of("testSecond"), find(lookup, "bar", "ghi"));
}
Aggregations