Fix flaky test for legacy authorization (#87642)

* Unskip test

* Increase attempts to 2 for retryIfConflicts

* Cleanup authorization for updateApiKey
This commit is contained in:
Mike Côté 2021-01-15 08:13:15 -05:00 committed by GitHub
parent 686ece9aea
commit a0b787c39a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 4 additions and 15 deletions

View file

@ -817,10 +817,7 @@ export class AlertsClient {
attributes.consumer,
WriteOperations.UpdateApiKey
);
if (
attributes.actions.length &&
!this.authorization.shouldUseLegacyAuthorization(attributes)
) {
if (attributes.actions.length) {
await this.actionsAuthorization.ensureAuthorized('execute');
}
} catch (error) {

View file

@ -14,7 +14,6 @@ const createAlertsAuthorizationMock = () => {
ensureAuthorized: jest.fn(),
filterByAlertTypeAuthorization: jest.fn(),
getFindAuthorizationFilter: jest.fn(),
shouldUseLegacyAuthorization: jest.fn(),
};
return mocked;
};

View file

@ -8,13 +8,12 @@ import Boom from '@hapi/boom';
import { map, mapValues, fromPairs, has } from 'lodash';
import { KibanaRequest } from 'src/core/server';
import { ALERTS_FEATURE_ID } from '../../common';
import { AlertTypeRegistry, RawAlert } from '../types';
import { AlertTypeRegistry } from '../types';
import { SecurityPluginSetup } from '../../../security/server';
import { RegistryAlertType } from '../alert_type_registry';
import { PluginStartContract as FeaturesPluginStart } from '../../../features/server';
import { AlertsAuthorizationAuditLogger, ScopeType } from './audit_logger';
import { Space } from '../../../spaces/server';
import { LEGACY_LAST_MODIFIED_VERSION } from '../saved_objects/migrations';
import { asFiltersByAlertTypeAndConsumer } from './alerts_authorization_kuery';
import { KueryNode } from '../../../../../src/plugins/data/server';
@ -112,10 +111,6 @@ export class AlertsAuthorization {
);
}
public shouldUseLegacyAuthorization(alert: RawAlert): boolean {
return alert.meta?.versionApiKeyLastmodified === LEGACY_LAST_MODIFIED_VERSION;
}
private shouldCheckAuthorization(): boolean {
return this.authorization?.mode?.useRbacForRequest(this.request) ?? false;
}

View file

@ -15,9 +15,7 @@ import { Logger, SavedObjectsErrorHelpers } from '../../../../../src/core/server
type RetryableForConflicts<T> = () => Promise<T>;
// number of times to retry when conflicts occur
// note: it seems unlikely that we'd need more than one retry, but leaving
// this statically configurable in case we DO need > 1
export const RetryForConflictsAttempts = 1;
export const RetryForConflictsAttempts = 2;
// milliseconds to wait before retrying when conflicts occur
// note: we considered making this random, to help avoid a stampede, but

View file

@ -62,7 +62,7 @@ export default function alertTests({ getService }: FtrProviderContext) {
});
});
it.skip('should schedule actions on legacy alerts', async () => {
it('should schedule actions on legacy alerts', async () => {
const reference = `alert:migrated-to-7.10:${user.username}`;
const migratedAlertId = MIGRATED_ALERT_ID[user.username];