mirror of
https://github.com/Unleash/unleash.git
synced 2025-05-31 01:16:01 +02:00
chore: return 404 when adding environment to project that doesnt exist (#4635)
## About the changes Returns a 404 response instead of 500 when trying to set an environment on a project that doesn't exist
This commit is contained in:
parent
2aa63fbacd
commit
10a62642d7
@ -17,7 +17,7 @@ import {
|
||||
getStandardResponses,
|
||||
ProjectEnvironmentSchema,
|
||||
} from '../../../openapi';
|
||||
import { OpenApiService } from '../../../services';
|
||||
import { OpenApiService, ProjectService } from '../../../services';
|
||||
|
||||
const PREFIX = '/:projectId/environments';
|
||||
|
||||
@ -33,18 +33,25 @@ export default class EnvironmentsController extends Controller {
|
||||
|
||||
private openApiService: OpenApiService;
|
||||
|
||||
private projectService: ProjectService;
|
||||
|
||||
constructor(
|
||||
config: IUnleashConfig,
|
||||
{
|
||||
environmentService,
|
||||
openApiService,
|
||||
}: Pick<IUnleashServices, 'environmentService' | 'openApiService'>,
|
||||
projectService,
|
||||
}: Pick<
|
||||
IUnleashServices,
|
||||
'environmentService' | 'openApiService' | 'projectService'
|
||||
>,
|
||||
) {
|
||||
super(config);
|
||||
|
||||
this.logger = config.getLogger('admin-api/project/environments.ts');
|
||||
this.environmentService = environmentService;
|
||||
this.openApiService = openApiService;
|
||||
this.projectService = projectService;
|
||||
|
||||
this.route({
|
||||
method: 'post',
|
||||
@ -126,6 +133,7 @@ export default class EnvironmentsController extends Controller {
|
||||
): Promise<void> {
|
||||
const { projectId } = req.params;
|
||||
const { environment } = req.body;
|
||||
await this.projectService.getProject(projectId); // Validates that the project exists
|
||||
|
||||
await this.environmentService.addEnvironmentToProject(
|
||||
environment,
|
||||
|
@ -159,3 +159,12 @@ test('Should throw an error if you try to set defaultStrategy other than flexibl
|
||||
})
|
||||
.expect(400);
|
||||
});
|
||||
|
||||
test('Add environment to project should return 404 when given a projectid that does not exist', async () => {
|
||||
await app.request
|
||||
.post(`/api/admin/projects/unknown/environments`)
|
||||
.send({
|
||||
environment: 'default',
|
||||
})
|
||||
.expect(404);
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user