[apex] COUNT is CRUD checkable
This commit is contained in:
@@ -504,7 +504,6 @@ public class ApexCRUDViolationRule extends AbstractApexRule {
|
||||
}
|
||||
|
||||
private void checkForAccessibility(final ASTSoqlExpression node, Object data) {
|
||||
final boolean isCount = node.getCanonicalQuery().startsWith("SELECT COUNT()");
|
||||
final Set<String> typesFromSOQL = getTypesFromSOQLQuery(node);
|
||||
|
||||
final Set<ASTMethodCallExpression> prevCalls = getPreviousMethodCalls(node);
|
||||
@@ -517,9 +516,8 @@ public class ApexCRUDViolationRule extends AbstractApexRule {
|
||||
final ASTMethod wrappingMethod = node.getFirstParentOfType(ASTMethod.class);
|
||||
final ASTUserClass wrappingClass = node.getFirstParentOfType(ASTUserClass.class);
|
||||
|
||||
if (isCount
|
||||
|| wrappingClass != null && Helper.isTestMethodOrClass(wrappingClass)
|
||||
|| wrappingMethod != null && Helper.isTestMethodOrClass(wrappingMethod)) {
|
||||
if (wrappingClass != null && Helper.isTestMethodOrClass(wrappingClass)
|
||||
|| wrappingMethod != null && Helper.isTestMethodOrClass(wrappingMethod)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -856,8 +856,8 @@ public class Foo {
|
||||
</test-code>
|
||||
|
||||
<test-code>
|
||||
<description>Count does not expose data and CRUD checks are unnecessary</description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<description>Count does expose data and CRUD checks are necessary</description>
|
||||
<expected-problems>1</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class Foo {
|
||||
public Integer getBaz() {
|
||||
@@ -868,9 +868,9 @@ public class Foo {
|
||||
</test-code>
|
||||
|
||||
<test-code>
|
||||
<description>Count does not leak data and CRUD checks are unnecessary
|
||||
<description>Count does leak data and CRUD checks are necessary
|
||||
</description>
|
||||
<expected-problems>0</expected-problems>
|
||||
<expected-problems>1</expected-problems>
|
||||
<code><![CDATA[
|
||||
public class Foo {
|
||||
public void getBaz() {
|
||||
|
Reference in New Issue
Block a user