b/163430475 Add missing traversal test classes Change-Id: Id4557a247af14787e5d2e98cc6a343a0ad7343d3
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ContactTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ContactTraversalTest.java new file mode 100644 index 0000000..f6319bd --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ContactTraversalTest.java
@@ -0,0 +1,53 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; +import org.openapi4j.parser.model.v3.Contact; + +public class ContactTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @Mock private TraversalHelperFactory traversalHelperFactory; + @Mock private ExtensionFactory extensionFactory; + @Mock private Extension extension; + @Mock private Contact contact; + + private ContactTraversal contactTraversal; + + /** Sets up live and mocked instances for testing. */ + @Before + public void setup() { + contactTraversal = + new ContactTraversal(traversalHelperFactory, extensionFactory, ImmutableList.of(), contact); + } + + @Test + public void traverse_withExtensions_returnsGeneratedExtensions() { + when(contact.getExtensions()).thenReturn(Map.of("x-contact", "")); + when(extensionFactory.create(anyString(), any(JsonNode.class), any(ImmutableList.class))) + .thenReturn(extension); + + assertThat(contactTraversal.traverse()).hasSize(1).containsOnlyOnce(extension); + } + + @Test + public void traverse_withoutExtensions_returnsEmptyExtensionsImmutableList() { + when(contact.getExtensions()).thenReturn(Map.of()); + + assertThat(contactTraversal.traverse()).isEmpty(); + } +}
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ExternalDocsTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ExternalDocsTraversalTest.java new file mode 100644 index 0000000..03cdba7 --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ExternalDocsTraversalTest.java
@@ -0,0 +1,54 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; +import org.openapi4j.parser.model.v3.ExternalDocs; + +public class ExternalDocsTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @Mock private TraversalHelperFactory traversalHelperFactory; + @Mock private ExtensionFactory extensionFactory; + @Mock private Extension extension; + @Mock private ExternalDocs externalDocs; + + private ExternalDocsTraversal externalDocsTraversal; + + /** Sets up live and mocked instances for testing. */ + @Before + public void setup() { + externalDocsTraversal = + new ExternalDocsTraversal( + traversalHelperFactory, extensionFactory, externalDocs, ImmutableList.of()); + } + + @Test + public void traverse_withExtensions_returnsGeneratedExtensions() { + when(externalDocs.getExtensions()).thenReturn(Map.of("x-external-docs", "")); + when(extensionFactory.create(anyString(), any(JsonNode.class), any(ImmutableList.class))) + .thenReturn(extension); + + assertThat(externalDocsTraversal.traverse()).hasSize(1).containsOnlyOnce(extension); + } + + @Test + public void traverse_withoutExtensions_returnsEmptyExtensionsImmutableList() { + when(externalDocs.getExtensions()).thenReturn(Map.of()); + + assertThat(externalDocsTraversal.traverse()).isEmpty(); + } +}
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/LicenseTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/LicenseTraversalTest.java new file mode 100644 index 0000000..62db0c2 --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/LicenseTraversalTest.java
@@ -0,0 +1,53 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; +import org.openapi4j.parser.model.v3.License; + +public class LicenseTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @Mock private TraversalHelperFactory traversalHelperFactory; + @Mock private ExtensionFactory extensionFactory; + @Mock private Extension extension; + @Mock private License license; + + private LicenseTraversal licenseTraversal; + + /** Sets up live and mocked instances for testing. */ + @Before + public void setup() { + licenseTraversal = + new LicenseTraversal(traversalHelperFactory, extensionFactory, ImmutableList.of(), license); + } + + @Test + public void traverse_withExtensions_returnsGeneratedExtensions() { + when(license.getExtensions()).thenReturn(Map.of("x-license", "")); + when(extensionFactory.create(anyString(), any(JsonNode.class), any(ImmutableList.class))) + .thenReturn(extension); + + assertThat(licenseTraversal.traverse()).hasSize(1).containsOnlyOnce(extension); + } + + @Test + public void traverse_withoutExtensions_returnsEmptyExtensionsImmutableList() { + when(license.getExtensions()).thenReturn(Map.of()); + + assertThat(licenseTraversal.traverse()).isEmpty(); + } +}
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ParameterTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ParameterTraversalTest.java new file mode 100644 index 0000000..c9bed83 --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ParameterTraversalTest.java
@@ -0,0 +1,54 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; +import org.openapi4j.parser.model.v3.Parameter; + +public class ParameterTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @Mock private TraversalHelperFactory traversalHelperFactory; + @Mock private ExtensionFactory extensionFactory; + @Mock private Extension extension; + @Mock private Parameter parameter; + + private ParameterTraversal parameterTraversal; + + /** Sets up live and mocked instances for testing. */ + @Before + public void setup() { + parameterTraversal = + new ParameterTraversal( + traversalHelperFactory, extensionFactory, ImmutableList.of(), parameter); + } + + @Test + public void traverse_withExtensions_returnsGeneratedExtensions() { + when(parameter.getExtensions()).thenReturn(Map.of("x-parameter", "")); + when(extensionFactory.create(anyString(), any(JsonNode.class), any(ImmutableList.class))) + .thenReturn(extension); + + assertThat(parameterTraversal.traverse()).hasSize(1).containsOnlyOnce(extension); + } + + @Test + public void traverse_withoutExtensions_returnsEmptyExtensionsImmutableList() { + when(parameter.getExtensions()).thenReturn(Map.of()); + + assertThat(parameterTraversal.traverse()).isEmpty(); + } +}
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ResponseTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ResponseTraversalTest.java new file mode 100644 index 0000000..1369c4d --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ResponseTraversalTest.java
@@ -0,0 +1,54 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; +import org.openapi4j.parser.model.v3.Response; + +public class ResponseTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @Mock private TraversalHelperFactory traversalHelperFactory; + @Mock private ExtensionFactory extensionFactory; + @Mock private Extension extension; + @Mock private Response response; + + private ResponseTraversal responseTraversal; + + /** Sets up live and mocked instances for testing. */ + @Before + public void setup() { + responseTraversal = + new ResponseTraversal( + traversalHelperFactory, extensionFactory, ImmutableList.of(), response, ""); + } + + @Test + public void traverse_withExtensions_returnsGeneratedExtensions() { + when(response.getExtensions()).thenReturn(Map.of("x-response", "")); + when(extensionFactory.create(anyString(), any(JsonNode.class), any(ImmutableList.class))) + .thenReturn(extension); + + assertThat(responseTraversal.traverse()).hasSize(1).containsOnlyOnce(extension); + } + + @Test + public void traverse_withoutExtensions_returnsEmptyExtensionsImmutableList() { + when(response.getExtensions()).thenReturn(Map.of()); + + assertThat(responseTraversal.traverse()).isEmpty(); + } +}
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/SecurityRequirementTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/SecurityRequirementTraversalTest.java new file mode 100644 index 0000000..86fc6ef --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/SecurityRequirementTraversalTest.java
@@ -0,0 +1,22 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Rule; +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; + +public class SecurityRequirementTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @InjectMocks private SecurityRequirementTraversal securityRequirementTraversal; + + @Test + public void traverse_returnsEmptyExtensionsImmutableList() { + assertThat(securityRequirementTraversal.traverse()).isEmpty(); + } +}
diff --git a/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ServerVariableTraversalTest.java b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ServerVariableTraversalTest.java new file mode 100644 index 0000000..4bd05b6 --- /dev/null +++ b/oas-core/src/test/java/com/apigee/security/oas/extendedvalidator/ServerVariableTraversalTest.java
@@ -0,0 +1,54 @@ +package com.apigee.security.oas.extendedvalidator; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import java.util.Map; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; +import org.mockito.quality.Strictness; +import org.openapi4j.parser.model.v3.ServerVariable; + +public class ServerVariableTraversalTest { + + @Rule public final MockitoRule rule = MockitoJUnit.rule().strictness(Strictness.STRICT_STUBS); + + @Mock private TraversalHelperFactory traversalHelperFactory; + @Mock private ExtensionFactory extensionFactory; + @Mock private Extension extension; + @Mock private ServerVariable serverVariable; + + private ServerVariableTraversal serverVariableTraversal; + + /** Sets up live and mocked instances for testing. */ + @Before + public void setup() { + serverVariableTraversal = + new ServerVariableTraversal( + traversalHelperFactory, extensionFactory, ImmutableList.of(), serverVariable, ""); + } + + @Test + public void traverse_withExtensions_returnsGeneratedExtensions() { + when(serverVariable.getExtensions()).thenReturn(Map.of("x-serverVariable", "")); + when(extensionFactory.create(anyString(), any(JsonNode.class), any(ImmutableList.class))) + .thenReturn(extension); + + assertThat(serverVariableTraversal.traverse()).hasSize(1).containsOnlyOnce(extension); + } + + @Test + public void traverse_withoutExtensions_returnsEmptyExtensionsImmutableList() { + when(serverVariable.getExtensions()).thenReturn(Map.of()); + + assertThat(serverVariableTraversal.traverse()).isEmpty(); + } +}