BaseSailConfigTest.java
/*******************************************************************************
* Copyright (c) 2022 Eclipse RDF4J contributors.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Distribution License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*******************************************************************************/
package org.eclipse.rdf4j.sail.base.config;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.eclipse.rdf4j.model.util.Values.bnode;
import static org.eclipse.rdf4j.model.util.Values.literal;
import org.eclipse.rdf4j.common.transaction.QueryEvaluationMode;
import org.eclipse.rdf4j.model.util.ModelBuilder;
import org.eclipse.rdf4j.model.vocabulary.CONFIG;
import org.eclipse.rdf4j.sail.config.SailConfigException;
import org.junit.jupiter.api.Test;
public class BaseSailConfigTest {
@Test
public void testParseQueryEvaluationMode() {
var implNode = bnode();
// capitalization wrong
var incorrectEvalMode = literal("standard");
var correctEvalMode = literal("STANDARD");
{
var config = new BaseSailConfig("stub") {
};
var model = new ModelBuilder()
.add(implNode, CONFIG.Sail.defaultQueryEvaluationMode, incorrectEvalMode)
.build();
assertThatExceptionOfType(SailConfigException.class).isThrownBy(() -> config.parse(model, implNode));
}
{
var config = new BaseSailConfig("stub") {
};
var model = new ModelBuilder()
.add(implNode, CONFIG.Sail.defaultQueryEvaluationMode, correctEvalMode)
.build();
config.parse(model, implNode);
assertThat(config.getDefaultQueryEvaluationMode()).hasValue(QueryEvaluationMode.STANDARD);
}
{
var config = new BaseSailConfig("stub") {
};
var model = new ModelBuilder()
.add(implNode, BaseSailSchema.DEFAULT_QUERY_EVALUATION_MODE, correctEvalMode)
.build();
config.parse(model, implNode);
assertThat(config.getDefaultQueryEvaluationMode()).hasValue(QueryEvaluationMode.STANDARD);
}
{
var config = new BaseSailConfig("stub") {
};
var model = new ModelBuilder()
.add(implNode, BaseSailSchema.DEFAULT_QUERY_EVALUATION_MODE, correctEvalMode)
.add(implNode, CONFIG.Sail.defaultQueryEvaluationMode, incorrectEvalMode)
.build();
assertThatExceptionOfType(SailConfigException.class).isThrownBy(() -> config.parse(model, implNode));
}
{
var config = new BaseSailConfig("stub") {
};
var model = new ModelBuilder().build();
config.parse(model, implNode);
assertThat(config.getDefaultQueryEvaluationMode()).isEmpty();
}
}
}