use of org.apache.directory.api.ldap.model.message.Control in project directory-ldap-api by apache.
the class DelRequestTest method testRequestWith1ControlEmptyValue.
/**
* Test parsing of a request with a (optional) Control element with empty value
*/
@Test
public void testRequestWith1ControlEmptyValue() {
Dsmlv2Parser parser = null;
try {
parser = newParser();
parser.setInput(DelRequestTest.class.getResource("request_with_1_control_empty_value.xml").openStream(), "UTF-8");
parser.parse();
} catch (Exception e) {
fail(e.getMessage());
}
DeleteRequest delRequest = (DeleteRequest) parser.getBatchRequest().getCurrentRequest();
Map<String, Control> controls = delRequest.getControls();
assertEquals(1, delRequest.getControls().size());
Control control = controls.get("1.2.840.113556.1.4.643");
assertNotNull(control);
assertTrue(control.isCritical());
assertEquals("1.2.840.113556.1.4.643", control.getOid());
assertFalse(((DsmlControl<?>) control).hasValue());
}
use of org.apache.directory.api.ldap.model.message.Control in project directory-ldap-api by apache.
the class DelResponseTest method testResponseWith3ControlsWithoutValue.
/**
* Test parsing of a response with 3 (optional) Control elements without value
*/
@Test
public void testResponseWith3ControlsWithoutValue() {
Dsmlv2ResponseParser parser = null;
try {
parser = new Dsmlv2ResponseParser(getCodec());
parser.setInput(DelResponseTest.class.getResource("response_with_3_controls_without_value.xml").openStream(), "UTF-8");
parser.parse();
} catch (Exception e) {
fail(e.getMessage());
}
DeleteResponse delResponse = (DeleteResponse) parser.getBatchResponse().getCurrentResponse();
Map<String, Control> controls = delResponse.getControls();
assertEquals(3, delResponse.getControls().size());
Control control = controls.get("1.2.840.113556.1.4.456");
assertNotNull(control);
assertTrue(control.isCritical());
assertEquals("1.2.840.113556.1.4.456", control.getOid());
assertFalse(((DsmlControl<?>) control).hasValue());
}
use of org.apache.directory.api.ldap.model.message.Control in project directory-ldap-api by apache.
the class AbstractDsmlMessageDecorator method addControl.
/**
* {@inheritDoc}
*/
@Override
public Message addControl(Control control) {
Control decorated;
DsmlControl<? extends Control> decorator;
if (control instanceof DsmlControl) {
decorator = (DsmlControl<?>) control;
decorated = decorator.getDecorated();
} else {
decorator = new DsmlControl<>(codec, codec.newControl(control));
decorated = control;
}
message.addControl(decorated);
controls.put(control.getOid(), decorator);
currentControl = decorator;
return this;
}
use of org.apache.directory.api.ldap.model.message.Control in project directory-ldap-api by apache.
the class AbandonRequestTest method testRequestWith1Control.
/**
* Test parsing of a request with a (optional) Control element
*/
@Test
public void testRequestWith1Control() {
Dsmlv2Parser parser = null;
try {
parser = newParser();
parser.setInput(AbandonRequestTest.class.getResource("request_with_1_control.xml").openStream(), "UTF-8");
parser.parse();
} catch (Exception e) {
fail(e.getMessage());
}
AbandonRequest abandonRequest = (AbandonRequest) parser.getBatchRequest().getCurrentRequest();
Map<String, Control> controls = abandonRequest.getControls();
assertEquals(1, abandonRequest.getControls().size());
Control control = controls.get("1.2.840.113556.1.4.643");
assertNotNull(control);
assertTrue(control.isCritical());
assertEquals("1.2.840.113556.1.4.643", control.getOid());
assertEquals("Some text", Strings.utf8ToString(((DsmlControl<?>) control).getValue()));
}
use of org.apache.directory.api.ldap.model.message.Control in project directory-ldap-api by apache.
the class AbandonRequestTest method testRequestWith1ControlEmptyValue.
/**
* Test parsing of a request with a (optional) Control element with empty value
*/
@Test
public void testRequestWith1ControlEmptyValue() {
Dsmlv2Parser parser = null;
try {
parser = newParser();
parser.setInput(AbandonRequestTest.class.getResource("request_with_1_control_empty_value.xml").openStream(), "UTF-8");
parser.parse();
} catch (Exception e) {
fail(e.getMessage());
}
AbandonRequest abandonRequest = (AbandonRequest) parser.getBatchRequest().getCurrentRequest();
Map<String, Control> controls = abandonRequest.getControls();
assertEquals(1, abandonRequest.getControls().size());
Control control = controls.get("1.2.840.113556.1.4.643");
assertNotNull(control);
assertTrue(control.isCritical());
assertEquals("1.2.840.113556.1.4.643", control.getOid());
assertFalse(((DsmlControl<?>) control).hasValue());
}
Aggregations