Skip to content

Commit ce0c0dc

Browse files
authored
[typescript-angular] fix: update basePath initialization to use template variable (OpenAPITools#20816)
fixes OpenAPITools#20760
1 parent ba2e505 commit ce0c0dc

File tree

21 files changed

+58
-19
lines changed

21 files changed

+58
-19
lines changed

modules/openapi-generator/src/main/resources/typescript-angular/api.base.service.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { {{configurationClassName}} } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = '{{{basePath}}}';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: {{configurationClassName}};
99
public encoder: HttpParameterCodec;

modules/openapi-generator/src/test/java/org/openapitools/codegen/typescript/typescriptangular/TypeScriptAngularClientCodegenTest.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,4 +415,28 @@ public void testNoDuplicateAuthentication() throws IOException {
415415
final String fileContents = Files.readString(Paths.get(output + "/api/default.service.ts"));
416416
assertThat(fileContents).containsOnlyOnce("localVarHeaders = this.configuration.addCredentialToHeaders('OAuth2', 'Authorization', localVarHeaders, 'Bearer ');");
417417
}
418+
419+
@Test
420+
public void testBasePath() throws IOException {
421+
// GIVEN
422+
final String specPath = "src/test/resources/3_0/typescript-angular/issue_20760.yaml";
423+
424+
File output = Files.createTempDirectory("test").toFile();
425+
output.deleteOnExit();
426+
427+
// WHEN
428+
final CodegenConfigurator configurator = new CodegenConfigurator()
429+
.setGeneratorName("typescript-angular")
430+
.setInputSpec(specPath)
431+
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
432+
433+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
434+
435+
Generator generator = new DefaultGenerator();
436+
generator.opts(clientOptInput).generate();
437+
438+
// THEN
439+
final String fileContents = Files.readString(Paths.get(output + "/api.base.service.ts"));
440+
assertThat(fileContents).containsOnlyOnce("basePath = '/relative/url'");
441+
}
418442
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
openapi: 3.0.1
2+
info:
3+
title: OpenAPI Petstore
4+
description: "sample spec"
5+
license:
6+
name: Apache-2.0
7+
url: https://www.apache.org/licenses/LICENSE-2.0.html
8+
version: 1.0.0
9+
servers:
10+
- url: /relative/url
11+
tags: []
12+
paths: {}
13+
components:
14+
schemas: {}
15+
securitySchemes: {}

samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://api.example.xyz/v1';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

samples/client/others/typescript-angular/builds/composed-schemas/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://api.example.xyz/v1';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

samples/client/petstore/typescript-angular-v12-oneOf/builds/default/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://localhost';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

samples/client/petstore/typescript-angular-v12-provided-in-any/builds/default/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://petstore.swagger.io/v2';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

samples/client/petstore/typescript-angular-v12-provided-in-root/builds/default/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://petstore.swagger.io/v2';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

samples/client/petstore/typescript-angular-v12-provided-in-root/builds/with-npm/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://petstore.swagger.io/v2';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

samples/client/petstore/typescript-angular-v13-oneOf/builds/default/api.base.service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { CustomHttpParameterCodec } from './encoder';
33
import { Configuration } from './configuration';
44

55
export class BaseService {
6-
protected basePath = '';
6+
protected basePath = 'http://localhost';
77
public defaultHeaders = new HttpHeaders();
88
public configuration: Configuration;
99
public encoder: HttpParameterCodec;

0 commit comments

Comments
 (0)