public Source(SourceConfig config) throws ClassNotFoundException { this.sourceRegex = Pattern.compile(config.getSourceRegex()); this.sourceName = config.getName(); DeserializerFactory dFactory = dff.getFactory(config.getDeserializerConfig()); this.deserProcessor = new DeserializerProcessor(dFactory.newInstance()); List<OperationConfig> operationConfigs = config.getOperationConfigs(); if (operationConfigs.size() > 0) { OperationFactoryFactory off = new OperationFactoryFactory(); for (OperationConfig operationConfig : operationConfigs) { this.operationProcessors.add(new OperationProcessor(off.getFactory(operationConfig))); } } this.containsStrings.addAll(config.getContainsStrings()); for (String strRegex : config.getRegexPatterns()) { this.regexPatterns.add(Pattern.compile(strRegex)); } }
public Source(SourceConfig config) throws ClassNotFoundException { this.sourceRegex = Pattern.compile(config.getSourceRegex()); this.sourceName = config.getName(); DeserializerFactory dFactory = dff.getFactory(config.getDeserializerConfig()); this.deserProcessor = new DeserializerProcessor(dFactory.newInstance()); List<OperationConfig> operationConfigs = config.getOperationConfigs(); if (operationConfigs.size() > 0) { OperationFactoryFactory off = new OperationFactoryFactory(); for (OperationConfig operationConfig : operationConfigs) { this.operationProcessors.add(new OperationProcessor(off.getFactory(operationConfig))); } } this.containsStrings.addAll(config.getContainsStrings()); for (String strRegex : config.getRegexPatterns()) { this.regexPatterns.add(Pattern.compile(strRegex)); } }
@Test public void testStringTemplatesInConfig() throws ConfigurationException, ClassNotFoundException { envVars.set("CUSTOM_SOURCE_NAME", "TestSourceName"); BenderConfig config = BenderConfig.load("/config/config_with_env.json"); List<SourceConfig> sources = config.getSources(); assertEquals(sources.size(), 1); assertEquals(sources.get(0).getName(), "TestSourceName"); }
@Test public void testYaml() throws ConfigurationException, ClassNotFoundException { envVars.set("CUSTOM_SOURCE_NAME", "TestSourceName"); BenderConfig config = BenderConfig.load("/config/config_with_env.yaml"); List<SourceConfig> sources = config.getSources(); assertEquals(sources.size(), 1); assertEquals(sources.get(0).getName(), "TestSourceName"); } }
@Test public void testS3Config() throws HandlerException { BaseHandler handler = new DummyHandler(); handler.CONFIG_FILE = null; handler.s3ClientFactory = this.clientFactory; List<DummyEvent> events = new ArrayList<DummyEvent>(1); TestContext context = new TestContext(); context.setInvokedFunctionArn("arn:aws:lambda:us-east-1:123:function:test"); handler.handler(events, context); assertEquals("s3://" + S3_BUCKET + "/bender/config.json", handler.config.getConfigFile()); assertEquals("Test Events", handler.config.getSources().get(0).getName()); } }