/**
*
*/
package org.minnal.instrument.entity.metadata;
import static org.testng.Assert.assertEquals;
import org.minnal.instrument.entity.Action;
import org.minnal.instrument.entity.Secure;
import org.minnal.instrument.entity.Secure.Method;
import org.testng.annotations.Test;
import com.google.common.collect.Sets;
/**
* @author ganeshs
*
*/
public class ActionMetaDataTest {
@Test
public void shouldPopulatePermissionMetaData() throws SecurityException, NoSuchMethodException {
ActionMetaData data = new ActionMetaData("dummyAction", "", DummyModel.class.getMethod("dummyAction"));
assertEquals(data.getPermissionMetaData().size(), 1);
assertEquals(data.getPermissionMetaData().iterator().next(), new PermissionMetaData(Method.POST.getMethod(), Sets.newHashSet("permission1")));
}
@Test
public void shouldNotPopulatePermissionMetaData() throws SecurityException, NoSuchMethodException {
ActionMetaData data = new ActionMetaData("anotherAction", "", DummyModel.class.getMethod("anotherAction"));
assertEquals(data.getPermissionMetaData().size(), 0);
}
public static class DummyModel {
@Secure(method=Method.POST, permissions="permission1")
@Action(value="dummyAction")
public void dummyAction() {
}
@Action(value="anotherAction")
public void anotherAction() {
}
}
}