2022-01-05 10:00:59 +01:00
|
|
|
import { ApiTokenService } from './api-token-service';
|
|
|
|
import { createTestConfig } from '../../test/config/test-config';
|
|
|
|
import { IUnleashConfig } from '../server-impl';
|
|
|
|
import { ApiTokenType } from '../types/models/api-token';
|
|
|
|
import FakeApiTokenStore from '../../test/fixtures/fake-api-token-store';
|
2022-03-24 11:26:00 +01:00
|
|
|
import FakeEnvironmentStore from '../../test/fixtures/fake-environment-store';
|
2022-01-05 10:00:59 +01:00
|
|
|
|
|
|
|
test('Should init api token', async () => {
|
|
|
|
const token = {
|
|
|
|
environment: '*',
|
|
|
|
project: '*',
|
|
|
|
secret: '*:*:some-random-string',
|
|
|
|
type: ApiTokenType.ADMIN,
|
|
|
|
username: 'admin',
|
|
|
|
};
|
|
|
|
|
|
|
|
const config: IUnleashConfig = createTestConfig({
|
|
|
|
authentication: {
|
|
|
|
initApiTokens: [token],
|
|
|
|
},
|
|
|
|
});
|
|
|
|
const apiTokenStore = new FakeApiTokenStore();
|
2022-03-24 11:26:00 +01:00
|
|
|
const environmentStore = new FakeEnvironmentStore();
|
2022-01-05 10:00:59 +01:00
|
|
|
const insertCalled = new Promise((resolve) => {
|
|
|
|
apiTokenStore.on('insert', resolve);
|
|
|
|
});
|
|
|
|
|
2022-03-24 11:26:00 +01:00
|
|
|
new ApiTokenService({ apiTokenStore, environmentStore }, config);
|
2022-01-05 10:00:59 +01:00
|
|
|
|
|
|
|
await insertCalled;
|
|
|
|
|
|
|
|
const tokens = await apiTokenStore.getAll();
|
|
|
|
|
|
|
|
expect(tokens).toHaveLength(1);
|
|
|
|
});
|