Skip to content

Commit

Permalink
Fix flaky test for legacy authorization (#87642) (#88459)
Browse files Browse the repository at this point in the history
* Unskip test

* Increase attempts to 2 for retryIfConflicts

* Cleanup authorization for updateApiKey
  • Loading branch information
mikecote committed Jan 15, 2021
1 parent 94f5e4a commit 8bfeaf3
Show file tree
Hide file tree
Showing 5 changed files with 4 additions and 15 deletions.
5 changes: 1 addition & 4 deletions x-pack/plugins/alerts/server/alerts_client/alerts_client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ const createAlertsAuthorizationMock = () => {
ensureAuthorized: jest.fn(),
filterByAlertTypeAuthorization: jest.fn(),
getFindAuthorizationFilter: jest.fn(),
shouldUseLegacyAuthorization: jest.fn(),
};
return mocked;
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';

Expand Down Expand Up @@ -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;
}
Expand Down
4 changes: 1 addition & 3 deletions x-pack/plugins/alerts/server/lib/retry_if_conflicts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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];

Expand Down

0 comments on commit 8bfeaf3

Please sign in to comment.