UNPKG

@openapi-generator-plus/java-cxf-cdi-server-generator

Version:
77 lines (67 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.apiTest = apiTest; const template_utils_1 = require("@openapi-generator-plus/template-utils"); const java_jaxrs_generator_common_1 = require("@openapi-generator-plus/java-jaxrs-generator-common"); const java_jaxrs_server_generator_1 = require("@openapi-generator-plus/java-jaxrs-server-generator"); /** One operation's placeholder test method, its request commented out until the caller fills in real values. */ function operationTest(operation, ctx) { const { arguments: args } = (0, java_jaxrs_generator_common_1.operationVars)(operation, { jaxrs: false, service: false }, java_jaxrs_server_generator_1.bodyParam, ctx); const name = (0, template_utils_1.identifier)(ctx.generatorContext.generator(), operation.name); const returnNativeType = operation.returnNativeType; const returnAssertion = returnNativeType ? (0, template_utils_1.ts) ` // ${returnNativeType} result = response.readEntity(${returnNativeType.literalType}.class); // Assertions.assertNotNull(result);` : template_utils_1.SKIP; return (0, template_utils_1.ts) ` @Test public void ${name}Test() { // Response response = this.api.${name}(${args}); // Assertions.assertNotNull(response); ${returnAssertion} } `; } /** This generator's empty-bodied API test class for `group`, wired up to run over CXF's local transport under Weld. */ function apiTest(group, ctx) { var _a, _b, _c; const generator = ctx.generatorContext.generator(); const name = (0, template_utils_1.className)(generator, group.name); const root = ctx.root; const jx = (0, java_jaxrs_generator_common_1.javax)(root.useJakarta); const operationsText = (0, template_utils_1.each)(group.operations, operation => operationTest(operation, ctx), ''); return (0, template_utils_1.ts) ` package ${root.apiPackage}; import java.util.ArrayList; import ${jx}.ws.rs.core.Response; import org.apache.cxf.jaxrs.client.JAXRSClientFactory; import org.apache.cxf.jaxrs.client.WebClient; import org.apache.cxf.transport.local.LocalConduit; import org.jboss.weld.junit5.EnableWeld; import org.jboss.weld.junit5.WeldInitiator; import org.jboss.weld.junit5.WeldSetup; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; @TestInstance(Lifecycle.PER_CLASS) @EnableWeld public class ${name}ApiTest { @WeldSetup private WeldInitiator weld = WeldInitiator.from(WeldInitiator.createWeld() .addPackages(${root.apiImplPackage}.${name}ApiImpl.class, ${(_a = root.apiServiceImplPackage) !== null && _a !== void 0 ? _a : ''}.${name}ApiServiceImpl.class) .addBeanClasses(${(_b = root.invokerPackage) !== null && _b !== void 0 ? _b : ''}.${(_c = root.invokerName) !== null && _c !== void 0 ? _c : ''}.class) .addBeanClasses(TestConfiguration.class) .addExtension(new org.apache.cxf.cdi.JAXRSCdiResourceExtension())) .build(); private ${root.apiPackage}.${name}Api api; @BeforeAll public void setup() throws Exception { api = JAXRSClientFactory.create(TestConfiguration.ENDPOINT_ADDRESS, ${root.apiPackage}.${name}Api.class, TestConfiguration.defaultProviders()); WebClient.getConfig(api).getRequestContext().put(LocalConduit.DIRECT_DISPATCH, Boolean.TRUE); } ${operationsText}} `; }