/* * Copyright 2013-2016 Grzegorz Ligas <ligasgr@gmail.com> and other contributors * (see the CONTRIBUTORS file). * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.intellij.xquery.runner.rt.xqj; import org.basex.BaseXServer; import org.intellij.xquery.runner.rt.RunnerAppTest; import org.intellij.xquery.runner.rt.XQueryDataSourceType; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.experimental.theories.DataPoints; import java.io.File; import static org.intellij.xquery.runner.rt.XQueryItemType.TEXT; import static org.intellij.xquery.runner.rt.XQueryItemType.XS_BYTE; import static org.intellij.xquery.runner.rt.XQueryItemType.XS_DURATION; import static org.intellij.xquery.runner.rt.XQueryItemType.XS_LANGUAGE; import static org.intellij.xquery.runner.rt.XQueryItemType.XS_NORMALIZED_STRING; import static org.intellij.xquery.runner.rt.XQueryItemType.XS_TOKEN; import static org.intellij.xquery.runner.rt.XQueryItemType.XS_UNTYPED_ATOMIC; import static org.intellij.xquery.runner.rt.XQueryRunConfigBuilder.runConfig; public class BaseXRunnerAppTest extends RunnerAppTest { private static BaseXServer server; @BeforeClass public static void startServer() throws Exception { server = new BaseXServer(); } @AfterClass public static void stopServer() throws Exception { server.stop(); } @DataPoints public static DataPair[] getBaseXCompatibleData() { return new DataPair[]{ DataPair.pair(XS_DURATION, "P3Y6M4DT12H30M5S"), DataPair.pair(XS_BYTE, "32"), DataPair.pair(XS_NORMALIZED_STRING, VALUE), DataPair.pair(XS_TOKEN, VALUE), DataPair.pair(XS_LANGUAGE, VALUE), DataPair.pair(XS_UNTYPED_ATOMIC, VALUE), DataPair.pair(TEXT, VALUE), }; } @Override protected String getDataSourceType() { return XQueryDataSourceType.BASEX.toString(); } protected String prepareConfigurationForMainFile(File xqueryMainFile) { return runConfig() .withTypeName(getDataSourceType()) .withMainFileName(xqueryMainFile.getAbsolutePath()) .withConnectionData("localhost", "1984", "admin", "admin") .build(); } protected String prepareConfigurationWithContextItemForMainFile(File xqueryMainFile, String contextItemValue, String contextItemType) { return runConfig() .withTypeName(getDataSourceType()) .withMainFileName(xqueryMainFile.getAbsolutePath()) .withContextItemType(contextItemType) .withContextItemValue(contextItemValue) .withConnectionData("localhost", "1984", "admin", "admin") .build(); } protected String prepareConfigurationWithVariableForMainFile(File xqueryMainFile, String value, String type) { return runConfig() .withTypeName(getDataSourceType()) .withMainFileName(xqueryMainFile.getAbsolutePath()) .withVariable("v", value, type) .withConnectionData("localhost", "1984", "admin", "admin") .build(); } }