@Test public void testRequiredTypeIsMissing() throws Exception { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage( "The following required parameters are missing to create a repository of type \"fs\": [location]"); validator.validate("fs", ImmutableSettings.EMPTY); }
@Test public void testInvalidSetting() throws Exception { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Invalid parameters specified: [yay]"); Settings settings = ImmutableSettings.builder().put("location", "foo").put("yay", "invalid").build(); validator.validate("fs", settings); }
@Override public CreateRepositoryAnalyzedStatement visitCreateRepository( CreateRepository node, Analysis context) { String repositoryName = node.repository(); if (repositoryService.getRepository(repositoryName) != null) { throw new RepositoryAlreadyExistsException(repositoryName); } Settings settings = ImmutableSettings.EMPTY; if (node.properties().isPresent()) { settings = GenericPropertiesConverter.genericPropertiesToSettings( node.properties().get(), context.parameterContext()); } repositoryParamValidator.validate(node.type(), settings); return new CreateRepositoryAnalyzedStatement(repositoryName, node.type(), settings); }
@Test public void testHdfsDynamicConfParam() throws Exception { Settings settings = ImmutableSettings.builder().put("path", "/data").put("conf.foobar", "bar").build(); validator.validate("hdfs", settings); }
@Test public void testValidate() throws Exception { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Invalid repository type \"invalid_type\""); validator.validate("invalid_type", ImmutableSettings.EMPTY); }