import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-
import com.google.common.base.Optional;
import com.google.common.collect.Maps;
import java.io.FileNotFoundException;
// /operations
@Test
- @Ignore // FIXME restconf-netconf yang schema has to be updated for operations container
public void getOperationsTest() throws FileNotFoundException, UnsupportedEncodingException {
setControllerContext(schemaContextModules);
}
private void validateOperationsResponseXml(final Document responseDoc, final SchemaContext schemaContext) {
+
final Element operationsElem = responseDoc.getDocumentElement();
assertEquals(RESTCONF_NS, operationsElem.getNamespaceURI());
assertEquals("operations", operationsElem.getLocalName());
-
- final HashSet<QName> foundOperations = new HashSet<>();
-
final NodeList operationsList = operationsElem.getChildNodes();
- for(int i = 0;i < operationsList.getLength();i++) {
- final org.w3c.dom.Node operation = operationsList.item(i);
+ final HashSet<String> foundOperations = new HashSet<>();
- final String namespace = operation.getNamespaceURI();
- final String name = operation.getLocalName();
- final QName opQName = QName.create(URI.create(namespace), null, name);
- foundOperations.add(opQName);
+ for (int i = 0; i < operationsList.getLength(); i++) {
+ final org.w3c.dom.Node operation = operationsList.item(i);
+ foundOperations.add(operation.getLocalName());
}
- for(final RpcDefinition schemaOp : schemaContext.getOperations()) {
- assertTrue(foundOperations.contains(schemaOp.getQName().withoutRevision()));
+ for (final RpcDefinition schemaOp : schemaContext.getOperations()) {
+ assertTrue(foundOperations.contains(schemaOp.getQName().getLocalName()));
}
-
}
// /operations/pathToMountPoint/yang-ext:mount
@Test
- @Ignore // FIXME fix the way to provide operations overview functionality asap
public void getOperationsBehindMountPointTest() throws FileNotFoundException, UnsupportedEncodingException {
setControllerContext(schemaContextModules);
private Matcher validateOperationsResponseJson(final String searchIn, final String rpcName, final String moduleName) {
final StringBuilder regex = new StringBuilder();
- regex.append("^");
-
- regex.append(".*\\{");
- regex.append(".*\"");
-
- // operations prefix optional
- regex.append("(");
- regex.append("ietf-restconf:");
- regex.append("|)");
- // :operations prefix optional
-
- regex.append("operations\"");
- regex.append(".*:");
- regex.append(".*\\{");
-
- regex.append(".*\"" + moduleName);
- regex.append(":");
- regex.append(rpcName + "\"");
- regex.append(".*\\[");
- regex.append(".*null");
- regex.append(".*\\]");
-
- regex.append(".*\\}");
- regex.append(".*\\}");
-
- regex.append(".*");
- regex.append("$");
+ regex.append(".*\"" + rpcName + "\"");
final Pattern ptrn = Pattern.compile(regex.toString(), Pattern.DOTALL);
return ptrn.matcher(searchIn);