Search in sources :

Example 6 with MarkLogicOutputProperties

use of org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties in project components by Talend.

the class MarkLogicWriterTest method testInitDocManagerJSON.

@Test
public void testInitDocManagerJSON() throws IOException {
    MarkLogicSink sink = new MarkLogicSink();
    MarkLogicOutputProperties properties = new MarkLogicOutputProperties("outputProperties");
    properties.init();
    properties.connection.referencedComponent.componentInstanceId.setValue("Not null value");
    properties.docType.setValue(MarkLogicOutputProperties.DocType.JSON);
    sink.ioProperties = properties;
    RuntimeContainer mockedContainer = mock(RuntimeContainer.class);
    DatabaseClient mockedClient = mock(DatabaseClient.class);
    Mockito.when(mockedContainer.getComponentData(anyString(), anyString())).thenReturn(mockedClient);
    writer = sink.createWriteOperation().createWriter(mockedContainer);
    writer.open("123");
    verify(mockedClient).newJSONDocumentManager();
}
Also used : DatabaseClient(com.marklogic.client.DatabaseClient) MarkLogicOutputProperties(org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties) RuntimeContainer(org.talend.components.api.container.RuntimeContainer) Test(org.junit.Test)

Example 7 with MarkLogicOutputProperties

use of org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties in project components by Talend.

the class MarkLogicWriteOperationTest method setUp.

@Before
public void setUp() {
    sink = new MarkLogicSink();
    MarkLogicOutputProperties outputProperties = new MarkLogicOutputProperties("outputProperties");
    writeOperation = new MarkLogicWriteOperation(sink, outputProperties);
}
Also used : MarkLogicOutputProperties(org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties) Before(org.junit.Before)

Example 8 with MarkLogicOutputProperties

use of org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties in project components by Talend.

the class MarkLogicInputSinkTest method testValidateWrongProperties.

@Test
public void testValidateWrongProperties() {
    MarkLogicOutputProperties wrongProperties = new MarkLogicOutputProperties("notInputProps");
    wrongProperties.init();
    inputSink.initialize(null, wrongProperties);
    ValidationResult result = inputSink.validate(null);
    assertEquals(ValidationResult.Result.ERROR, result.getStatus());
}
Also used : MarkLogicOutputProperties(org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties) ValidationResult(org.talend.daikon.properties.ValidationResult) Test(org.junit.Test)

Example 9 with MarkLogicOutputProperties

use of org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties in project components by Talend.

the class MarkLogicWriterTest method testFailedInitDocManager.

@Test
public void testFailedInitDocManager() throws IOException {
    MarkLogicSink sink = mock(MarkLogicSink.class);
    MarkLogicOutputProperties properties = new MarkLogicOutputProperties("outputProperties");
    properties.init();
    MarkLogicWriteOperation writeOperation = new MarkLogicWriteOperation(sink, properties);
    Mockito.when(sink.connect((RuntimeContainer) anyObject())).thenReturn(null);
    writer = writeOperation.createWriter(null);
    writer.open("123");
    assertNull(writer.docMgr);
}
Also used : MarkLogicOutputProperties(org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties) Test(org.junit.Test)

Example 10 with MarkLogicOutputProperties

use of org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties in project components by Talend.

the class MarkLogicWriterTest method prepareDocManagerText.

private DocumentManager prepareDocManagerText(MarkLogicOutputProperties.Action action, MarkLogicOutputProperties.DocType docType, Object docContent) throws IOException {
    MarkLogicSink sink = new MarkLogicSink();
    MarkLogicOutputProperties properties = new MarkLogicOutputProperties("outputProperties");
    properties.init();
    properties.connection.referencedComponent.componentInstanceId.setValue("Not null value");
    properties.docType.setValue(docType);
    properties.action.setValue(action);
    sink.ioProperties = properties;
    RuntimeContainer mockedContainer = mock(RuntimeContainer.class);
    DatabaseClient mockedClient = mock(DatabaseClient.class);
    Mockito.when(mockedContainer.getComponentData(anyString(), anyString())).thenReturn(mockedClient);
    DocumentManager markLogicDocMngrMock = mock(DocumentManager.class);
    writer = sink.createWriteOperation().createWriter(mockedContainer);
    GenericData.Record indexedRecord = new GenericData.Record(properties.datasetProperties.main.schema.getValue());
    indexedRecord.put(0, "docId");
    indexedRecord.put(1, docContent);
    writer.open("123");
    writer.docMgr = markLogicDocMngrMock;
    writer.write(indexedRecord);
    return markLogicDocMngrMock;
}
Also used : DatabaseClient(com.marklogic.client.DatabaseClient) MarkLogicOutputProperties(org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties) DocumentManager(com.marklogic.client.document.DocumentManager) IndexedRecord(org.apache.avro.generic.IndexedRecord) GenericData(org.apache.avro.generic.GenericData) RuntimeContainer(org.talend.components.api.container.RuntimeContainer)

Aggregations

MarkLogicOutputProperties (org.talend.components.marklogic.tmarklogicoutput.MarkLogicOutputProperties)16 Test (org.junit.Test)14 DatabaseClient (com.marklogic.client.DatabaseClient)7 RuntimeContainer (org.talend.components.api.container.RuntimeContainer)7 DocumentManager (com.marklogic.client.document.DocumentManager)4 ValidationResult (org.talend.daikon.properties.ValidationResult)3 GenericData (org.apache.avro.generic.GenericData)2 IndexedRecord (org.apache.avro.generic.IndexedRecord)2 DocumentDescriptor (com.marklogic.client.document.DocumentDescriptor)1 DocumentUriTemplate (com.marklogic.client.document.DocumentUriTemplate)1 FileHandle (com.marklogic.client.io.FileHandle)1 AbstractWriteHandle (com.marklogic.client.io.marker.AbstractWriteHandle)1 File (java.io.File)1 Before (org.junit.Before)1 Matchers.anyObject (org.mockito.Matchers.anyObject)1 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)1