From effbf836fd443626f738d60386dc4cd32a28456d Mon Sep 17 00:00:00 2001 From: mmuller Date: Fri, 1 Feb 2019 11:41:35 -0800 Subject: [PATCH] Add BaseDnsWriterTest to opensource tree This should have gone in with the implementation of BaseDnsWriter. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=232009971 --- .../dns/writer/BaseDnsWriterTest.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 javatests/google/registry/dns/writer/BaseDnsWriterTest.java diff --git a/javatests/google/registry/dns/writer/BaseDnsWriterTest.java b/javatests/google/registry/dns/writer/BaseDnsWriterTest.java new file mode 100644 index 000000000..e2d1c336a --- /dev/null +++ b/javatests/google/registry/dns/writer/BaseDnsWriterTest.java @@ -0,0 +1,58 @@ +// Copyright 2017 The Nomulus Authors. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package google.registry.dns.writer; + +import static com.google.common.truth.Truth.assertThat; +import static google.registry.testing.JUnitBackports.assertThrows; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +/** Unit tests for {@link BaseDnsWriter}. */ +@RunWith(JUnit4.class) +public class BaseDnsWriterTest { + + static class StubDnsWriter extends BaseDnsWriter { + + int commitCallCount = 0; + + @Override + protected void commitUnchecked() { + commitCallCount++; + } + + @Override + public void publishDomain(String domainName) { + // No op + } + + @Override + public void publishHost(String hostName) { + // No op + } + } + + @Test + public void test_cannotBeCalledTwice() { + StubDnsWriter writer = new StubDnsWriter(); + assertThat(writer.commitCallCount).isEqualTo(0); + writer.commit(); + assertThat(writer.commitCallCount).isEqualTo(1); + IllegalStateException thrown = assertThrows(IllegalStateException.class, writer::commit); + assertThat(thrown).hasMessageThat().isEqualTo("commit() has already been called"); + assertThat(writer.commitCallCount).isEqualTo(1); + } +}