/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.xcmis.search.query.content;
import org.junit.Ignore;
/**
* <code>SelectorTest</code>...
*/
@Ignore
public class SelectorTest extends AbstractQOMTest
{
//
// public void testSelector() throws RepositoryException {
// // make sure there's at least one node with this node type
// testRootNode.addNode(nodeName1, testNodeType);
// superuser.save();
// QueryObjectModel qom = qf.createQuery(
// qf.selector(testNodeType, "s"), null, null, null);
// forQOMandSQL2(qom, new Callable() {
// public Object call(Query query) throws RepositoryException {
// QueryResult result = query.execute();
// String[] names = result.getSelectorNames();
// assertNotNull(names);
// assertEquals(1, names.length);
// assertEquals("s", names[0]);
// NodeIterator it = result.getNodes();
// while (it.hasNext()) {
// assertTrue("Wrong node type", it.nextNode().isNodeType(testNodeType));
// }
// return null;
// }
// });
// }
//
// public void testSyntacticallyInvalidName() throws RepositoryException {
// String invalidNodeType = testNodeType + "[";
// try {
// Query q = qf.createQuery(qf.selector(invalidNodeType, "s"),
// null, null, null);
// q.execute();
// fail("Selector with syntactically invalid name must throw InvalidQueryException");
// } catch (InvalidQueryException e) {
// // expected
// }
// try {
// String stmt = "SELECT * FROM [" + invalidNodeType + "]";
// qm.createQuery(stmt, Query.JCR_SQL2).execute();
// fail("selectorName with syntactically invalid name must throw InvalidQueryException");
// } catch (InvalidQueryException e) {
// // expected
// }
// }
//
// public void testUnknownNodeType() throws RepositoryException {
// NodeTypeManager ntMgr = superuser.getWorkspace().getNodeTypeManager();
// String ntName = testNodeType;
// for (;;) {
// try {
// ntMgr.getNodeType(ntName);
// ntName += "x";
// } catch (NoSuchNodeTypeException e) {
// break;
// }
// }
// try {
// qf.createQuery(qf.selector(ntName, "s"), null, null, null).execute();
// fail("Selector with unknown node type must throw InvalidQueryException");
// } catch (InvalidQueryException e) {
// // expected
// }
// try {
// String stmt = "SELECT * FROM [" + ntName + "] AS nt";
// qm.createQuery(stmt, Query.JCR_SQL2).execute();
// fail("Selector with unknown node type must throw InvalidQueryException");
// } catch (InvalidQueryException e) {
// // expected
// }
// }
//
// public void testDuplicateNodeType() throws RepositoryException {
// try {
// Query q = qf.createQuery(
// qf.join(
// qf.selector(testNodeType, "nt"),
// qf.selector(testNodeType, "nt"),
// QueryObjectModelConstants.JCR_JOIN_TYPE_INNER,
// qf.descendantNodeJoinCondition("nt", "nt")),
// null, null, null);
// q.execute();
// fail("Selector with two identical selector names must throw InvalidQueryException");
// } catch (InvalidQueryException e) {
// // expected
// }
// try {
// String stmt = "SELECT * FROM [" + testNodeType + "] AS nt, [" +
// testNodeType + "] AS nt nt INNER JOIN nt ON ISDESCENDANTNODE(nt, nt)";
// qm.createQuery(stmt, Query.JCR_SQL2).execute();
// fail("selectorName with syntactically invalid name must throw InvalidQueryException");
// } catch (InvalidQueryException e) {
// // expected
// }
// }
}