public void testModifyDenied()
{
state.put("person", person);
// Stream to modify
final Stream modifiedStream = new Stream();
modifiedStream.setId(2L);
modifiedStream.setName("New Name");
modifiedStream.setRequest("{ query : { keywords : 'test' } }");
modifiedStream.setReadOnly(false);
final List<Stream> streams = new ArrayList<Stream>();
// Current stream
final Stream oldStream = new Stream();
oldStream.setId(1L);
oldStream.setName("Old Name");
oldStream.setRequest("{ query : { keywords : 'cheese' } }");
oldStream.setReadOnly(true);
streams.add(oldStream);
CONTEXT.checking(new Expectations()
{
{
oneOf(actionContext).getState();
will(returnValue(state));
oneOf(person).getStreams();
will(returnValue(streams));
oneOf(actionContext).getParams();
will(returnValue(modifiedStream));
}
});
sut.execute(actionContext);
// Stream size remains at 1
Assert.assertEquals(1, streams.size());
// Confirm stream data has not changed.
Assert.assertEquals(oldStream.getName(), streams.get(0).getName());
Assert.assertEquals(oldStream.getRequest(), streams.get(0).getRequest());
Assert.assertEquals(oldStream.getReadOnly(), streams.get(0).getReadOnly());
CONTEXT.assertIsSatisfied();
}