-
Notifications
You must be signed in to change notification settings - Fork 0
/
AdditionalMetadataIndexingConfigProviderTest.java
42 lines (32 loc) · 2.23 KB
/
AdditionalMetadataIndexingConfigProviderTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package com.example.additionalmetadata;
import com.funnelback.plugin.index.consumers.mock.MockMetadataMappingConsumer;
import com.funnelback.plugin.index.mock.MockIndexConfigProviderContext;
import com.funnelback.plugin.index.model.metadatamapping.MetadataSourceType;
import com.funnelback.plugin.index.model.metadatamapping.MetadataType;
import org.junit.Assert;
import org.junit.Test;
import java.util.List;
public class AdditionalMetadataIndexingConfigProviderTest {
@Test
public void testMetadataMappings(){
MockIndexConfigProviderContext mockContext = new MockIndexConfigProviderContext();
MockMetadataMappingConsumer mockConsumer = new MockMetadataMappingConsumer();
AdditionalMetadataIndexingConfigProvider underTest = new AdditionalMetadataIndexingConfigProvider();
// Set collection.cfg config options.
mockContext.setConfigSetting(PluginUtils.KEY_PREFIX + "metadata", "publishers");
// Now run the method on our class we implemented.
underTest.metadataMappings(mockContext, mockConsumer);
// This list holds the result of what the plugin class.
List<MockMetadataMappingConsumer.MockMetadataMappingInvocation> invocations = mockConsumer.getInvocations();
Assert.assertEquals("Expected to see the plugin provide two metadata mappings.", 2, invocations.size());
// Now check each of the invocations ensuring that the correct values were set.
Assert.assertEquals("authors", invocations.get(0).getMetadataClass());
Assert.assertEquals("author", invocations.get(0).getLocator());
Assert.assertEquals(MetadataSourceType.HTML_OR_HTTP_HEADERS, invocations.get(0).getSourceType());
Assert.assertEquals(MetadataType.TEXT_NOT_INDEXED_AS_DOCUMENT_CONTENT, invocations.get(0).getType());
Assert.assertEquals("authors", invocations.get(1).getMetadataClass());
Assert.assertEquals("In this case we should have read 'publishers' from config settings.", "publishers", invocations.get(1).getLocator());
Assert.assertEquals(MetadataSourceType.HTML_OR_HTTP_HEADERS, invocations.get(1).getSourceType());
Assert.assertEquals(MetadataType.TEXT_INDEXED_AS_DOCUMENT_CONTENT, invocations.get(1).getType());
}
}