feat: Implement saml auth providers API endpoint

This commit is contained in:
Faruk AYDIN
2024-03-14 10:26:26 +01:00
parent b1e2e370c8
commit 68c5a3dca7
12 changed files with 139 additions and 22 deletions

View File

@@ -6,5 +6,7 @@ export default async (request, response) => {
.findById(request.params.samlAuthProviderId)
.throwIfNotFound();
renderObject(response, samlAuthProvider);
renderObject(response, samlAuthProvider, {
serializer: 'AdminSamlAuthProvider',
});
};

View File

@@ -7,5 +7,7 @@ export default async (request, response) => {
'desc'
);
renderObject(response, samlAuthProviders);
renderObject(response, samlAuthProviders, {
serializer: 'AdminSamlAuthProvider',
});
};

View File

@@ -0,0 +1,12 @@
import { renderObject } from '../../../../helpers/renderer.js';
import SamlAuthProvider from '../../../../models/saml-auth-provider.ee.js';
export default async (request, response) => {
const samlAuthProviders = await SamlAuthProvider.query()
.where({
active: true,
})
.orderBy('created_at', 'desc');
renderObject(response, samlAuthProviders);
};

View File

@@ -0,0 +1,30 @@
import { vi, describe, it, expect, beforeEach } from 'vitest';
import request from 'supertest';
import app from '../../../../app.js';
import { createSamlAuthProvider } from '../../../../../test/factories/saml-auth-provider.ee.js';
import getSamlAuthProvidersMock from '../../../../../test/mocks/rest/api/v1/saml-auth-providers/get-saml-auth-providers.js';
import * as license from '../../../../helpers/license.ee.js';
describe('GET /api/v1/saml-auth-providers', () => {
let samlAuthProviderOne, samlAuthProviderTwo;
beforeEach(async () => {
samlAuthProviderOne = await createSamlAuthProvider();
samlAuthProviderTwo = await createSamlAuthProvider();
});
it('should return saml auth providers', async () => {
vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true);
const response = await request(app)
.get('/api/v1/saml-auth-providers')
.expect(200);
const expectedPayload = await getSamlAuthProvidersMock([
samlAuthProviderTwo,
samlAuthProviderOne,
]);
expect(response.body).toEqual(expectedPayload);
});
});