X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Fsal-rest-docgen%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frest%2Fdoc%2Fimpl%2FApiDocGeneratorDraftO2Test.java;h=77a3583d3fd95728466612eb8d3edc2156f5b03e;hb=4e117e0cce9f9ac1b53ace1d9659412dddc1afa2;hp=75f2ad92e4247fbdec38535e422ee5bb7ff99216;hpb=47bb31c381d6461cce05a2f7b8cd8c08061e3790;p=netconf.git diff --git a/restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java b/restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java index 75f2ad92e4..77a3583d3f 100644 --- a/restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java +++ b/restconf/sal-rest-docgen/src/test/java/org/opendaylight/controller/sal/rest/doc/impl/ApiDocGeneratorDraftO2Test.java @@ -14,70 +14,53 @@ import static org.junit.Assert.assertTrue; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; -import java.util.ArrayList; -import java.util.Arrays; +import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.Optional; -import org.junit.Before; import org.junit.Test; import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocGeneratorDraftO2; import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl; import org.opendaylight.netconf.sal.rest.doc.impl.ApiDocServiceImpl.URIType; import org.opendaylight.netconf.sal.rest.doc.swagger.SwaggerObject; import org.opendaylight.yangtools.yang.common.Revision; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; -public final class ApiDocGeneratorDraftO2Test { +public final class ApiDocGeneratorDraftO2Test extends AbstractApiDocTest { private static final String NAME = "toaster2"; private static final String REVISION_DATE = "2009-11-20"; private static final String NAME_2 = "toaster"; private static final String REVISION_DATE_2 = "2009-11-20"; - private EffectiveModelContext context; - private ApiDocGeneratorDraftO2 generator; - - @Before - public void setUp() { - context = YangParserTestUtils.parseYangResourceDirectory("/yang"); - generator = new ApiDocGeneratorDraftO2(DocGenTestHelper.createMockSchemaService(context)); - } + private final ApiDocGeneratorDraftO2 generator = new ApiDocGeneratorDraftO2(SCHEMA_SERVICE); /** * Test that paths are generated according to the model. */ @Test public void testPaths() { - final List expectedPaths = Arrays.asList("/restconf/config", - "/restconf/config/toaster2:toaster", - "/restconf/config/toaster2:toaster/toasterSlot/{slotId}", - "/restconf/config/toaster2:toaster/toasterSlot/{slotId}/toaster-augmented:slotInfo", - "/restconf/operational/toaster2:toaster", - "/restconf/operational/toaster2:toaster/toasterSlot/{slotId}", - "/restconf/operational/toaster2:toaster/toasterSlot/{slotId}/toaster-augmented:slotInfo", - "/restconf/config/toaster2:lst", - "/restconf/config/toaster2:lst/cont1", - "/restconf/config/toaster2:lst/cont1/cont11", - "/restconf/config/toaster2:lst/cont1/lst11", - "/restconf/config/toaster2:lst/lst1/{key1}/{key2}", - "/restconf/operational/toaster2:lst", - "/restconf/operational/toaster2:lst/cont1", - "/restconf/operational/toaster2:lst/cont1/cont11", - "/restconf/operational/toaster2:lst/cont1/lst11", - "/restconf/operational/toaster2:lst/lst1/{key1}/{key2}", - "/restconf/operations/toaster2:make-toast", - "/restconf/operations/toaster2:cancel-toast", - "/restconf/operations/toaster2:restock-toaster"); - - final Optional module = context.findModule(NAME, Revision.of(REVISION_DATE)); - assertTrue("Desired module not found", module.isPresent()); - final SwaggerObject doc = generator.getSwaggerDocSpec(module.get(), "http","localhost:8181", - "/", "", context, URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); - final List actualPaths = new ArrayList<>(); - doc.getPaths().fieldNames().forEachRemaining(actualPaths::add); - - assertEquals(expectedPaths, actualPaths); + final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow(); + final var doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT, URIType.DRAFT02, + ApiDocServiceImpl.OAversion.V2_0); + + assertEquals(List.of("/restconf/config", + "/restconf/config/toaster2:toaster", + "/restconf/config/toaster2:toaster/toasterSlot/{slotId}", + "/restconf/config/toaster2:toaster/toasterSlot/{slotId}/toaster-augmented:slotInfo", + "/restconf/operational/toaster2:toaster", + "/restconf/operational/toaster2:toaster/toasterSlot/{slotId}", + "/restconf/operational/toaster2:toaster/toasterSlot/{slotId}/toaster-augmented:slotInfo", + "/restconf/config/toaster2:lst", + "/restconf/config/toaster2:lst/cont1", + "/restconf/config/toaster2:lst/cont1/cont11", + "/restconf/config/toaster2:lst/cont1/lst11", + "/restconf/config/toaster2:lst/lst1/{key1}/{key2}", + "/restconf/operational/toaster2:lst", + "/restconf/operational/toaster2:lst/cont1", + "/restconf/operational/toaster2:lst/cont1/cont11", + "/restconf/operational/toaster2:lst/cont1/lst11", + "/restconf/operational/toaster2:lst/lst1/{key1}/{key2}", + "/restconf/operations/toaster2:make-toast", + "/restconf/operations/toaster2:cancel-toast", + "/restconf/operations/toaster2:restock-toaster"), + ImmutableList.copyOf(doc.getPaths().fieldNames())); } /** @@ -85,16 +68,15 @@ public final class ApiDocGeneratorDraftO2Test { */ @Test public void testConfigPaths() { - final List configPaths = Arrays.asList("/restconf/config/toaster2:lst", - "/restconf/config/toaster2:lst/cont1", - "/restconf/config/toaster2:lst/cont1/cont11", - "/restconf/config/toaster2:lst/cont1/lst11", - "/restconf/config/toaster2:lst/lst1/{key1}/{key2}"); + final List configPaths = List.of("/restconf/config/toaster2:lst", + "/restconf/config/toaster2:lst/cont1", + "/restconf/config/toaster2:lst/cont1/cont11", + "/restconf/config/toaster2:lst/cont1/lst11", + "/restconf/config/toaster2:lst/lst1/{key1}/{key2}"); - final Optional module = context.findModule(NAME, Revision.of(REVISION_DATE)); - assertTrue("Desired module not found", module.isPresent()); - final SwaggerObject doc = generator.getSwaggerDocSpec(module.get(), "http","localhost:8181", - "/", "", context, URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); + final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow(); + final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT, + URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); for (final String path : configPaths) { final JsonNode node = doc.getPaths().get(path); @@ -110,59 +92,49 @@ public final class ApiDocGeneratorDraftO2Test { */ @Test public void testDefinitions() { - final Optional module = context.findModule(NAME, Revision.of(REVISION_DATE)); - assertTrue("Desired module not found", module.isPresent()); - final SwaggerObject doc = generator.getSwaggerDocSpec(module.get(), "http","localhost:8181", - "/", "", context, URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); + final var module = CONTEXT.findModule(NAME, Revision.of(REVISION_DATE)).orElseThrow(); + final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT, + URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); final ObjectNode definitions = doc.getDefinitions(); assertNotNull(definitions); final JsonNode configLstTop = definitions.get("toaster2_config_lst_TOP"); assertNotNull(configLstTop); - DocGenTestHelper.containsReferences(configLstTop, - "lst", "#/definitions/toaster2_config_lst"); + DocGenTestHelper.containsReferences(configLstTop, "lst", "#/definitions/toaster2_config_lst"); final JsonNode configLst = definitions.get("toaster2_config_lst"); assertNotNull(configLst); - DocGenTestHelper.containsReferences(configLst, - "lst1", "#/definitions/toaster2_lst_config_lst1"); - DocGenTestHelper.containsReferences(configLst, - "cont1", "#/definitions/toaster2_lst_config_cont1"); + DocGenTestHelper.containsReferences(configLst, "lst1", "#/definitions/toaster2_lst_config_lst1"); + DocGenTestHelper.containsReferences(configLst, "cont1", "#/definitions/toaster2_lst_config_cont1"); final JsonNode configLst1Top = definitions.get("toaster2_lst_config_lst1_TOP"); assertNotNull(configLst1Top); - DocGenTestHelper.containsReferences(configLst1Top, - "lst1", "#/definitions/toaster2_lst_config_lst1"); + DocGenTestHelper.containsReferences(configLst1Top, "lst1", "#/definitions/toaster2_lst_config_lst1"); final JsonNode configLst1 = definitions.get("toaster2_lst_config_lst1"); assertNotNull(configLst1); final JsonNode configCont1Top = definitions.get("toaster2_lst_config_cont1_TOP"); assertNotNull(configCont1Top); - DocGenTestHelper.containsReferences(configCont1Top, - "cont1", "#/definitions/toaster2_lst_config_cont1"); + DocGenTestHelper.containsReferences(configCont1Top, "cont1", "#/definitions/toaster2_lst_config_cont1"); final JsonNode configCont1 = definitions.get("toaster2_lst_config_cont1"); assertNotNull(configCont1); - DocGenTestHelper.containsReferences(configCont1, - "cont11", "#/definitions/toaster2_lst_cont1_config_cont11"); - DocGenTestHelper.containsReferences(configCont1, - - "lst11", "#/definitions/toaster2_lst_cont1_config_lst11"); + DocGenTestHelper.containsReferences(configCont1, "cont11", "#/definitions/toaster2_lst_cont1_config_cont11"); + DocGenTestHelper.containsReferences(configCont1, "lst11", "#/definitions/toaster2_lst_cont1_config_lst11"); final JsonNode configCont11Top = definitions.get("toaster2_lst_cont1_config_cont11_TOP"); assertNotNull(configCont11Top); DocGenTestHelper.containsReferences(configCont11Top, - "cont11", "#/definitions/toaster2_lst_cont1_config_cont11"); + "cont11", "#/definitions/toaster2_lst_cont1_config_cont11"); final JsonNode configCont11 = definitions.get("toaster2_lst_cont1_config_cont11"); assertNotNull(configCont11); final JsonNode configLst11Top = definitions.get("toaster2_lst_cont1_config_lst11_TOP"); assertNotNull(configLst11Top); - DocGenTestHelper.containsReferences(configLst11Top, - "lst11", "#/definitions/toaster2_lst_cont1_config_lst11"); + DocGenTestHelper.containsReferences(configLst11Top, "lst11", "#/definitions/toaster2_lst_cont1_config_lst11"); final JsonNode configLst11 = definitions.get("toaster2_lst_cont1_config_lst11"); assertNotNull(configLst11); @@ -173,10 +145,9 @@ public final class ApiDocGeneratorDraftO2Test { */ @Test public void testRPC() { - final Optional module = context.findModule(NAME_2, Revision.of(REVISION_DATE_2)); - assertTrue("Desired module not found", module.isPresent()); - final SwaggerObject doc = generator.getSwaggerDocSpec(module.get(), "http","localhost:8181", - "/", "", context, URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); + final var module = CONTEXT.findModule(NAME_2, Revision.of(REVISION_DATE_2)).orElseThrow(); + final SwaggerObject doc = generator.getSwaggerDocSpec(module, "http", "localhost:8181", "/", "", CONTEXT, + URIType.DRAFT02, ApiDocServiceImpl.OAversion.V2_0); assertNotNull(doc); final ObjectNode definitions = doc.getDefinitions();