|
@@ -5,14 +5,17 @@ import cz.senslog.connector.config.model.ConnectorDescriptor;
|
|
|
import cz.senslog.connector.config.model.DefaultConfig;
|
|
import cz.senslog.connector.config.model.DefaultConfig;
|
|
|
import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
|
|
import cz.senslog.connector.fetch.api.ConnectorFetchProvider;
|
|
|
import cz.senslog.connector.fetch.api.ConnectorFetcher;
|
|
import cz.senslog.connector.fetch.api.ConnectorFetcher;
|
|
|
|
|
+import cz.senslog.connector.fetch.api.ExecutableFetcher;
|
|
|
import cz.senslog.connector.model.api.AbstractModel;
|
|
import cz.senslog.connector.model.api.AbstractModel;
|
|
|
import cz.senslog.connector.model.api.Converter;
|
|
import cz.senslog.connector.model.api.Converter;
|
|
|
import cz.senslog.connector.model.api.ConverterProvider;
|
|
import cz.senslog.connector.model.api.ConverterProvider;
|
|
|
|
|
+import cz.senslog.connector.model.api.ProxySessionModel;
|
|
|
import cz.senslog.connector.push.api.ConnectorPushProvider;
|
|
import cz.senslog.connector.push.api.ConnectorPushProvider;
|
|
|
import cz.senslog.connector.push.api.ConnectorPusher;
|
|
import cz.senslog.connector.push.api.ConnectorPusher;
|
|
|
import org.junit.jupiter.api.Test;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
|
|
|
|
import java.util.HashSet;
|
|
import java.util.HashSet;
|
|
|
|
|
+import java.util.Optional;
|
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
import static java.time.LocalDateTime.MAX;
|
|
import static java.time.LocalDateTime.MAX;
|
|
@@ -26,10 +29,14 @@ class ConnectorBuilderTest {
|
|
|
private static class InputModel extends AbstractModel{ InputModel() { super(MIN, MAX); }}
|
|
private static class InputModel extends AbstractModel{ InputModel() { super(MIN, MAX); }}
|
|
|
private static class OutputModel extends AbstractModel{ OutputModel() { super(MIN, MAX);}}
|
|
private static class OutputModel extends AbstractModel{ OutputModel() { super(MIN, MAX);}}
|
|
|
|
|
|
|
|
- private final ConnectorFetchProvider defaultFetchProvider = config -> new ConnectorFetcher<OutputModel>() {
|
|
|
|
|
|
|
+ private static class BasicSessionModel extends ProxySessionModel {
|
|
|
|
|
+ public BasicSessionModel() { super(false); }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private final ConnectorFetchProvider defaultFetchProvider = config -> ExecutableFetcher.create(new ConnectorFetcher<BasicSessionModel, OutputModel>() {
|
|
|
@Override public void init() {}
|
|
@Override public void init() {}
|
|
|
- @Override public OutputModel fetch() { return new OutputModel(); }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ @Override public OutputModel fetch(Optional<BasicSessionModel> session) { return new OutputModel(); }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
private final ConnectorPushProvider defaultPushProvider = config -> new ConnectorPusher<InputModel>() {
|
|
private final ConnectorPushProvider defaultPushProvider = config -> new ConnectorPusher<InputModel>() {
|
|
|
@Override public void init() {}
|
|
@Override public void init() {}
|
|
@@ -46,12 +53,12 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -73,13 +80,13 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test1", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 3));
|
|
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test2", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 2, 3));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test1", "FetcherId", "PusherId", 1, 3));
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test2", "FetcherId", "PusherId", 2, 3));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -97,11 +104,11 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> null, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> null, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -118,13 +125,13 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
// fetch provider configuration does not exist -> null
|
|
// fetch provider configuration does not exist -> null
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(null);
|
|
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(null);
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -142,11 +149,11 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> null);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> null);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -163,14 +170,14 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
// fetch provider configuration does not exist -> null
|
|
// fetch provider configuration does not exist -> null
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(null);
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(null);
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -187,12 +194,12 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -203,10 +210,10 @@ class ConnectorBuilderTest {
|
|
|
void createConnectors_IncompatibleFetchModelClass_CreatedZeroConnector() {
|
|
void createConnectors_IncompatibleFetchModelClass_CreatedZeroConnector() {
|
|
|
|
|
|
|
|
// ConnectorFetcher does not contain model class as a generic parameter
|
|
// ConnectorFetcher does not contain model class as a generic parameter
|
|
|
- ConnectorFetchProvider fetchProvider = config -> new ConnectorFetcher() {
|
|
|
|
|
|
|
+ ConnectorFetchProvider fetchProvider = config -> ExecutableFetcher.create(new ConnectorFetcher() {
|
|
|
@Override public void init() {}
|
|
@Override public void init() {}
|
|
|
- @Override public OutputModel fetch() { return new OutputModel(); }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ @Override public AbstractModel fetch(Optional session) {return new OutputModel();}
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
ConverterProvider converterProvider = mock(ConverterProvider.class);
|
|
ConverterProvider converterProvider = mock(ConverterProvider.class);
|
|
|
when(converterProvider.getConverter(OutputModel.class, InputModel.class)).thenReturn(
|
|
when(converterProvider.getConverter(OutputModel.class, InputModel.class)).thenReturn(
|
|
@@ -215,12 +222,12 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> fetchProvider, aClass -> defaultPushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> fetchProvider, aClass -> defaultPushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", fetchProvider.getClass(), defaultPushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(fetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
- when(configService.getConfigForClass(defaultPushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|
|
@@ -243,12 +250,12 @@ class ConnectorBuilderTest {
|
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> pushProvider);
|
|
ServiceProvider serviceProvider = new ServiceProvider(aClass -> defaultFetchProvider, aClass -> pushProvider);
|
|
|
|
|
|
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
Set<ConnectorDescriptor> connectorDescriptors = new HashSet<>();
|
|
|
- connectorDescriptors.add(new ConnectorDescriptor("Test", defaultFetchProvider.getClass(), pushProvider.getClass(), 1, 2));
|
|
|
|
|
|
|
+ connectorDescriptors.add(new ConnectorDescriptor("Test", "FetcherId", "PusherId", 1, 2));
|
|
|
|
|
|
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
ConfigurationService configService = mock(ConfigurationService.class);
|
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
when(configService.getConnectorDescriptors()).thenReturn(connectorDescriptors);
|
|
|
- when(configService.getConfigForClass(defaultFetchProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
- when(configService.getConfigForClass(pushProvider.getClass())).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
+ when(configService.getConfigForProviderId("FetcherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
+ when(configService.getConfigForProviderId("PusherId")).thenReturn(mock(DefaultConfig.class));
|
|
|
|
|
|
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
Set<Connector> connectors = ConnectorBuilder.init(serviceProvider, converterProvider, configService).createConnectors();
|
|
|
|
|
|