[apex] COUNT is CRUD checkable

This commit is contained in:
Jonathan Wiesel
2021-04-23 11:26:17 +02:00
parent 1985f72d2a
commit 8e224ed32b
2 changed files with 6 additions and 8 deletions

View File

@@ -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;
}

View File

@@ -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() {