Repository: incubator-ranger Updated Branches: refs/heads/master cdcb1c049 -> 7ac04f9d3
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac04f9d/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/ValidationTestUtils.java ---------------------------------------------------------------------- diff --git a/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/ValidationTestUtils.java b/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/ValidationTestUtils.java index bc4b2c5..549a94a 100644 --- a/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/ValidationTestUtils.java +++ b/agents-common/src/test/java/org/apache/ranger/plugin/model/validation/ValidationTestUtils.java @@ -39,9 +39,9 @@ import org.apache.ranger.plugin.model.RangerServiceDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerAccessTypeDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerEnumDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerEnumElementDef; +import org.apache.ranger.plugin.model.RangerServiceDef.RangerPolicyConditionDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerResourceDef; import org.apache.ranger.plugin.model.RangerServiceDef.RangerServiceConfigDef; -import org.apache.ranger.plugin.model.validation.ValidationFailureDetails; public class ValidationTestUtils { @@ -153,8 +153,9 @@ public class ValidationTestUtils { return result; } for (Object[] entry : data) { - String accessType = (String)entry[0]; - String[] impliedAccessArray = (String[])entry[1]; + Long id = (Long)entry[0]; + String accessType = (String)entry[1]; + String[] impliedAccessArray = (String[])entry[2]; List<String> impliedAccesses = null; if (impliedAccessArray != null) { impliedAccesses = Arrays.asList(impliedAccessArray); @@ -162,6 +163,7 @@ public class ValidationTestUtils { RangerAccessTypeDef aTypeDef = mock(RangerAccessTypeDef.class); when(aTypeDef.getName()).thenReturn(accessType); when(aTypeDef.getImpliedGrants()).thenReturn(impliedAccesses); + when(aTypeDef.getId()).thenReturn(id); result.add(aTypeDef); } return result; @@ -251,7 +253,10 @@ public class ValidationTestUtils { Boolean isExcludesSupported = null; Boolean isRecursiveSupported = null; String parent = null; + Integer level = null; switch(row.length) { + case 7: + level = (Integer)row[6]; case 6: parent = (String) row[5]; case 5: @@ -272,6 +277,7 @@ public class ValidationTestUtils { when(aDef.getExcludesSupported()).thenReturn(isExcludesSupported); when(aDef.getRecursiveSupported()).thenReturn(isRecursiveSupported); when(aDef.getParent()).thenReturn(parent); + when(aDef.getLevel()).thenReturn(level); } defs.add(aDef); } @@ -298,35 +304,76 @@ public class ValidationTestUtils { return defs; } + List<RangerResourceDef> createResourceDefsWithIds(Object[][] data) { + // if data itself is null then return null back + if (data == null) { + return null; + } + List<RangerResourceDef> defs = new ArrayList<RangerResourceDef>(); + for (Object[] row : data) { + RangerResourceDef aDef = null; + if (row != null) { + Long id = (Long)row[0]; + Integer level = (Integer)row[1]; + String name = (String)row[2]; + aDef = mock(RangerResourceDef.class); + when(aDef.getName()).thenReturn(name); + when(aDef.getId()).thenReturn(id); + when(aDef.getLevel()).thenReturn(level); + } + defs.add(aDef); + } + return defs; + } + List<RangerEnumElementDef> createEnumElementDefs(String[] input) { if (input == null) { return null; } + Object[][] data = new Object[input.length][]; + for (int i = 0; i < input.length; i++) { + data[i] = new Object[] { (long)i, input[i] }; + } + return createEnumElementDefs(data); + } + + List<RangerEnumElementDef> createEnumElementDefs(Object[][] input) { + if (input == null) { + return null; + } List<RangerEnumElementDef> output = new ArrayList<RangerEnumElementDef>(); - for (String elementName : input) { + for (Object[] row : input) { RangerEnumElementDef aDef = mock(RangerEnumElementDef.class); - when(aDef.getName()).thenReturn(elementName); + switch(row.length) { + case 2: + when(aDef.getName()).thenReturn((String)row[1]); + case 1: + when(aDef.getId()).thenReturn((Long) row[0]); + } output.add(aDef); } return output; } - List<RangerEnumDef> createEnumDefs(Map<String, String[]> input) { + List<RangerEnumDef> createEnumDefs(Object[][] input) { if (input == null) { return null; } List<RangerEnumDef> defs = new ArrayList<RangerEnumDef>(); - for (Map.Entry<String, String[]> entry : input.entrySet()) { + for (Object[] row : input) { RangerEnumDef enumDef = mock(RangerEnumDef.class); - String enumName = entry.getKey(); - if ("null".equals(enumName)) { // special handling to process null hint in enum-name - enumName = null; + switch (row.length) { + case 3: + List<RangerEnumElementDef> elements = createEnumElementDefs((String[])row[2]); + when(enumDef.getElements()).thenReturn(elements); + // by default set default index to last element + when(enumDef.getDefaultIndex()).thenReturn(elements.size() - 1); + case 2: + String enumName = (String) row[1]; + when(enumDef.getName()).thenReturn(enumName); + case 1: + when(enumDef.getId()).thenReturn((Long)row[0]); } - when(enumDef.getName()).thenReturn(enumName); - List<RangerEnumElementDef> elements = createEnumElementDefs(entry.getValue()); - when(enumDef.getElements()).thenReturn(elements); - // by default set default index to last element - when(enumDef.getDefaultIndex()).thenReturn(elements.size() - 1); defs.add(enumDef); } return defs; @@ -354,4 +401,45 @@ public class ValidationTestUtils { } return result; } + + List<RangerServiceConfigDef> createServiceDefConfigs(Object[][] input) { + if (input == null) { + return null; + } + List<RangerServiceConfigDef> result = new ArrayList<RangerServiceDef.RangerServiceConfigDef>(); + for (Object[] row : input) { + RangerServiceConfigDef configDef = mock(RangerServiceConfigDef.class); + switch(row.length) { + case 5: // default value + when(configDef.getDefaultValue()).thenReturn((String)row[4]); + case 4: // subtype + when(configDef.getSubType()).thenReturn((String) row[3]); + case 3: // type + String type = (String)row[2]; + when(configDef.getType()).thenReturn(type); + case 2: // name + String name = (String)row[1]; + when(configDef.getName()).thenReturn(name); + case 1: // id + Long id = (Long)row[0]; + when(configDef.getId()).thenReturn(id); + } + result.add(configDef); + } + return result; + } + + List<RangerPolicyConditionDef> createPolicyConditionDefs(Object[][] input) { + List<RangerPolicyConditionDef> result = new ArrayList<RangerServiceDef.RangerPolicyConditionDef>(); + if (input != null) { + for (Object[] row : input) { + RangerPolicyConditionDef conditionDef = mock(RangerPolicyConditionDef.class); + when(conditionDef.getId()).thenReturn((Long)row[0]); + when(conditionDef.getName()).thenReturn((String)row[1]); + when(conditionDef.getEvaluator()).thenReturn((String)row[2]); + result.add(conditionDef); + } + } + return result; + } } http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/7ac04f9d/agents-common/src/test/resources/log4j.properties ---------------------------------------------------------------------- diff --git a/agents-common/src/test/resources/log4j.properties b/agents-common/src/test/resources/log4j.properties index 12e172b..bd8197d 100644 --- a/agents-common/src/test/resources/log4j.properties +++ b/agents-common/src/test/resources/log4j.properties @@ -18,7 +18,7 @@ log4j.appender.devnull=org.apache.log4j.varia.NullAppender log4j.rootLogger=FATAL, devnull ##-- uncomment the following line during during development/debugging so see debug messages during test run to be emitted to console -# ranger.root.logger=WARN,console +# ranger.root.logger=DEBUG,console # Define the root logger to the system property "hbase.root.logger". log4j.rootLogger=${ranger.root.logger}
