Skip FlowReporter logging for dry runs

Since this feeds into ICANN reporting, we don't want to muddy the data
there with dry-runs, which are always internal-only artifacts of tool usage
and shouldn't really count as real attempts to do SRS actions, since they
are always going to abort with no effect.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=153856915
This commit is contained in:
nickfelt 2017-04-21 12:24:30 -07:00 committed by Ben McIlwain
parent 0cbcfcc3c1
commit 7dc3ddfc14
2 changed files with 12 additions and 2 deletions

View file

@ -73,8 +73,10 @@ public class FlowRunner {
eppRequestSource,
isDryRun ? "DRY_RUN" : "LIVE",
isSuperuser ? "SUPERUSER" : "NORMAL");
// Record information about this flow to the GAE request logs for reporting purposes.
flowReporter.recordToLogs();
// Record flow info to the GAE request logs for reporting purposes if it's not a dry run.
if (!isDryRun) {
flowReporter.recordToLogs();
}
eppMetricBuilder.setCommandNameFromFlow(flowClass.getSimpleName());
if (!isTransactional) {
eppMetricBuilder.incrementAttempts();

View file

@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat;
import static google.registry.testing.TestDataHelper.loadFileWithSubstitutions;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import com.google.appengine.api.users.User;
@ -119,6 +120,13 @@ public class FlowRunnerTest extends ShardableTestCase {
verify(flowRunner.flowReporter).recordToLogs();
}
@Test
public void testRun_dryRun_doesNotCallFlowReporter() throws Exception {
flowRunner.isDryRun = true;
flowRunner.run(eppMetricBuilder);
verify(flowRunner.flowReporter, never()).recordToLogs();
}
@Test
public void testRun_legacyLoggingStatement_basic() throws Exception {
flowRunner.run(eppMetricBuilder);